On Saturday, 25 January 2014 at 13:43:25 UTC, Timon Gehr wrote:
Why not?

struct S{
    auto opCmp(S r){ return float.nan; }
}

void main(){
    S s;
    assert(s!<>=s);
}

Yes, but only for floatingpoint types - you cannot overload the !<>= operator for integral types and it will be deprecated anyway. And you cannot opverload opCmp in a way that the new defined integer NaN will not compare in some way to the other integer values. What would be needed is a minimal signed type (2bit with the values -1, 0, 1 and NaN) and use that in opCmp.

Reply via email to