Two C++ Interop Updates

(Disclamer: C++ interop is an expirmental project, Swift doesn't support any C++ interop features right now.)

C++ Interop has made some great progress over the past few months and I wanted to call out two particular initiatives that have just wrapped up:

Importing Foundation: @plotfi and others have been working hard to improve the stability of interop and fix bugs. We are now on-par with Objective-C interop when importing Foundation and other libraries. This isn't the kind of "feature work" that's usually called out, but it is incredibly important, and gets us even closer to something that can be used by developers.

Importing Operators: @adlere has completely re-implemented how we import operators. In doing this, he was able to remove a lot of work-arounds and special cases for operators, making our implementation much more stable and resilient. This also allows us to remove hundreds of lines of brittle code, have feature parity on all platforms, and support more compelx operator use cases.

Thank you Puyan, Ehud, and others! Looking forward to even more great work!

28 Likes

I need to give a shoutout to @bulbazord and @drodriguez for helping out with this effort greatly! Also special thanks to @beccadax @Alex_L and @zoecarver for lots of help and guidance on getting here too.

This has been a really great milestone.

The latest diff between ObjC-only interop and C++-Interop can be found at https://github.dev/plotfi/cxx-interop-diff/pull/4 for anyone who is interested in seeing how things are shaping up BTW.

Thanks for posting this @zoecarver! :slight_smile:

7 Likes