http://d.puremagic.com/issues/show_bug.cgi?id=8475
Summary: postblits fails attributes qualifying when in a template. Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: critical Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: rtcv...@yahoo.com --- Comment #0 from Era Scarecrow <rtcv...@yahoo.com> 2012-07-30 14:09:06 PDT --- T func2(T)(T x) @safe pure { return T(); } struct XY { this(this) @safe pure {} //safe pure added so func can call it, shows bug void func(XY x) @safe pure { XY y = x; func2(x); func2(y); } } template X(bool something) { struct XY { this(this) @safe pure {} void func(XY x) @safe pure { XY y = x; //Error: see below func2(x); func2(y); } } } alias X!(true).XY Xtrue; produces: pure function 'func' cannot call impure function '__cpctor' safe function 'func' cannot call system function '__cpctor' if func2 is writeln() they too will complain about the postblits being impure/system during the copy step, along with writeln being impure. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------