<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 14, 2018, 08:47 Manu via Digitalmars-d <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 13 Sep 2018 at 04:46, Danni Coy via Digitalmars-d<br>
<<a href="mailto:digitalmars-d@puremagic.com" target="_blank" rel="noreferrer">digitalmars-d@puremagic.com</a>> wrote:<br>
><br>
> On Thu, Sep 13, 2018 at 5:14 PM Jonathan M Davis via Digitalmars-d <<a href="mailto:digitalmars-d@puremagic.com" target="_blank" rel="noreferrer">digitalmars-d@puremagic.com</a>> wrote:<br>
>><br>
>> The entire point of having extern(C++, "NS") would be to make it so that the<br>
>> _only_ thing that it would affect would be the name mangling. Everything<br>
>> else is exactly the same behavior as it would be if you had the same<br>
>> functions as extern(D). It would be up to the programmer to organize them<br>
>> exactly like it is with pure D code. If you think that putting two functions<br>
>> in the same module is too risky, then you can put them in separate modules,<br>
>> but it certainly isn't going to be forced on you unless they actually<br>
>> conflict. The fact that functions are extern(C++) would have no impact on<br>
>> that whatsoever.<br>
><br>
> Yeah I get all this. It just seems to me that the downsides of extern(C++,"ns") from Walter's point of view could be handled by the compiler at the cost of a bit of flexibility.<br>
<br>
What are the 'downsides' you refer to? And what 'flexibility' is lost?<br>
The whole point is to gain flexibility. There's definitely no loss of<br>
flexibility on the table here ;)<br>
<br>
> I would like to know how difficult that would be to do and whether that would be more acceptable to Walter than what is being being proposed.<br>
<br>
You'll need to elaborate. What is being proposed is the simplest<br>
possible, most plainly obvious,<br>
let's-not-introduce-unwieldy-edge-cases solution.<br>
<br>
Walters named scope should be an unrelated and parallel feature if he<br>
really wants it.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">You are suggesting extern(c++,"ns") be a parallel feature to extern(c++,ns). I am asking how difficult technically would it be to have your syntax replace Walters but have the compiler check for the situations where a function from one C++ namespace might shadow one in a different namespace and emit either a warning or an error.</div><div dir="auto"><br></div><div dir="auto">Honestly I just want to know if going that path will have more or less friction from Walter.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>