pub trait Rem<Rhs = Self> {
    type Output;
    // Required method
    fn rem(self, rhs: Rhs) -> Self::Output;
}Expand description
The remainder operator %.
Note that Rhs is Self by default, but this is not mandatory.
Examples
This example implements Rem on a SplitSlice object. After Rem is
implemented, one can use the % operator to find out what the remaining
elements of the slice would be after splitting it into equal slices of a
given length.
use std::ops::Rem;
#[derive(PartialEq, Debug)]
struct SplitSlice<'a, T> {
    slice: &'a [T],
}
impl<'a, T> Rem<usize> for SplitSlice<'a, T> {
    type Output = Self;
    fn rem(self, modulus: usize) -> Self::Output {
        let len = self.slice.len();
        let rem = len % modulus;
        let start = len - rem;
        Self {slice: &self.slice[start..]}
    }
}
// If we were to divide &[0, 1, 2, 3, 4, 5, 6, 7] into slices of size 3,
// the remainder would be &[6, 7].
assert_eq!(SplitSlice { slice: &[0, 1, 2, 3, 4, 5, 6, 7] } % 3,
           SplitSlice { slice: &[6, 7] });Required Associated Types§
Required Methods§
Implementors§
source§impl Rem for f32
 
impl Rem for f32
The remainder from the division of two floats.
The remainder has the same sign as the dividend and is computed as:
x - (x / y).trunc() * y.
Examples
let x: f32 = 50.50;
let y: f32 = 8.125;
let remainder = x - (x / y).trunc() * y;
// The answer to both operations is 1.75
assert_eq!(x % y, remainder);source§impl Rem for f64
 
impl Rem for f64
The remainder from the division of two floats.
The remainder has the same sign as the dividend and is computed as:
x - (x / y).trunc() * y.
Examples
let x: f32 = 50.50;
let y: f32 = 8.125;
let remainder = x - (x / y).trunc() * y;
// The answer to both operations is 1.75
assert_eq!(x % y, remainder);source§impl Rem for i8
 
impl Rem for i8
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for i16
 
impl Rem for i16
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for i32
 
impl Rem for i32
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for i64
 
impl Rem for i64
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for i128
 
impl Rem for i128
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for isize
 
impl Rem for isize
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
source§impl Rem for u8
 
impl Rem for u8
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.
source§impl Rem for u16
 
impl Rem for u16
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.
source§impl Rem for u32
 
impl Rem for u32
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.
source§impl Rem for u64
 
impl Rem for u64
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.
source§impl Rem for u128
 
impl Rem for u128
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.
source§impl Rem for usize
 
impl Rem for usize
This operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0.