On 02/06/2013 11:14 PM, Andrei Alexandrescu wrote:
On 2/6/13 5:05 PM, Timon Gehr wrote:
On 02/06/2013 08:12 PM, Andrei Alexandrescu wrote:
It would be more consistent with C++, but less so with the notion of
safety. I find it very consistent that all uses of &expression are safe,
and this is the kind of consistency Walter and I believe is worth aiming
for.


So you are saying this should compile?:

struct S{
    int x;
    int foo()@safe{ return x; }
}

int delegate()@safe foo()@safe{
    S s;
    return &s.foo;
}

Yah, it should, and it also should detect the escape and allocate foo's
frame on the heap.

Andrei


I see. Generally?
Eg. this detects the escape and allocates as well?:

S* foo()@safe{
    S s;
    return &s;
}

Reply via email to