safety: null checks
Dibyendu Majumdar
mobile at majumdar.org.uk
Mon Nov 23 00:26:26 UTC 2020
On Monday, 23 November 2020 at 00:17:12 UTC, Paul Backus wrote:
> The relevant part of the spec is the one on "safe values" [1]:
>
>> A pointer is safe when:
>>
>> 1. it can be dereferenced validly [i.e. with defined
>> behavior], and
>> 2. the value of the pointee is safe.
>
> If null is a safe value, then dereferencing it must be defined
> behavior. If null is an unsafe value, then it must not be
> allowed to appear in @safe code. Either way, a compiler that
> allows null in @safe code but treats a null dereference as
> undefined behavior is buggy.
>
> [1] https://dlang.org/spec/function.html#safe-values
Hmm, null values are not the same as dereferncing null values.
A null in itself is okay, but dereferencing null cannot be.
More information about the Digitalmars-d
mailing list