diff --git a/src/bigint.rs b/src/bigint.rs index 8b553c4..afb7df4 100644 --- a/src/bigint.rs +++ b/src/bigint.rs @@ -971,10 +971,11 @@ impl CheckedAdd for BigUint { impl CheckedSub for BigUint { #[inline] fn checked_sub(&self, v: &BigUint) -> Option { - if *self < *v { - return None; + match self.cmp(v) { + Less => None, + Equal => Some(Zero::zero()), + Greater => Some(self.sub(v)), } - return Some(self.sub(v)); } }