[Issue 1758] New: Lazy Parameters in Closures - Access Violation
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Tue Jan  1 08:42:06 PST 2008
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=1758
           Summary: Lazy Parameters in Closures - Access Violation
           Product: D
           Version: 2.009
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: xnknet at gmail.com
The following code will cause an access violation error.
T delegate() lazier(T)(lazy T arg){
        bool once = true;
        T value;
        return {
                if(once){
                        once = false;
                        value = arg;
                }
                return value;
        };
}
void main(){
        auto l = lazier(rand());
        writeln(l()); // Access violation
}
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list