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