I've been looking into c++ interop. It is mostly just straightforward bug fixes right now as I'm following the plan laid out by @Douglas_Gregor and @John_McCall here C++ / Objective-C++ Interop but I foresee that there will be some design questions related to this space that will need discussion.
I have some meta-questions about proceeding with work on this feature:
- Are there any similar features that I could draw inspiration on when engaging in design discussions?
- How should I proceed towards writing a manifesto?
- Should the individual features be discussed independently, or as part of one long design discussion?
Here is an example of the early stage design questions that will need discussion:
- c++ types imported as swift type objects contain c++ namespaces as their decl context; how should I mangle the namespace into this generated __C.TypeName? These are accessible via
usingstatements that import into the global namespace.
Some slightly later design questions:
- Should names in namespaces be exposed as
`namespace_name::name`or import a namespace object that you can then member lookup.