extern(C++, ns)

Marc Schütz via Digitalmars-d digitalmars-d at puremagic.com
Thu Jan 7 06:03:25 PST 2016


On Wednesday, 6 January 2016 at 17:55:01 UTC, Walter Bright wrote:
> Found and fixed another fwd ref problem with circular imports:
>
>   https://github.com/D-Programming-Language/dmd/pull/5333
>
> This one had nothing to do with C++ namespaces; it showed up 
> for structs and classes, too. This implies that the current 
> design is sound, and a redesign is not necessarily desirable.

By reading Manu's post, I was under the impression that it was 
actually impossible to use the C++ symbol _without_ the full 
namespace path, like with static imports. I should have checked 
this, because it turns out this isn't true at all. I agree then 
that the current design is mostly ok, especially with your bug 
fixes.

But there remains the issue of using D keywords in C++ 
namespaces. Maybe there could be a variant `extern(C++, 
"ns1.ns2.as.string")`, that doesn't create symbols and affects 
mangling only?


More information about the Digitalmars-d mailing list