Have you considered making these work, instead of throwing an exception?

    import std.typecons;

    alias T = Nullable!(int, -1);

    void main()
    {
        T a;
        T b;
        assert(a == b);

        T c;
        T d = 42;
        assert(c != d);
    }

It could be a template parameter for Nullable, and the default be to preserve the current behavior.

Reply via email to