Trait option_operations::sub::OptionOverflowingSub
source · [−]pub trait OptionOverflowingSub<Rhs = Self, InnerRhs = Rhs> {
type Output;
fn opt_overflowing_sub(self, rhs: Rhs) -> Option<(Self::Output, bool)>;
}
Expand description
Trait for values and Option
s overflowing substraction.
Implementing this trait leads to the following auto-implementations:
OptionOverflowingSub<Option<InnerRhs>>
forT
.OptionOverflowingSub<Rhs>
forOption<T>
.OptionOverflowingSub<Option<InnerRhs>>
forOption<T>
.- … and some variants with references.
Note that since the std
library doesn’t define any
OverflowingSub
trait,
users must provide the base implementation for the inner type.
Required Associated Types
Required Methods
fn opt_overflowing_sub(self, rhs: Rhs) -> Option<(Self::Output, bool)>
fn opt_overflowing_sub(self, rhs: Rhs) -> Option<(Self::Output, bool)>
Returns a tuple of the substraction
along with a boolean indicating whether an arithmetic overflow
would occur. If an overflow would have occurred then self
is returned.
Returns None
if at least one argument is None
.