On Monday, 18 January 2016 at 22:26:56 UTC, Walter Bright wrote:
at least for 64 bit Linux. Other platforms to follow.


This is what Andrei and I call "enabling" technology, as it opens the door for many more uses of D, in this case better interoperability with existing C++ codebases.

Thanks to everyone who helped out with this, especially Elie, Iain, David and Andrei!

Also looking forward to getting this in GDC and LDC!

Andrei and I feel that better interoperability with C++ is a major strategic feature and advantage for D. As the recent thread with Manu's frustrations in doing it show, we still have a significant way to go. But I hope to push it forward hard in the next few months.

For the fearless who love working under the hood, extending the support to the rest of the platforms is a great way to materially contribute.

This is a good start and we should continue this work.
We need review our documentation about interfacing to C++ and clearly delineate the limits of our features.

For example we should say how do we may write D binding of C++ class. How do we may inherit D-defined C++ class from external C++ class/interface?
When can we pass object of inherited class back to C++ code?
How do we may cast one extern(C++) class to another extern(C++) class in D?
In C++?
Which C++ features we support for different ABIs?

Also, I think, we need to implement linking to some C++ features (I'll help with this when I finish my alias this duty): Linking to C++ overloaded operators (without moving their semantic to D).
C++ ctors/dtors.
Dynamic casting of C++ objects in D.
Maybe partial C++ RTTI support.

Reply via email to