>>459
それらi32やi64はOrd境界を満たしている
そしてOrdにはsupertrateとしてのトレイト境界PartialOrdがある
まずそのifの4分岐を使わずともx.partial_cmp(&0)でOption<Ordering>を得ることができる
ただしOrdも満たす整数型では常にSomeとなりNoneになることはない

一方でf64などの浮動小数点は!Ordなのでpartial_cmpでNoneが返りうる
自分でstruct Pair(i32, i32)を作り二つのi32のcmpが同じ時のみpartial_cmpをSomeにする型等も同様にNoneが返りうる
そのためにPartialOrdとOrd(: PartialOrd)の二段階に分かれている

今回のi32型やi64型はOrdも実装されているためNoneが返ることは絶対にない
したがって今回はx.cmp(&0)でOrderingを返すのが正しい