On Fri., 27 Jul. 2018, 3:55 pm Walter Bright via Digitalmars-d, <digitalmars-d@puremagic.com> wrote:
Namespaces are a botch in C++, and it is understandable that C++ code bases
naturally have grown willy-nilly to utterly ignore any encapsulation principles.

Correct. And D has modules. Solved.

Literally nobody has ever wanted to use a C++ namespaces as a means of encapsulation in D. We *just* want to mangle our symbol name. We want to keep our code organised consistently with all other D code.

Please, please, please... Please, please please please please please PLEASE support extern(C++, "string_ns") as a mangle-only variant.

Current behaviour can coexist, but let us have a way to express a mangling request without changing the organisation of our D code.

I suggest accepting string, since that will allow us to also access C++ namespaces that conflict with D keywords.