On 3/8/18 1:56 PM, Markus wrote:

You are right.
$ dmd -c main.d
$ nm main.o | grep some
                  U _ZN4ns_a13some_functionEPN4ns_a7class_aE
$ nm lib.o | grep some
0000000000000000 T _ZN4ns_a13some_functionEPNS_7class_aE

But when i merge the main.d and other.d I get
$ nm main.o | grep some
                  U _ZN4ns_a13some_functionEPNS_7class_aE

I tested dmd (2.079.0), gdc and ldc2. All got the same result. Which makes me think, that it's not a bug, but a "feature" :)

Ah interesting. What it looks like is that the symbol for the namespace is considered different between the two files in D-land, but they have the same name in C++-land. So it thinks it's not a back reference, but really it should be.

-Steve

Reply via email to