Nullable with reference types

Steven Schveighoffer via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 1 05:40:25 PDT 2015


On 7/1/15 5:45 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?= <schuetzm at 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`.

Oh. Sorry to say this, but that code is just broken. I frankly don't 
think we should concern ourselves with that use case. I wish I had paid 
more attention when this was all going down.

-Steve


More information about the Digitalmars-d-learn mailing list