Thoughts about D

Ola Fosheim Grøstad ola.fosheim.grostad+dlang at gmail.com
Thu Nov 30 10:39:07 UTC 2017


On Thursday, 30 November 2017 at 09:01:20 UTC, Jonathan M Davis 
wrote:
> It's close enough. Instead of segfaulting when the member 
> function is called, it'll segfault when it tries to access one 
> of the member variables or non-final member functions inside 
> the member function. So, there isn't any more need to add null 
> checks for final member functions than there is for non-final 
> member functions.

Err... wait. What if you have a conditional:

     if(input == 0) { do something bad }
     access field

Seems like you would be better off by injecting:

    assert this not null

at the beginning of all final methods and remove the assertion if 
all paths will lead to a field access before something bad can 
happen.

Adding checks and then only remove them if they provably have no 
consequence tend to be the safer approach.



More information about the Digitalmars-d mailing list