Calling C++ constructors -- looking for feedback on my approach

You mean importing, for example, the C++ constructor

ConstructorWithParam::ConstructorWithParam(int);

as

@convention(c) (Int32, @thin ConstructorWithParam.Type) -> @out ConstructorWithParam

?

This is, in fact, exactly what I'm doing (see this SIL test). In SignatureExpansion, the formal indirect result then gets lowered to a this parameter.

Correct. I think until we start deriving from C++ objects in Swift, this should be fine.

@John_McCall This is now ready for review:

Would you be willing to review? Alternatively, any suggestions for who should review this?