D is now catching C++ exceptions!

IgorStepanov via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jan 21 14:41:14 PST 2016


On Monday, 18 January 2016 at 22:26:56 UTC, Walter Bright wrote:
> at least for 64 bit Linux. Other platforms to follow.
>
>   https://github.com/D-Programming-Language/dmd/pull/5342
>
> 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.


More information about the Digitalmars-d-announce mailing list