diff --git a/units/src/amount/mod.rs b/units/src/amount/mod.rs index 6fb09fbcf..9a4f715ba 100644 --- a/units/src/amount/mod.rs +++ b/units/src/amount/mod.rs @@ -605,9 +605,7 @@ where T: Iterator, { fn checked_sum(mut self) -> Option { - let first = Some(self.next().unwrap_or_default()); - - self.fold(first, |acc, item| acc.and_then(|acc| acc.checked_add(item))) + self.try_fold(Amount::ZERO, Amount::checked_add) } } @@ -616,9 +614,7 @@ where T: Iterator, { fn checked_sum(mut self) -> Option { - let first = Some(self.next().unwrap_or_default()); - - self.fold(first, |acc, item| acc.and_then(|acc| acc.checked_add(item))) + self.try_fold(SignedAmount::ZERO, SignedAmount::checked_add) } }