pop & popFront combined
    "Nordlöw" via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sun Nov  2 04:29:13 PST 2014
    
    
  
On Sunday, 2 November 2014 at 11:46:19 UTC, Marc Schütz wrote:
> I think DMD doesn't generate good code for it; IIRC it lowers 
> scope(success) to a strange construct with an invisible 
> variable and a try/catch. Don't know the reasons for this, 
> maybe it has changed by now. Theoretically it would just need 
> to move the contents of the scope(success) after the evaluation 
> of the returned expression, which is cheap.
Are there cases in LDC where
     auto e = r.moveFront;
     r.popFront;
     return e;
generates code less efficient than
     scope(success) r.popFront;
     return r.moveFront;
because of the extra assignment?
    
    
More information about the Digitalmars-d-learn
mailing list