diff --git a/units/src/amount/result.rs b/units/src/amount/result.rs index 645b3edde..df26be7c7 100644 --- a/units/src/amount/result.rs +++ b/units/src/amount/result.rs @@ -12,7 +12,7 @@ use super::{Amount, SignedAmount}; /// Result of an operation on [`Amount`] or [`SignedAmount`]. /// /// The type parameter `T` should be normally `Amout` or `SignedAmount`. -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] #[must_use] pub enum NumOpResult { /// Result of a successful mathematical operation. @@ -584,7 +584,7 @@ impl OptionExt for Option { } /// An error occurred while doing a mathematical operation. -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Copy, Clone, PartialEq, Eq)] #[non_exhaustive] pub struct NumOpError; diff --git a/units/src/amount/tests.rs b/units/src/amount/tests.rs index f5b450fdb..fa2db4874 100644 --- a/units/src/amount/tests.rs +++ b/units/src/amount/tests.rs @@ -1329,44 +1329,44 @@ fn amount_op_result_all_ops() { // let sres: NumOpResult = ssat + ssat; // Operations that where RHS is the result of another operation. - let _ = sat + res.clone(); - let _ = &sat + res.clone(); - // let _ = sat + &res.clone(); - // let _ = &sat + &res.clone(); + let _ = sat + res; + let _ = &sat + res; + // let _ = sat + &res; + // let _ = &sat + &res; - let _ = sat - res.clone(); - let _ = &sat - res.clone(); - // let _ = sat - &res.clone(); - // let _ = &sat - &res.clone(); + let _ = sat - res; + let _ = &sat - res; + // let _ = sat - &res; + // let _ = &sat - &res; // Operations that where LHS is the result of another operation. - let _ = res.clone() + sat; - // let _ = &res.clone() + sat; - let _ = res.clone() + &sat; - // let _ = &res.clone() + &sat; + let _ = res + sat; + // let _ = &res + sat; + let _ = res + &sat; + // let _ = &res + &sat; - let _ = res.clone() - sat; - // let _ = &res.clone() - sat; - let _ = res.clone() - &sat; - // let _ = &res.clone() - &sat; + let _ = res - sat; + // let _ = &res - sat; + let _ = res - &sat; + // let _ = &res - &sat; // Operations that where both sides are the result of another operation. - let _ = res.clone() + res.clone(); - // let _ = &res.clone() + res.clone(); - // let _ = res.clone() + &res.clone(); - // let _ = &res.clone() + &res.clone(); + let _ = res + res; + // let _ = &res + res; + // let _ = res + &res; + // let _ = &res + &res; - let _ = res.clone() - res.clone(); - // let _ = &res.clone() - res.clone(); - // let _ = res.clone() - &res.clone(); - // let _ = &res.clone() - &res.clone(); + let _ = res - res; + // let _ = &res - res; + // let _ = res - &res; + // let _ = &res - &res; } // Verify we have implemented all `Sum` for the `NumOpResult` type. #[test] fn amount_op_result_sum() { let res = Amount::from_sat(1) + Amount::from_sat(1); - let amounts = [res.clone(), res.clone()]; + let amounts = [res, res]; let amount_refs = [&res, &res]; // Sum iterators.