On Sunday, 17 August 2014 at 18:51:38 UTC, bearophile wrote:
It could be sufficient, but note that in Phobos there are two different versions of Nullable, one of them doesn't require extra memory, it uses one value as the "null" value.

Ok, thanks for the reminder.

Do you have a suggestion of an instantiator for this variant? I'm not sure how to define this. So far I have


Nullable!T nullable(T nullValue, T)(T a, T nullValue)
{
    return Nullable!nullValue(a);
}

unittest
{
    auto x = nullable!(int.max)(3);
}


but it fails as


mangling.d(50,21): Error: undefined identifier T


How do I make the template parameter nullValue infer type T with a single template parameter? Is it even possible?

Reply via email to