<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Fri., 27 Jul. 2018, 3:55 pm Walter Bright via Digitalmars-d, <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Namespaces are a botch in C++, and it is understandable that C++ code bases <br>
naturally have grown willy-nilly to utterly ignore any encapsulation principles.</blockquote></div></div><div dir="auto"><br></div><div dir="auto">Correct. And D has modules. Solved.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">Please, please, please... Please, please please please please please PLEASE support extern(C++, "string_ns") as a mangle-only variant.</div><div dir="auto"><br></div><div dir="auto">Current behaviour can coexist, but let us have a way to express a mangling request without changing the organisation of our D code.</div><div dir="auto"><br></div><div dir="auto">I suggest accepting string, since that will allow us to also access C++ namespaces that conflict with D keywords.</div><div dir="auto"></div></div>