Escape analysis
    Robert Jacques 
    sandford at jhu.edu
       
    Mon Oct 27 21:34:28 PDT 2008
    
    
  
On Mon, 27 Oct 2008 23:05:48 -0400, Walter Bright  
<newshound1 at digitalmars.com> wrote:
> scope is a storage class, not a type constructor.
Okay, I'm confused. I had assumed that the escape scope was different from  
the storage scope as the storage scope has a few known problems with  
regard to escape analysis as currently defined
e.g.
class Node { Node next };
void append(scope Node a) {
     scope b = new Node();
     a.next = b; // b just escaped
}
scope const also has similar issues. So is the plan for the compilier  
going to do a static escape analysis based on the funtion signiture?
Alternatively, a deep type which prevents assignment except at declaration  
grantees (I think) no escape.
    
    
More information about the Digitalmars-d
mailing list