digitalmars.D.bugs - [Issue 3238] New: Template function reference being made without the template body being generated
- d-bugmail puremagic.com (38/38) Aug 09 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3238
- d-bugmail puremagic.com (9/9) Aug 09 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3238
- d-bugmail puremagic.com (18/18) May 17 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3238
http://d.puremagic.com/issues/show_bug.cgi?id=3238 Summary: Template function reference being made without the template body being generated Product: D Version: 2.031 Platform: x86 OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: burton-radons shaw.ca Given these two files (noting that the original file didn't have an error in it, it just allowed me to cut it down further), a.d: struct S (T) { void m () { intentional mistake; } } S! (T) f (T) () { return S! (T) (); } b.d: import a; void main () { f! (char) ().m (); } Compile them separately then link them together. The link fails because b.obj has a reference to _D1a8__T1STaZ1S1mMFZv but doesn't have a COMDAT for it (not that it could compile it). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 09 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3238 PDT --- It turns out that there actually was a problem with the template; oddly enough the problem was one that causes the compiler to crash, unlike the banal semantic error here. So having invalid code appears to be a prerequisite for this problem to manifest. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 09 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3238 Gide Nwawudu <gide nwawudu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code Status|NEW |RESOLVED CC| |gide nwawudu.com Resolution| |WORKSFORME Works in DMD v2.046. D:\test>dmd a.d b.d a.d(5): Error: identifier 'intentional' is not defined a.d(5): Error: intentional is used as a type a.d(9): Error: template instance a.S!(char) error instantiating b.d(5): instantiated from here: f!(char) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 17 2010