extern(C++, ns)

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 12 22:51:40 PST 2016


On 1/12/2016 8:46 PM, Manu via Digitalmars-d wrote:
> Of course that's an error, declaring 2 symbols with the same name at
> the top level of the same module is obviously an error. No D coder
> would expect otherwise.
> There's no realistic scenario that could lead to that case; why would
> you have an extern(C++) symbol in some module and also want to put a D
> symbol with the same name in the same place?

If you like:

     extern (C++) {
         int a;
         extern (C++,ns) {
             int a;
         }
     }

The whole point of scoped names is to be able to do this.

Also, I would expect to be able to access "ns.a" with the syntax "ns.a", meaning 
ns has to be a scope.


 > Of course, it would save a lot of effort if you agreed that the design
is wrong, and none of us need to do anything further.

I regard it as crucial to determine the cause of your problems before assuming 
it is the design.


More information about the Digitalmars-d mailing list