www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 8997] New: template instances omit symbol that may be used in other modules

reply d-bugmail puremagic.com writes:
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



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: -------
Nov 11 2012
next sibling parent d-bugmail puremagic.com writes:
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



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: -------
Nov 23 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
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: -------
Feb 16 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8997





 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: -------
Feb 16 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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



*** 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: -------
Feb 17 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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



*** 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: -------
Feb 17 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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



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: -------
Feb 18 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=8997




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


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: -------
Feb 19 2013