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
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?
And if not, what would be problematic cases?
Allocating it on the heap.