DIP61: redone to do extern(C++,N) syntax

Steven Schveighoffer via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 28 07:45:14 PDT 2014


On Mon, 28 Apr 2014 10:37:36 -0400, Byron <byron.heads at gmail.com> wrote:

>
> why not  import _cpp = bar;   ?

That doesn't help. foo.func() is still ambiguous. With this proposal, you  
have hijacked the meaning of namespace lookup. When I say x.y.z, it  
doesn't just mean look for symbol z in module x/y.d, it can also mean to  
look for symbol z in C++ namespace x::y. This was not the case with C  
binding, which continued to use D modules for symbol lookup.

Consider that a boatload of C++ code is named std::something. Now,  
std.string has an ambiguous meaning wherever it is used!

-Steve


More information about the Digitalmars-d mailing list