Michel Fortin:
Here's a suggestion:@namespace A.B { // can create two levels at once, yeah! void foo(); void bar(); } @namespace C { void foo(); }Make those C++ declarations, it does not look too foreign anymore:extern (C++) @namespace A.B { void foo(); void bar(); } extern (C++) @namespace C { void foo(); }
I suggest to keep the access to C++ namespaces as a feature for interoperability only, and to have no namespaces in D.
Bye, bearophile