null allowing @safe code to do unsafe stuff.

deadalnix deadalnix at gmail.com
Sun Mar 18 08:15:47 PDT 2012


Le 18/03/2012 15:24, Timon Gehr a écrit :
> On 03/18/2012 02:54 PM, deadalnix wrote:
>> Given a class, that would create a very large object
>
> This is the culprit.
>
>> if instantiated,
>> and a null reference, you can access memory in « raw mode ». This is
>> @safe D code, but really isn't.
>>
>> As solution, @safe code should insert tests for null reference, or
>> should prevent null to be used.
>
> This is fighting symptoms.

@safe is supposed to be a guarantee. And, even if it is bad practice, in 
this case we aren't able to ensure that these guarantee are respected.

Given that, @safe doesn't guarantee anything. You may think that this 
isn't a problem, but, what is the point of @safe if it is unable to 
ensure anything ?


More information about the Digitalmars-d mailing list