digitalmars.D.bugs - [Issue 501] New: Bad interaction between 'with' and IFTI in template methods
- d-bugmail puremagic.com (53/53) Nov 13 2006 http://d.puremagic.com/issues/show_bug.cgi?id=501
- d-bugmail puremagic.com (9/9) Dec 02 2006 http://d.puremagic.com/issues/show_bug.cgi?id=501
http://d.puremagic.com/issues/show_bug.cgi?id=501 Summary: Bad interaction between 'with' and IFTI in template methods Product: D Version: 0.173 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: wbaxter gmail.com You can't call a templatized method using IFTI inside a 'with' block. The following code demonstrates. ------------------ import std.stdio : writefln; class Penfold { char[] toString() { return "Krike!"; } } class Pinky { char[] toString() { return "Narf!"; } } class Printer { void vprint(Object obj) { writefln(obj.toString); } C print(C)(C obj) { writefln(obj); return obj; } } void main() { Printer p = new Printer; p.print(new Pinky); p.print(new Penfold); with (p) { // ok vprint(new Pinky); vprint(new Penfold); // Ok print!(Pinky)(new Pinky); print!(Penfold)(new Penfold); // ok p.print(new Pinky); p.print(new Penfold); // error: "type Printer is not an expression" (??) print(new Pinky); print(new Penfold); } } --
Nov 13 2006
http://d.puremagic.com/issues/show_bug.cgi?id=501 wbaxter gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Works for me now in DMD 0.176 --
Dec 02 2006