Open
Description
Location
https://doc.rust-lang.org/std/cmp/trait.PartialOrd.html
Summary
A partial order is a reflexive, antisymmetric and transitive relation. The docs for PartialOrd
call it a "trait for types that form a partial order". However, we only require transitivity (explicitly) and antisymmetry (by implication from duality, conditions 1-4 in the docs for PartialOrd
, and the symmetry of ==
from the docs of PartialEq
). We cannot require reflexivity because f32
and f64
are PartialOrd
but x == x
is true for them iff x
is not NaN, which is mentioned later, but it's a bit buried. The docs should make clear upfront that reflexivity is not required.