Idea: Extern C++ Classes

Craig Black craigblack2 at cox.net
Mon Mar 31 21:47:10 PDT 2008


The C++ compatibility provided in D 2.0 is a huge step forward.  However, if 
my understanding is correct, the biggest limitation with it is that D's 
classes are not ABI compatible with C++ classes.  This means that non-static 
member functions can't be called between D and C++.

To remedy this issue, I propose that we allow extern C++ declarations on 
classes.  This would mean that the class behaves like a C++ class (doesn't 
inherit Object, no GC by default, only polymorphic if it contains virtual 
functions, etc.)

I realize this may require a moderate amount of Walter's time.  I therefore 
would propose this as perhaps a D 3.0 feature.

What issues would arise that I am forgetting to address?  Does anyone have a 
better solution for this?

-Craig 




More information about the Digitalmars-d mailing list