Existence check for objects
    Jarrett Billingsley 
    kb3ctd2 at yahoo.com
       
    Wed Jun 13 13:32:10 PDT 2007
    
    
  
"Georg Wrede" <georg at nospam.org> wrote in message 
news:467045F1.6030603 at nospam.org...
>
> Actually, why do we use the foo !is null idiom at all? (Or try to use the 
> foo != null idiom?)
>
> Anyhow, this would seem to be the canonical way to do it in a C family 
> language in the first place. So maybe we should (of course first mark 
> o==null as an error, and then) amend the documentation to suggest o itself 
> as the Politically Correct test for nullness.
Except there's one tiny inconsistency in the language.
assert(o);
This stupidly does not check that o is non-null; instead it runs the 
object's invariants.  Which, if o really _is_ null, will cause an access 
violation.  Whee.
In this case, you have to write:
assert(o !is null);
Other syntaxes to run the invariant, such as "o.invariant()" or "o.assert()" 
have been proposed, but as usual nothing has come of it. 
    
    
More information about the Digitalmars-d
mailing list