[Issue 8475] New: postblits fails attributes qualifying when in a	template.
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Mon Jul 30 14:09:07 PDT 2012
    
    
  
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: nobody at puremagic.com
        ReportedBy: rtcvb32 at yahoo.com
--- Comment #0 from Era Scarecrow <rtcvb32 at 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: -------
    
    
More information about the Digitalmars-d-bugs
mailing list