On 7/1/15 5:45 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?= <schue...@gmx.net>" wrote:
On Tuesday, 30 June 2015 at 18:29:31 UTC, Steven Schveighoffer wrote:
I know this is just back-of-envelope, but what's wrong with:

alias Nullable(T) if(is(T == class)) = T;

bool isNull(T)(T t) if(is(T == class)) { return t is null;}

That's what I intended. (Same for pointers and slices, BTW.)

I does however have a slightly different behaviour: In the current
implementation, there can be instances for which `isNull` returns false,
but whose payloads are nevertheless `null`.

I just realized this. With a Nullable!(T[]), you can have a type where:

x is null
x == null
x.isNull

all have different behavior. I'm really quite unconvinced that this has any good properties. I think we should fix it.

-Steve

Reply via email to