So what exactly is coming with extended C++ support?

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Tue Oct 14 15:27:35 PDT 2014


On 9/29/2014 3:00 AM, Szymon Gatner wrote:
> Hi,
>
> recently there is much talk about extending C++ interop in D but it is unclear
> to me what that means. Functions and virtual class methods are already callable.
> What else is planned in the near future? Exceptions? Support for C++ templates?
> (that seems difficult no?).

Currently, D supports C++:

* function calling
* name mangling
* namespaces
* templates
* member functions
* single inheritance
* basic types that exist in C++ but not D (like 'long')

Note that there are no plans to support C++ semantics - the D side will support 
only D semantic rules. SFINAE, Koenig lookup, etc., have no place in D.

C++ interop will require the user to be flexible on both the C++ and D side, and 
bluntly will require strong knowledge of D and C++ and how they work under the 
hood to be successful with it.

Probably the most tricky thing we're working on is interop with C++ exceptions.

Essentially, we're going to see how far we can push interop.



More information about the Digitalmars-d mailing list