D - Unsafe and doomed

deadalnix deadalnix at gmail.com
Mon Jan 6 19:20:53 PST 2014


On Tuesday, 7 January 2014 at 03:18:01 UTC, Walter Bright wrote:
> On 1/6/2014 4:13 PM, deadalnix wrote:
>> On Monday, 6 January 2014 at 21:09:44 UTC, Walter Bright wrote:
>>> On 1/6/2014 1:03 PM, Walter Bright wrote:
>>>> On 1/6/2014 11:21 AM, deadalnix wrote:
>>>>> Or, we can decide that trapping in not guaranteed, and then 
>>>>> dereferencing null
>>>>> is undefined behavior,
>>>>> which is much worse that a compile time failure.
>>>>
>>>> Realistically, this is a non-problem.
>>>
>>> Or better, if you want to issue a pull request for the 
>>> documentation that says
>>> unless it is a dead load, a null reference will cause a 
>>> program-ending fault
>>> of one sort or another, I'll back it.
>>
>> You realize that every
>>
>> foo.bar();
>>
>> is undefined behavior unless it is preceded by a null check 
>> under that definition ?
>
> No, I don't realize that.
>
> Or you could amend the documentation to say that null checks 
> will not be removed even if they occur after a dereference.

Which won't be true with LDC and GDC.


More information about the Digitalmars-d mailing list