From c9e15aef2d189f34d99d620402851ea416515a18 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Tue, 15 Dec 2015 22:31:46 -0800 Subject: [PATCH] bigint: use full cmp results for checked_sub --- src/bigint.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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)); } }