From c60cfe9664617435206c53a38fde1d71bd17e07d Mon Sep 17 00:00:00 2001 From: Martin Indra Date: Thu, 18 Sep 2025 11:13:33 +0200 Subject: [PATCH] Fix equality check for Number Fixes maciejhirsz/json-rust#220 --- src/number.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/number.rs b/src/number.rs index 808190a..4714761 100644 --- a/src/number.rs +++ b/src/number.rs @@ -211,11 +211,16 @@ impl PartialEq for Number { } else if e_diff > 0 { let power = decimal_power(e_diff as u16); - self.mantissa.wrapping_mul(power) == other.mantissa + self.mantissa + .checked_mul(power) + .map_or(false, |mantissa| mantissa == other.mantissa) } else { let power = decimal_power(-e_diff as u16); - self.mantissa == other.mantissa.wrapping_mul(power) + other + .mantissa + .checked_mul(power) + .map_or(false, |mantissa| mantissa == self.mantissa) } }