empty arrays and cast(bool): WAT
Timon Gehr
timon.gehr at gmx.ch
Sat Feb 18 19:33:14 PST 2012
On 02/19/2012 04:17 AM, Jonathan M Davis wrote:
> On Sunday, February 19, 2012 04:13:02 Timon Gehr wrote:
>> On 02/19/2012 03:24 AM, bearophile wrote:
>>> Timon Gehr:
>>>> Is there any reason for empty arrays to evaluate to true? This is very
>>>> bug prone.
>>>
>>> Related?
>>> http://d.puremagic.com/issues/show_bug.cgi?id=4733
>>>
>>> Bye,
>>> bearophile
>>
>> Roughly. I want it to be allowed, but to test the length instead of ptr.
>
> That would potentially break code.
It would also potentially fix code.
> It also makes arrays less consistent with
> other types that can be null,
If so, then in a good way.
> but the weirdness with [] == null already does
> that on some level.
>
If you think that is weird, consider this:
static assert([1,2,3] == [1,2,3]);
> My general take on it is that you should just be aware that you need to use
> arr.empty when you mean empty and arr !is null when you mean null. So,
>
> if(arr)
>
> is the kind of code that should just be avoided with arrays.
>
Why? (step back a moment and stop thinking about what you know about
DMDs implementation semantics and then answer)
More information about the Digitalmars-d
mailing list