DIP1000: Scoped Pointers
Walter Bright via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sat Aug 13 12:51:07 PDT 2016
On 8/13/2016 5:02 AM, Joseph Rushton Wakeling wrote:
> 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...?
It's relaxed in @system code.
>>> 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?
Shouldn't be.
> And if not, what would be problematic cases?
Allocating it on the heap.
More information about the Digitalmars-d-announce
mailing list