Trait SubAssign

1.8.0 ยท Source
pub trait SubAssign<Rhs = Self> {
    // Required method
    fn sub_assign(&mut self, rhs: Rhs);
}
Expand description

The subtraction assignment operator -=.

ยงExamples

This example creates a Point struct that implements the SubAssign trait, and then demonstrates sub-assigning to a mutable Point.

use std::ops::SubAssign;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl SubAssign for Point {
    fn sub_assign(&mut self, other: Self) {
        *self = Self {
            x: self.x - other.x,
            y: self.y - other.y,
        };
    }
}

let mut point = Point { x: 3, y: 3 };
point -= Point { x: 2, y: 3 };
assert_eq!(point, Point {x: 1, y: 0});

Required Methodsยง

1.8.0 ยท Source

fn sub_assign(&mut self, rhs: Rhs)

Performs the -= operation.

ยงExample
let mut x: u32 = 12;
x -= 1;
assert_eq!(x, 11);

Implementorsยง

1.8.0 ยท Sourceยง

impl SubAssign for f16

1.8.0 ยท Sourceยง

impl SubAssign for f32

1.8.0 ยท Sourceยง

impl SubAssign for f64

1.8.0 ยท Sourceยง

impl SubAssign for f128

1.8.0 ยท Sourceยง

impl SubAssign for i8

1.8.0 ยท Sourceยง

impl SubAssign for i16

1.8.0 ยท Sourceยง

impl SubAssign for i32

1.8.0 ยท Sourceยง

impl SubAssign for i64

1.8.0 ยท Sourceยง

impl SubAssign for i128

1.8.0 ยท Sourceยง

impl SubAssign for isize

1.8.0 ยท Sourceยง

impl SubAssign for u8

1.8.0 ยท Sourceยง

impl SubAssign for u16

1.8.0 ยท Sourceยง

impl SubAssign for u32

1.8.0 ยท Sourceยง

impl SubAssign for u64

1.8.0 ยท Sourceยง

impl SubAssign for u128

1.8.0 ยท Sourceยง

impl SubAssign for usize

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<i8>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<i16>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<i32>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<i64>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<i128>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<isize>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<u8>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<u16>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<u32>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<u64>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<u128>

1.74.0 ยท Sourceยง

impl SubAssign for Saturating<usize>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<i8>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<i16>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<i32>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<i64>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<i128>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<isize>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<u8>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<u16>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<u32>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<u64>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<u128>

1.8.0 ยท Sourceยง

impl SubAssign for Wrapping<usize>

1.9.0 ยท Sourceยง

impl SubAssign for Duration

1.22.0 ยท Sourceยง

impl SubAssign<&f16> for f16

1.22.0 ยท Sourceยง

impl SubAssign<&f32> for f32

1.22.0 ยท Sourceยง

impl SubAssign<&f64> for f64

1.22.0 ยท Sourceยง

impl SubAssign<&f128> for f128

1.22.0 ยท Sourceยง

impl SubAssign<&i8> for i8

1.22.0 ยท Sourceยง

impl SubAssign<&i8> for Saturating<i8>

1.22.0 ยท Sourceยง

impl SubAssign<&i8> for Wrapping<i8>

1.22.0 ยท Sourceยง

impl SubAssign<&i16> for i16

1.22.0 ยท Sourceยง

impl SubAssign<&i16> for Saturating<i16>

1.22.0 ยท Sourceยง

impl SubAssign<&i16> for Wrapping<i16>

1.22.0 ยท Sourceยง

impl SubAssign<&i32> for i32

1.22.0 ยท Sourceยง

impl SubAssign<&i32> for Saturating<i32>

1.22.0 ยท Sourceยง

impl SubAssign<&i32> for Wrapping<i32>

1.22.0 ยท Sourceยง

impl SubAssign<&i64> for i64

1.22.0 ยท Sourceยง

impl SubAssign<&i64> for Saturating<i64>

1.22.0 ยท Sourceยง

impl SubAssign<&i64> for Wrapping<i64>

1.22.0 ยท Sourceยง

impl SubAssign<&i128> for i128

1.22.0 ยท Sourceยง

impl SubAssign<&i128> for Saturating<i128>

1.22.0 ยท Sourceยง

impl SubAssign<&i128> for Wrapping<i128>

1.22.0 ยท Sourceยง

impl SubAssign<&isize> for isize

1.22.0 ยท Sourceยง

impl SubAssign<&isize> for Saturating<isize>

1.22.0 ยท Sourceยง

impl SubAssign<&isize> for Wrapping<isize>

1.22.0 ยท Sourceยง

impl SubAssign<&u8> for u8

1.22.0 ยท Sourceยง

impl SubAssign<&u8> for Saturating<u8>

1.22.0 ยท Sourceยง

impl SubAssign<&u8> for Wrapping<u8>

1.22.0 ยท Sourceยง

impl SubAssign<&u16> for u16

1.22.0 ยท Sourceยง

impl SubAssign<&u16> for Saturating<u16>

1.22.0 ยท Sourceยง

impl SubAssign<&u16> for Wrapping<u16>

1.22.0 ยท Sourceยง

impl SubAssign<&u32> for u32

1.22.0 ยท Sourceยง

impl SubAssign<&u32> for Saturating<u32>

1.22.0 ยท Sourceยง

impl SubAssign<&u32> for Wrapping<u32>

1.22.0 ยท Sourceยง

impl SubAssign<&u64> for u64

1.22.0 ยท Sourceยง

impl SubAssign<&u64> for Saturating<u64>

1.22.0 ยท Sourceยง

impl SubAssign<&u64> for Wrapping<u64>

1.22.0 ยท Sourceยง

impl SubAssign<&u128> for u128

1.22.0 ยท Sourceยง

impl SubAssign<&u128> for Saturating<u128>

1.22.0 ยท Sourceยง

impl SubAssign<&u128> for Wrapping<u128>

1.22.0 ยท Sourceยง

impl SubAssign<&usize> for usize

1.22.0 ยท Sourceยง

impl SubAssign<&usize> for Saturating<usize>

1.22.0 ยท Sourceยง

impl SubAssign<&usize> for Wrapping<usize>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<i8>> for Saturating<i8>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<i16>> for Saturating<i16>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<i32>> for Saturating<i32>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<i64>> for Saturating<i64>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<i128>> for Saturating<i128>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<isize>> for Saturating<isize>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<u8>> for Saturating<u8>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<u16>> for Saturating<u16>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<u32>> for Saturating<u32>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<u64>> for Saturating<u64>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<u128>> for Saturating<u128>

1.22.0 ยท Sourceยง

impl SubAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 ยท Sourceยง

impl SubAssign<&Wrapping<usize>> for Wrapping<usize>

1.74.0 ยท Sourceยง

impl SubAssign<i8> for Saturating<i8>

1.60.0 ยท Sourceยง

impl SubAssign<i8> for Wrapping<i8>

1.74.0 ยท Sourceยง

impl SubAssign<i16> for Saturating<i16>

1.60.0 ยท Sourceยง

impl SubAssign<i16> for Wrapping<i16>

1.74.0 ยท Sourceยง

impl SubAssign<i32> for Saturating<i32>

1.60.0 ยท Sourceยง

impl SubAssign<i32> for Wrapping<i32>

1.74.0 ยท Sourceยง

impl SubAssign<i64> for Saturating<i64>

1.60.0 ยท Sourceยง

impl SubAssign<i64> for Wrapping<i64>

1.74.0 ยท Sourceยง

impl SubAssign<i128> for Saturating<i128>

1.60.0 ยท Sourceยง

impl SubAssign<i128> for Wrapping<i128>

1.74.0 ยท Sourceยง

impl SubAssign<isize> for Saturating<isize>

1.60.0 ยท Sourceยง

impl SubAssign<isize> for Wrapping<isize>

1.74.0 ยท Sourceยง

impl SubAssign<u8> for Saturating<u8>

1.60.0 ยท Sourceยง

impl SubAssign<u8> for Wrapping<u8>

1.74.0 ยท Sourceยง

impl SubAssign<u16> for Saturating<u16>

1.60.0 ยท Sourceยง

impl SubAssign<u16> for Wrapping<u16>

1.74.0 ยท Sourceยง

impl SubAssign<u32> for Saturating<u32>

1.60.0 ยท Sourceยง

impl SubAssign<u32> for Wrapping<u32>

1.74.0 ยท Sourceยง

impl SubAssign<u64> for Saturating<u64>

1.60.0 ยท Sourceยง

impl SubAssign<u64> for Wrapping<u64>

1.74.0 ยท Sourceยง

impl SubAssign<u128> for Saturating<u128>

1.60.0 ยท Sourceยง

impl SubAssign<u128> for Wrapping<u128>

1.74.0 ยท Sourceยง

impl SubAssign<usize> for Saturating<usize>

1.60.0 ยท Sourceยง

impl SubAssign<usize> for Wrapping<usize>

1.9.0 ยท Sourceยง

impl SubAssign<Duration> for Instant

1.9.0 ยท Sourceยง

impl SubAssign<Duration> for SystemTime

Sourceยง

impl<T, U, const N: usize> SubAssign<U> for Simd<T, N>
where Simd<T, N>: Sub<U, Output = Simd<T, N>>, T: SimdElement, LaneCount<N>: SupportedLaneCount,