Trait Option Checked Sub
pub trait OptionCheckedSub<Rhs = Self, InnerRhs = Rhs> {
type Output;
// Required method
fn opt_checked_sub(self, rhs: Rhs) -> Result<Option<Self::Output>, Error>;
}Expand description
Trait for values and Options checked substraction.
Implementing this trait leads to the following auto-implementations:
OptionCheckedSub<Option<InnerRhs>>forT.OptionCheckedSub<Rhs>forOption<T>.OptionCheckedSub<Option<InnerRhs>>forOption<T>.- … and some variants with references.
Note that since the std library doesn’t define any
CheckedSub trait,
users must provide the base implementation for the inner type.
Required Associated Types§
type Output
type Output
The resulting inner type after applying the substraction.
Required Methods§
fn opt_checked_sub(self, rhs: Rhs) -> Result<Option<Self::Output>, Error>
fn opt_checked_sub(self, rhs: Rhs) -> Result<Option<Self::Output>, Error>
Computes the checked substraction.
- Returns
Ok(Some(result))ifresultcould be computed. - Returns
Ok(None)if at least one argument isNone. - Returns
Err(Error::Overflow)if an overflow occured.