Thread overview
[Issue 23154] Linker error through templated __traits(compiles) in separate compilation unit
Jun 13, 2022
Jan Jurzitza
Jun 13, 2022
kinke
Jun 13, 2022
Jan Jurzitza
Jun 13, 2022
Jan Jurzitza
Dec 17, 2022
Iain Buclaw
June 13, 2022
https://issues.dlang.org/show_bug.cgi?id=23154

--- Comment #1 from Jan Jurzitza <d.bugs@webfreak.org> ---
note:

linker looks for
_D8protocol__T7SelfRefTbZQl6foobarMFNaNbNiNfZm
demangled: `pure nothrow @nogc @safe ulong
protocol.SelfRef!(bool).SelfRef.foobar()`

the protocol.a file contains the following foobar symbol:
_D8protocol__T7SelfRefTbZQl6foobarMFNbZm
demangled: `nothrow ulong protocol.SelfRef!(bool).SelfRef.foobar()`

so it looks like the foo.d module doesn't resolve the attributes consistently with the other compilation unit.

--
June 13, 2022
https://issues.dlang.org/show_bug.cgi?id=23154

kinke <kinke@gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke@gmx.net

--- Comment #2 from kinke <kinke@gmx.net> ---
(In reply to Jan Jurzitza from comment #1)
> so it looks like the foo.d module doesn't resolve the attributes consistently with the other compilation unit.

Yep, probably the same issue as https://issues.dlang.org/show_bug.cgi?id=23127.

--
June 13, 2022
https://issues.dlang.org/show_bug.cgi?id=23154

--- Comment #3 from Jan Jurzitza <d.bugs@webfreak.org> ---
seems to be a bug in the DMD backend, does not reproduce with LDC

--
June 13, 2022
https://issues.dlang.org/show_bug.cgi?id=23154

--- Comment #4 from Jan Jurzitza <d.bugs@webfreak.org> ---
nvm, actually reproduces with ldc as well, so more likely a frontend bug:

ldc2 -main -c -unittest -I. foo.d -of foo.o
ldc2 -lib -ofprotocol.a protocol.d
dmd -oftestlib foo.o protocol.a

For some reason ldc generated extra objects which I accidentally used instead, which were the wrong symbols and didn't cause this linker error.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=23154

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--
December 13
https://issues.dlang.org/show_bug.cgi?id=23154

--- Comment #5 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/20116

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--