Thread overview
[Issue 8997] New: template instances omit symbol that may be used in other modules
Nov 11, 2012
deadalnix
Nov 23, 2012
Rainer Schuetze
Feb 17, 2013
Walter Bright
Feb 17, 2013
Kenji Hara
Feb 17, 2013
Kenji Hara
Feb 18, 2013
Kenji Hara
Feb 18, 2013
Andrej Mitrovic
November 11, 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@puremagic.com
        ReportedBy: deadalnix@gmail.com


--- Comment #0 from deadalnix <deadalnix@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: -------
November 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8997


Rainer Schuetze <r.sagitario@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch
                 CC|                            |r.sagitario@gmx.de


--- Comment #1 from Rainer Schuetze <r.sagitario@gmx.de> 2012-11-23 10:48:01 PST ---
https://github.com/D-Programming-Language/dmd/pull/1313

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com
           Severity|normal                      |major


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997



--- Comment #2 from Kenji Hara <k.hara.pg@gmail.com> 2013-02-16 21:21:37 PST ---
(In reply to comment #1)
> https://github.com/D-Programming-Language/dmd/pull/1313

Another fix: https://github.com/D-Programming-Language/dmd/pull/1667

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |atankeev@gmail.com


--- Comment #3 from Kenji Hara <k.hara.pg@gmail.com> 2013-02-17 04:57:09 PST ---
*** Issue 9485 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 18, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aifgi90@gmail.com


--- Comment #4 from Kenji Hara <k.hara.pg@gmail.com> 2013-02-17 19:28:18 PST ---
*** Issue 3745 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 18, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |webmaster@villagersonline.c
                   |                            |om


--- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-02-18 09:56:09 PST ---
*** Issue 3770 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
February 19, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8997



--- Comment #6 from github-bugzilla@puremagic.com 2013-02-19 07:07:28 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/0fa766638dec58fb369554e7ce35799acf0dca08
fix Issue 8997 - template instances omit symbol that may be used in other
modules

https://github.com/D-Programming-Language/dmd/commit/9154cf1d34252f8fa1b63cf05cc61e3aec213af0 Merge pull request #1667 from 9rnsr/fix8997

Issue 8997 - template instances omit symbol that may be used in other modules

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------