<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 13, 2018, 07:06 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 Tue, 11 Sep 2018 at 20:59, 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>
><br>
><br>
> So my understanding is that the main issue with extern(C++,"ns") is functions that have different C++ name-spaces overriding each other in unexpected ways.<br>
> How feasible is to simply disallow functions/variables/objects/... with the same name but a different "ns" being in the same module?<br>
<br>
That's natural behaviour. You can't declare the same symbol twice in<br>
the same scope.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Sorry I meant in the instance where a function has the same name but a different signature and the wrong function might be called because of implicit promotion of a variable. </div><div dir="auto"><br></div><div dir="auto">How feasible is it to have the compiler simply disallow this and force you to put such functions in different d modules?</div><div dir="auto"><br></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>