DIP1000: Scoped Pointers

Joseph Rushton Wakeling via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Aug 13 05:02:16 PDT 2016


On Saturday, 13 August 2016 at 11:09:05 UTC, Walter Bright wrote:
> Taking the address of a ref variable has not been allowed in 
> @safe code for a long time.

Which is understandable given things as they are, but which could 
probably be relaxed given good scope/lifetime analysis by the 
compiler...?

>> The above code is unsafe only if the lifetime of `data` 
>> outlives the lifetime of
>> `input`.  Surely the new scope rules should be able to 
>> distinguish the cases?
>> If that's already envisioned, how would that work?
>
> That depends on how the instance of MyWrapperStruct is 
> allocated. How did you intend to allocate it?

As a normal stack variable. Is that problematic? And if not, what 
would be problematic cases?


More information about the Digitalmars-d-announce mailing list