Skip to main content

OptionRem

Trait OptionRem 

pub trait OptionRem<Rhs = Self, InnerRhs = Rhs> {
    type Output;

    // Required method
    fn opt_rem(self, rhs: Rhs) -> Option<Self::Output>;
}
Expand description

Trait for values and Options remainder.

Implementing this trait leads to the following auto-implementations:

  • OptionRem<Option<InnerRhs>> for T.
  • OptionRem<Rhs> for Option<T>.
  • OptionRem<Option<InnerRhs>> for Option<T>.
  • … and some variants with references.

This trait is auto-implemented for OptionOperations types implementing Rem<Rhs>.

Required Associated Types§

type Output

The resulting inner type after applying the remainder.

Required Methods§

fn opt_rem(self, rhs: Rhs) -> Option<Self::Output>

Computes the remainder.

Returns None if at least one argument is None.

§Panics

Most implementations will panic if rhs is zero.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<T, InnerRhs> OptionRem<&Option<InnerRhs>, InnerRhs> for Option<T>
where T: OptionOperations + OptionRem<InnerRhs>, InnerRhs: Copy,

§

type Output = <T as OptionRem<InnerRhs>>::Output

§

fn opt_rem( self, rhs: &Option<InnerRhs>, ) -> Option<<Option<T> as OptionRem<&Option<InnerRhs>, InnerRhs>>::Output>

§

impl<T, InnerRhs> OptionRem<Option<InnerRhs>, InnerRhs> for Option<T>
where T: OptionOperations + OptionRem<InnerRhs>,

§

type Output = <T as OptionRem<InnerRhs>>::Output

§

fn opt_rem( self, rhs: Option<InnerRhs>, ) -> Option<<Option<T> as OptionRem<Option<InnerRhs>, InnerRhs>>::Output>

§

impl<T, Rhs> OptionRem<Rhs> for Option<T>
where T: OptionOperations + OptionRem<Rhs>,

§

type Output = <T as OptionRem<Rhs>>::Output

§

fn opt_rem(self, rhs: Rhs) -> Option<<Option<T> as OptionRem<Rhs>>::Output>

Implementors§

§

impl<T, InnerRhs> OptionRem<&Option<InnerRhs>, InnerRhs> for T
where T: OptionOperations + OptionRem<InnerRhs>, InnerRhs: Copy,

§

type Output = <T as OptionRem<InnerRhs>>::Output

§

impl<T, InnerRhs> OptionRem<Option<InnerRhs>, InnerRhs> for T
where T: OptionOperations + OptionRem<InnerRhs>,

§

type Output = <T as OptionRem<InnerRhs>>::Output

§

impl<T, Rhs> OptionRem<Rhs> for T
where T: OptionOperations + Rem<Rhs>,

§

type Output = <T as Rem<Rhs>>::Output