extern(C++, ns)

Manu via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 20 15:56:46 PST 2016


On 21 January 2016 at 08:15, Walter Bright via Digitalmars-d
<digitalmars-d at puremagic.com> 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.



More information about the Digitalmars-d mailing list