pub trait Mod<T: Nat>: Nat {
type Result: Nat;
}
Expand description
§Remainders
GCD is left as an exercise for the reader…
assert_eq!(<Five as Mod<Three>>::Result::eval(), 2);
assert_eq!(<Ten as Mod<Two>>::Result::eval(), 0);
assert_eq!(<Seven as Mod<Nine>>::Result::eval(), 7);
assert_eq!(<Six as Mod<Six>>::Result::eval(), 0);