Trait fmt_cmp::FmtOrd [−][src]
Expand description
A marker trait for types whose ordering is the same as ordering between its Display
representation.
When T implements FmtOrd, the following property must be upheld for all a: T and b: T:
assert_eq!(a.cmp(&b), (*format!("{}", a)).cmp(&format!("{}", b)));In other words (assuming that no ill-defined specialization is involved):
a ⋛ b <-> a.to_string() ⋛ b.to_string()Colloraries
From str: Ord and the above property, it follows that T satisfies Ord
trait’s contract.
Examples
Integer primitives do not satisfy the property.
assert!(42 < 240);
// but...
assert!(42.to_string() > 240.to_string());Wrapping any Display type with fmt_cmp::Cmp makes it FmtOrd:
assert!(fmt_cmp::Cmp(42) > fmt_cmp::Cmp(240));