digitalmars.D.bugs - [Issue 12754] New: MAC link error for template to static value
- via Digitalmars-d-bugs (62/63) May 16 2014 https://issues.dlang.org/show_bug.cgi?id=12754
https://issues.dlang.org/show_bug.cgi?id=12754 Issue ID: 12754 Summary: MAC link error for template to static value Product: D Version: D2 Hardware: All OS: Mac OS X Status: NEW Severity: blocker Priority: P1 Component: DMD Assignee: nobody puremagic.com Reporter: monarchdodra gmail.com Currently blocking https://github.com/D-Programming-Language/phobos/pull/2172/files#r12711667 Reproducible only on MAC. Requires 2 "library" files, and a "client" file. We'll call the library "foo": //----- //foo/traits.d module foo.traits; template lvalueInit(T) { static lvalueInit = immutable(T).init; } //----- //----- //foo/file.d module foo.file; import foo.traits; struct Impl { } struct F { Impl i; this(int) { i = lvalueInit!Impl; } } //----- That's it for the "library". We compile it as such: dmd -lib foo/traits.d foo/file.d -ofmylibFrom there, create a simple main.d://----- //main.d module main; import foo.file; void main() { auto f = F(5); } //----- Then build... dmd mylib.a -run main.d Undefined symbols for architecture x86_64: "_D3foo6traits32__T10lvalueInitTS3foo4file4ImplZ10lvalueInityS3foo4file4Impl", referenced from: _D3foo4file1F6__ctorMFNciZS3foo4file1F in mylib.a(file_3_46.o) ld: symbol(s) not found for architecture x86_64 --
May 16 2014