Trait option_operations::sub::OptionOverflowingSub
source · pub trait OptionOverflowingSub<Rhs = Self, InnerRhs = Rhs> {
type Output;
// Required method
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§
sourcefn 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
.