On 8/21/2014 11:54 AM, Jonathan M Davis wrote:
LOL. Yeah, well, it would be ni going to support C+ce if we could get an actual
list of the C++ features that D currently supports somewhere (and how to use
them if it's not obvious). You've been doing so much great work on that that I
have no clue what the current state of things is. For instance, this is the
first I've heard of anything about template support; I'd thought that we were
never going to support templates. Is it just for name mangling or for actually
The thing is, while the code was there, there wasn't a single test case for it
in the test suite. Furthermore, at least for Elf, there was no support for the
special mangling done for ::std:: stuff.
The thing is, modern C++ practice makes heavy use of std types. Having an
interface to C++ code is fairly unusable unless D can also interface to
std::string, std::vector, and a few others.
The first step is to support the mangling of them. Then, try to construct a
"workalike" on the D side that follows D rules, and yet is able to seamlessly
interact with the corresponding C++ code.
We'll see how far we can get with that, and then evaluate what to do next.
There are no plans for actually compiling C++ code with a D compiler. The plan
is for support like we do for C - have a .d "header" file for it.