array !is null fails
    BCS 
    ao at pathlink.com
       
    Mon Feb 12 23:14:08 PST 2007
    
    
  
Reply to John,
> BCS wrote:
> 
>> this works:
>> 
>> assert((cast(char*)null)[0..0] !is null);
>> 
>> this dosn't
>> 
>> assert((cast(char*)null)[0..10] !is null);
>> 
>> DMD v1.005 linux
>> 
>> Am I missing somthing?
>> 
> Seems like a safety thing to me.  If an array has a non-zero length,
> the still points at null, you shouldn't be looking at it.
That's why it's in the assert
>  A zero
> length array is always valid, however.  A zero-length array is still
> an array, not null... depending on your definition.
> 
Ah... I though that [i..i].length == 1? 
> Dunno what the implications of such a discontinuity are, but you could
> just use .ptr or (!is null && .length > 0) if you want.
> 
What good is the (array !is null) if it doesn't tell you when the pointer 
is null?
    
    
More information about the Digitalmars-d-learn
mailing list