pub trait SubAssign<Rhs = Self> {
    // Required method
    fn sub_assign(&mut self, rhs: Rhs);
}
Available on non-crate feature miri-test-libstd only.
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§

source

fn sub_assign(&mut self, rhs: Rhs)

Performs the -= operation.

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

Implementors§

source§

impl SubAssign for f32

source§

impl SubAssign for f64

source§

impl SubAssign for i8

source§

impl SubAssign for i16

source§

impl SubAssign for i32

source§

impl SubAssign for i64

source§

impl SubAssign for i128

source§

impl SubAssign for isize

source§

impl SubAssign for u8

source§

impl SubAssign for u16

source§

impl SubAssign for u32

source§

impl SubAssign for u64

source§

impl SubAssign for u128

source§

impl SubAssign for usize

1.9.0 · source§

impl SubAssign for kvarn::prelude::Duration

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>

source§

impl SubAssign for Wrapping<i8>

source§

impl SubAssign for Wrapping<i16>

source§

impl SubAssign for Wrapping<i32>

source§

impl SubAssign for Wrapping<i64>

source§

impl SubAssign for Wrapping<i128>

source§

impl SubAssign for Wrapping<isize>

source§

impl SubAssign for Wrapping<u8>

source§

impl SubAssign for Wrapping<u16>

source§

impl SubAssign for Wrapping<u32>

source§

impl SubAssign for Wrapping<u64>

source§

impl SubAssign for Wrapping<u128>

source§

impl SubAssign for Wrapping<usize>

source§

impl SubAssign for BigInt

source§

impl SubAssign for BigUint

source§

impl SubAssign for time::duration::Duration

§

impl SubAssign for EventMask

§

impl SubAssign for Flags

§

impl SubAssign for FsyncFlags

§

impl SubAssign for TimeoutFlags

§

impl SubAssign for WatchMask

1.22.0 · source§

impl SubAssign<&f32> for f32

1.22.0 · source§

impl SubAssign<&f64> for f64

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>

source§

impl SubAssign<&BigInt> for BigInt

source§

impl SubAssign<&BigUint> for BigUint

1.74.0 · source§

impl SubAssign<i8> for Saturating<i8>

1.60.0 · source§

impl SubAssign<i8> for Wrapping<i8>

source§

impl SubAssign<i8> for BigInt

1.74.0 · source§

impl SubAssign<i16> for Saturating<i16>

1.60.0 · source§

impl SubAssign<i16> for Wrapping<i16>

source§

impl SubAssign<i16> for BigInt

1.74.0 · source§

impl SubAssign<i32> for Saturating<i32>

1.60.0 · source§

impl SubAssign<i32> for Wrapping<i32>

source§

impl SubAssign<i32> for BigInt

1.74.0 · source§

impl SubAssign<i64> for Saturating<i64>

1.60.0 · source§

impl SubAssign<i64> for Wrapping<i64>

source§

impl SubAssign<i64> for BigInt

1.74.0 · source§

impl SubAssign<i128> for Saturating<i128>

1.60.0 · source§

impl SubAssign<i128> for Wrapping<i128>

source§

impl SubAssign<i128> for BigInt

1.74.0 · source§

impl SubAssign<isize> for Saturating<isize>

1.60.0 · source§

impl SubAssign<isize> for Wrapping<isize>

source§

impl SubAssign<isize> for BigInt

1.74.0 · source§

impl SubAssign<u8> for Saturating<u8>

1.60.0 · source§

impl SubAssign<u8> for Wrapping<u8>

source§

impl SubAssign<u8> for BigInt

source§

impl SubAssign<u8> for BigUint

1.74.0 · source§

impl SubAssign<u16> for Saturating<u16>

1.60.0 · source§

impl SubAssign<u16> for Wrapping<u16>

source§

impl SubAssign<u16> for BigInt

source§

impl SubAssign<u16> for BigUint

1.74.0 · source§

impl SubAssign<u32> for Saturating<u32>

1.60.0 · source§

impl SubAssign<u32> for Wrapping<u32>

source§

impl SubAssign<u32> for BigInt

source§

impl SubAssign<u32> for BigUint

1.74.0 · source§

impl SubAssign<u64> for Saturating<u64>

1.60.0 · source§

impl SubAssign<u64> for Wrapping<u64>

source§

impl SubAssign<u64> for BigInt

source§

impl SubAssign<u64> for BigUint

1.74.0 · source§

impl SubAssign<u128> for Saturating<u128>

1.60.0 · source§

impl SubAssign<u128> for Wrapping<u128>

source§

impl SubAssign<u128> for BigInt

source§

impl SubAssign<u128> for BigUint

1.74.0 · source§

impl SubAssign<usize> for Saturating<usize>

1.60.0 · source§

impl SubAssign<usize> for Wrapping<usize>

source§

impl SubAssign<usize> for BigInt

source§

impl SubAssign<usize> for BigUint

source§

impl SubAssign<Duration> for OffsetDateTime

1.9.0 · source§

impl SubAssign<Duration> for kvarn::prelude::Instant

1.9.0 · source§

impl SubAssign<Duration> for SystemTime

source§

impl SubAssign<Duration> for Date

source§

impl SubAssign<Duration> for time::duration::Duration

source§

impl SubAssign<Duration> for time::instant::Instant

source§

impl SubAssign<Duration> for PrimitiveDateTime

source§

impl SubAssign<Duration> for Time

source§

impl SubAssign<Duration> for tokio::time::instant::Instant

source§

impl SubAssign<Duration> for OffsetDateTime

source§

impl SubAssign<Duration> for kvarn::prelude::Duration

source§

impl SubAssign<Duration> for kvarn::prelude::Instant

source§

impl SubAssign<Duration> for SystemTime

Available on crate feature std only.
source§

impl SubAssign<Duration> for Date

source§

impl SubAssign<Duration> for time::instant::Instant

source§

impl SubAssign<Duration> for PrimitiveDateTime

source§

impl SubAssign<Duration> for Time

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,