Ordどちらお大小を表現する為の型です。std::cmp::PartialOrd>=が::ge>が::gt<が::lt<=が::leでそれぞれの挙動を実装します。std::cmp::PartialEqをスーパートレイトに持つ為、その内容も持っている必要があります。Foo;PartialOrdは多分比較できる(比較できない場合がある)場合に使います。f32のNAN同士はうまく比較できません。falsestd::cmp::Ordこちらは必ず比較できる場合に使います。i32にはそういった特殊な値はない為、これを持つことができます。このトレイトはPartialOrdをスーパートレイトとして持ちEqも要求される為、もし実装する場合は以下のようになります。