DIP1000: Should this compile

Max Haughton maxhaton at gmail.com
Thu May 16 22:47:04 UTC 2019


On Thursday, 16 May 2019 at 21:56:52 UTC, Steven Schveighoffer 
wrote:
> On 5/16/19 10:21 PM, Max Haughton wrote:
>> https://run.dlang.io/is/cKFsXh
>> 
>> Should this compile, or is return scope T* down to the user to 
>> not escape (Returning &local directly does not compile)
>> 
>
> Answer to subject: no. This is a bug. Please file.
>
> Not sure what the solution is, because dip1000 makes scope a 
> storage class. So there's no way to tag what the input 
> parameter points at.
>
> -Steve

The parameter pointer outlives the the &local, i.e. cannot be 
guaranteed that it doesn't escape, which is sufficient grounds to 
not allow the assignment. Hopefully, this is a implementation 
rather specification error (If my understanding of the DIP is 
correct)



More information about the Digitalmars-d-learn mailing list