extern(C++, ns) is wrong

Nicholas Wilson iamthewilsonator at hotmail.com
Thu Sep 6 01:44:47 UTC 2018


On Wednesday, 5 September 2018 at 13:53:15 UTC, Jonathan M Davis 
wrote:

Very well said, thanks.

> Based on everything Walter said in the previous thread, it 
> honestly seems to me to be primarily like he just can't give up 
> on the idea that D has to worry about modeling C++ namespaces.

That is the conclusion I came to as well.

> What Walter did makes perfect sense if you assume that D needs 
> to care about namespaces when using the C++ symbol in D, but 
> the conclusion of the rest of us when looking at the problem 
> has been that D really doesn't need to care about the 
> namespaces beyond mangling, because D modules already solve the 
> problem.

I think this is the key insight, everything else follows from 
this.

> But regardless, I'm with you and Manu at this point in that I 
> don't understand why extern(C++, "Namespace") isn't a clearly 
> better (and simpler) solution overall. But maybe we'll get 
> lucky and after Walter has thought about it long enough, he'll 
> come around. Either way, per the current process, we would 
> clearly need a DIP even if Walter already agreed. So, the next 
> step is to write a DIP, and hopefully it can be written well 
> enough that it's appropriately convincing unlike everything 
> that has been argued thus far.

Indeed, It is a pity the DIP pipeline is so full.

Manu, what timeline do you ideally need this by? and do you have 
an implementation? Putting it into LDC is probably going to be 
the fastest given there are 3 high impact DIPs in the queue 
already + however long takes to get this trough and then 
implemented.



More information about the Digitalmars-d mailing list