Nullable!(int, 0) unreliable2(in int val) pure nothrow {
    if (val == 0) {
        return typeof(return)();
    } else {
        return typeof(return)(val);
    }
}

Sorry, I meant:

import std.typecons;

Nullable!int unreliable1(in int val) pure nothrow {
    if (val == 0) {
        return typeof(return)();
    } else {
        return typeof(return)(val);
    }
}

Nullable!(int, 0) unreliable2(in int val) pure nothrow {
    return typeof(return)(val);
}

void main() {
    auto nx1 = unreliable1(10);
    auto nx2 = unreliable2(10);
}

Bye,
bearophile

Reply via email to