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