[Issue 8997] New: template instances omit symbol that may be used in other modules
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Nov 11 10:16:39 PST 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8997
Summary: template instances omit symbol that may be used in
other modules
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: deadalnix at gmail.com
--- Comment #0 from deadalnix <deadalnix at gmail.com> 2012-11-11 10:16:37 PST ---
See cod below :
module linkfailclass;
class A {
A[string] foobar;
}
module linkfailuse;
import linkfailclass;
void main() {
auto a = new A();
foreach(key; a.foobar.byKey()) {
}
}
Then compile :
dmd -c linkfailclass.d
dmd -c linkfailuse.d
dmd -oflinkfail linkfailclass.o linkfailuse.o
linkfailuse.o: In function `_Dmain':
linkfailuse.d:(.text._Dmain+0x20): undefined reference to
`_D6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5byKeyMFNdZS6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5byKeyM6Result'
linkfailuse.d:(.text._Dmain+0x29): undefined reference to
`_D6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5Range5emptyMxFNdZb'
linkfailuse.d:(.text._Dmain+0x36): undefined reference to
`_D6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5byKeyMFNdZS6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5byKeyM6Result6Result5frontMFNcNdZAya'
linkfailuse.d:(.text._Dmain+0x46): undefined reference to
`_D6object45__T16AssociativeArrayTAyaTC13linkfailclass1AZ16AssociativeArray5Range8popFrontMFZv'
collect2: error: ld returned 1 exit status
--- errorlevel 1
Template is instantiated in linkfailclass so linkfailuse assume it is in it.
But some members of the template are not instanciated because not used in
linkfailclass. linkfailuse assume they are.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list