May 05, 2017 Local pointer escape under current DIP1000 implementation | ||||
---|---|---|---|---|
| ||||
Code: @safe auto id(scope int *p) { int*[] a; a ~= p; return a; } @safe int *bar() { int i; return id(&i)[0]; //pointer to local escaped } Compiles with -dip1000 |
May 05, 2017 Re: Local pointer escape under current DIP1000 implementation | ||||
---|---|---|---|---|
| ||||
Posted in reply to Yuxuan Shui | On 5/5/17 12:51 PM, Yuxuan Shui wrote:
> Code:
>
> @safe auto id(scope int *p) {
> int*[] a;
> a ~= p;
> return a;
> }
> @safe int *bar() {
> int i;
> return id(&i)[0]; //pointer to local escaped
> }
>
> Compiles with -dip1000
Cool, thanks. Will discuss with Walter right now. Looks like an oversight - the append is not supposed to go through. -- Andrei
|
Copyright © 1999-2021 by the D Language Foundation