On 21 January 2016 at 08:15, Walter Bright via Digitalmars-d <[email protected]> wrote: > On 1/20/2016 8:38 AM, Marc Schütz wrote: >> >> IMO his description was already quite clear, but here you are: > > > What's missing is why this is a *serious* problem. All you've got to do is > add a qualifier.
It's 'serious' in that my cases are very highly likely; almost guaranteed to occur, indeed they occurred within minutes of my test-driving this feature. The design has a very high probability of inhibiting usability, and I can't imagine a real-world situation where it improves usability. I've tried to demonstrate some practical and very likely occurring cases which show that the design isn't correct; I have hit all of them. I just want to opt-out. I don't want to hear about workarounds... I don't want to explain the various workarounds to other people when they encounter these problems that there's no reason for them to encounter in the first place. I don't want name conflict resolution to behave in a special way because the .lib file happened to be compiled by a C++ compiler. I just want to tell the name mangler the C++ namespace, and let me get back to writing D code. Every single problem I've had with extern(C++, ns), and continue to have, is solved by not emitting a namespace scope, and I can't imagine a case where it will help me. Seriously, I'm not exaggerating here. The design does not carry its weight.
