digitalmars.D.bugs - [Issue 7763] New: No template instantiation backtrace printed trying to use writefln on a const or immutable object reference
- d-bugmail puremagic.com (47/47) Mar 24 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7763
- d-bugmail puremagic.com (57/57) Dec 26 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7763
http://d.puremagic.com/issues/show_bug.cgi?id=7763 Summary: No template instantiation backtrace printed trying to use writefln on a const or immutable object reference Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: diagnostic Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: smjg iname.com --- Comment #0 from Stewart Gordon <smjg iname.com> 2012-03-24 17:52:11 PDT --- DMD 2.058, Win32 ---------- import std.stdio; class Set(Element) { void show(Element e) { writefln("%s", e); } } void main() { Set!(const(Object)) set2; } ---------- C:\Users\Stewart\Documents\Programming\D\Tests\bugs>dmd hashset1.d d:\dmd2\windows\bin\..\..\src\phobos\std\format.d(1858): Error: template instance formatObject!(LockingTextWriter,const(Object),char) formatObject!(LockingTextWriter,const(Object),char) does not match template declaration formatObject(Writer,T,Char) if (hasToString!(T,Char)) ---------- main instantiates Set Set instantiates writefln writefln instantiates File.writefln File.writefln instantiates formatGeneric formatGeneric instantiates formatValue formatValue tries to instantiates formatObject but fails Despite this chain of template instantiations, no backtrace is printed. Consequently, it took me ages to find what in my code was triggering it in order to produce this reduced testcase. Fixing issue 1824 will invalidate this testcase, but won't fix the underyling compiler bug, which could potentially bite in other ways. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 24 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7763 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrej.mitrovich gmail.com Resolution| |FIXED --- Comment #1 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2012-12-26 16:28:09 PST --- Seems fixed in 2.060: -------- D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\format.d(2158): Error: template instance formatObject!(LockingTextWriter,const(Object),char) formatObject!(LockingTextWriter,const(Object),char) does not match template declaration formatObject(Writer,T,Char) if (hasToString!(T,Char)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\format.d(2158): Error: function expected before (), not formatObject!(LockingTextWriter,const(Object),char) of type void D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\format.d(2572): Error: template instance std.format.formatValue!(LockingTextWriter,const(Object),char) error instantiating D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\format.d(398): instantiated from here: formatGeneric!(LockingTextWriter,const(Object),char) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(728): instantiated from here: formattedWrite!(LockingTextWriter,char,const(Object)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1711): instantiated from here: writefln!(string,const(Object)) test.d(5): instantiated from here: writefln!(string,const(Object)) test.d(10): instantiated from here: Set!(const(Object)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\format.d(398): Error: template instance std.format.formatGeneric!(LockingTextWriter,const(Object),char) error instantiating D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(728): instantiated from here: formattedWrite!(LockingTextWriter,char,const(Object)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1711): instantiated from here: writefln!(string,const(Object)) test.d(5): instantiated from here: writefln!(string,const(Object)) test.d(10): instantiated from here: Set!(const(Object)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(728): Error: template instance std.format.formattedWrite!(LockingTextWriter,char,const(Object)) error instantiating D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1711): instantiated from here: writefln!(string,const(Object)) test.d(5): instantiated from here: writefln!(string,const(Object)) test.d(10): instantiated from here: Set!(const(Object)) D:\DMD\dmd2\windows\bin\..\..\src\phobos\std\stdio.d(1711): Error: template instance std.stdio.File.writefln!(string,const(Object)) error instantiating test.d(5): instantiated from here: writefln!(string,const(Object)) test.d(10): instantiated from here: Set!(const(Object)) test.d(5): Error: template instance std.stdio.writefln!(string,const(Object)) error instantiating test.d(10): instantiated from here: Set!(const(Object)) test.d(10): Error: template instance test.Set!(const(Object)) error instantiating -------- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 26 2012