diff --git a/units/src/amount/signed.rs b/units/src/amount/signed.rs index 0f548ccdc..ea58bf32d 100644 --- a/units/src/amount/signed.rs +++ b/units/src/amount/signed.rs @@ -388,10 +388,8 @@ impl ops::Add for SignedAmount { self.checked_add(rhs).expect("SignedAmount addition error") } } - -impl ops::AddAssign for SignedAmount { - fn add_assign(&mut self, rhs: SignedAmount) { *self = *self + rhs } -} +crate::internal_macros::impl_add_for_references!(SignedAmount); +crate::internal_macros::impl_add_assign!(SignedAmount); impl ops::Sub for SignedAmount { type Output = SignedAmount; @@ -400,10 +398,8 @@ impl ops::Sub for SignedAmount { self.checked_sub(rhs).expect("SignedAmount subtraction error") } } - -impl ops::SubAssign for SignedAmount { - fn sub_assign(&mut self, rhs: SignedAmount) { *self = *self - rhs } -} +crate::internal_macros::impl_sub_for_references!(SignedAmount); +crate::internal_macros::impl_sub_assign!(SignedAmount); impl ops::Rem for SignedAmount { type Output = SignedAmount; diff --git a/units/src/amount/unsigned.rs b/units/src/amount/unsigned.rs index 5d31bb055..87f1553c4 100644 --- a/units/src/amount/unsigned.rs +++ b/units/src/amount/unsigned.rs @@ -457,10 +457,8 @@ impl ops::Add for Amount { self.checked_add(rhs).expect("Amount addition error") } } - -impl ops::AddAssign for Amount { - fn add_assign(&mut self, rhs: Amount) { *self = *self + rhs } -} +crate::internal_macros::impl_add_for_references!(Amount); +crate::internal_macros::impl_add_assign!(Amount); impl ops::Sub for Amount { type Output = Amount; @@ -469,10 +467,8 @@ impl ops::Sub for Amount { self.checked_sub(rhs).expect("Amount subtraction error") } } - -impl ops::SubAssign for Amount { - fn sub_assign(&mut self, rhs: Amount) { *self = *self - rhs } -} +crate::internal_macros::impl_sub_for_references!(Amount); +crate::internal_macros::impl_sub_assign!(Amount); impl ops::Rem for Amount { type Output = Amount;