NaN should not be less than, equal to, or greater than any number. But in Rust, `float::NaN < 0.0` evaluates to `true`. In fact, all of the following assertions pass: <pre> assert(float::NaN() == float::infinity()); assert(float::NaN() == float::neg_infinity()); assert(float::NaN() == 0.); assert(float::NaN() < 0.); </pre>