On Friday, 21 August 2015 at 11:43:11 UTC, Steven Schveighoffer
wrote:
On 8/21/15 7:34 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?=
<[email protected]>" wrote:
I disagree. `is null` is the one that should be illegal. `is`
is
supposed to do a bitwise comparison, but `null` is usually
just a
pointer/reference, while a slice consists of both a reference
and a
length. Which of those are compared?
Both. null in this context is actually an array (with null
pointer and zero length).
null is technically a no-type placeholder (defaulting to void *
without context). In different contexts it means different
things.
arr is null -> both pointer and length are 0
arr == null -> arr contains the same elements that null
contains.
arr.ptr == null -> arr contains a null pointer (length could
technically be non-zero).
Thank for clarifying, I suspected that. Still not a good idea to
use, IMO.