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

Source§

impl SubAssign for Mod

Source§

impl SubAssign for f16

1.9.0 · Source§

impl SubAssign for 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>

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>

Source§

impl SubAssign for JoystickHats

Source§

impl SubAssign for Modifiers

Source§

impl SubAssign for bf16

Source§

impl SubAssign for m128

Source§

impl SubAssign for m128d

Source§

impl SubAssign for AutoSimd<[f32; 2]>

Source§

impl SubAssign for AutoSimd<[f32; 4]>

Source§

impl SubAssign for AutoSimd<[f32; 8]>

Source§

impl SubAssign for AutoSimd<[f32; 16]>

Source§

impl SubAssign for AutoSimd<[f64; 2]>

Source§

impl SubAssign for AutoSimd<[f64; 4]>

Source§

impl SubAssign for AutoSimd<[f64; 8]>

Source§

impl SubAssign for AutoSimd<[i8; 2]>

Source§

impl SubAssign for AutoSimd<[i8; 4]>

Source§

impl SubAssign for AutoSimd<[i8; 8]>

Source§

impl SubAssign for AutoSimd<[i8; 16]>

Source§

impl SubAssign for AutoSimd<[i8; 32]>

Source§

impl SubAssign for AutoSimd<[i16; 2]>

Source§

impl SubAssign for AutoSimd<[i16; 4]>

Source§

impl SubAssign for AutoSimd<[i16; 8]>

Source§

impl SubAssign for AutoSimd<[i16; 16]>

Source§

impl SubAssign for AutoSimd<[i16; 32]>

Source§

impl SubAssign for AutoSimd<[i32; 2]>

Source§

impl SubAssign for AutoSimd<[i32; 4]>

Source§

impl SubAssign for AutoSimd<[i32; 8]>

Source§

impl SubAssign for AutoSimd<[i32; 16]>

Source§

impl SubAssign for AutoSimd<[i64; 2]>

Source§

impl SubAssign for AutoSimd<[i64; 4]>

Source§

impl SubAssign for AutoSimd<[i64; 8]>

Source§

impl SubAssign for AutoSimd<[i128; 1]>

Source§

impl SubAssign for AutoSimd<[i128; 2]>

Source§

impl SubAssign for AutoSimd<[i128; 4]>

Source§

impl SubAssign for AutoSimd<[isize; 2]>

Source§

impl SubAssign for AutoSimd<[isize; 4]>

Source§

impl SubAssign for AutoSimd<[isize; 8]>

Source§

impl SubAssign for AutoSimd<[u8; 2]>

Source§

impl SubAssign for AutoSimd<[u8; 4]>

Source§

impl SubAssign for AutoSimd<[u8; 8]>

Source§

impl SubAssign for AutoSimd<[u8; 16]>

Source§

impl SubAssign for AutoSimd<[u8; 32]>

Source§

impl SubAssign for AutoSimd<[u16; 2]>

Source§

impl SubAssign for AutoSimd<[u16; 4]>

Source§

impl SubAssign for AutoSimd<[u16; 8]>

Source§

impl SubAssign for AutoSimd<[u16; 16]>

Source§

impl SubAssign for AutoSimd<[u16; 32]>

Source§

impl SubAssign for AutoSimd<[u32; 2]>

Source§

impl SubAssign for AutoSimd<[u32; 4]>

Source§

impl SubAssign for AutoSimd<[u32; 8]>

Source§

impl SubAssign for AutoSimd<[u32; 16]>

Source§

impl SubAssign for AutoSimd<[u64; 2]>

Source§

impl SubAssign for AutoSimd<[u64; 4]>

Source§

impl SubAssign for AutoSimd<[u64; 8]>

Source§

impl SubAssign for AutoSimd<[u128; 1]>

Source§

impl SubAssign for AutoSimd<[u128; 2]>

Source§

impl SubAssign for AutoSimd<[u128; 4]>

Source§

impl SubAssign for AutoSimd<[usize; 2]>

Source§

impl SubAssign for AutoSimd<[usize; 4]>

Source§

impl SubAssign for AutoSimd<[usize; 8]>

Source§

impl SubAssign for WideF32x4

Source§

impl SubAssign for WideF32x8

Source§

impl SubAssign for WideF64x4

Source§

impl SubAssign for f32x4

Source§

impl SubAssign for f32x8

Source§

impl SubAssign for f64x2

Source§

impl SubAssign for f64x4

Source§

impl SubAssign for i8x16

Source§

impl SubAssign for i8x32

Source§

impl SubAssign for i16x8

Source§

impl SubAssign for i16x16

Source§

impl SubAssign for i32x4

Source§

impl SubAssign for i32x8

Source§

impl SubAssign for i64x2

Source§

impl SubAssign for u8x16

Source§

impl SubAssign for u16x8

Source§

impl SubAssign for u16x16

Source§

impl SubAssign for u32x4

Source§

impl SubAssign for u32x8

Source§

impl SubAssign for u64x2

Source§

impl SubAssign for u64x4

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>

Source§

impl SubAssign<&f16> for f16

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<&bf16> for bf16

Source§

impl SubAssign<&f32x4> for f32x4

Source§

impl SubAssign<&f32x8> for f32x8

Source§

impl SubAssign<&f64x2> for f64x2

Source§

impl SubAssign<&f64x4> for f64x4

Source§

impl SubAssign<&i8x16> for i8x16

Source§

impl SubAssign<&i8x32> for i8x32

Source§

impl SubAssign<&i16x8> for i16x8

Source§

impl SubAssign<&i16x16> for i16x16

Source§

impl SubAssign<&i32x4> for i32x4

Source§

impl SubAssign<&i32x8> for i32x8

Source§

impl SubAssign<&i64x2> for i64x2

Source§

impl SubAssign<&u8x16> for u8x16

Source§

impl SubAssign<&u16x8> for u16x8

Source§

impl SubAssign<&u16x16> for u16x16

Source§

impl SubAssign<&u32x4> for u32x4

Source§

impl SubAssign<&u32x8> for u32x8

Source§

impl SubAssign<&u64x2> for u64x2

Source§

impl SubAssign<&u64x4> for u64x4

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 grafix_toolbox::stdlib::time::Instant

1.9.0 · Source§

impl SubAssign<Duration> for SystemTime

Source§

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

Source§

impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T>
where T: Clone + NumAssign,

Source§

impl<'a, T> SubAssign<&'a Ratio<T>> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<'a, T> SubAssign<&'a T> for Complex<T>
where T: Clone + NumAssign,

Source§

impl<'a, T> SubAssign<&'a T> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<'b, T> SubAssign<&'b DualQuaternion<T>> for DualQuaternion<T>

Source§

impl<'b, T> SubAssign<&'b Quaternion<T>> for Quaternion<T>

Source§

impl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>

Source§

impl<'b, T, R1, C1, R2, C2, SA, SB> SubAssign<&'b Matrix<T, R2, C2, SB>> for Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedSubAssign, SA: StorageMut<T, R1, C1>, SB: Storage<T, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

Source§

impl<T> SubAssign for DualQuaternion<T>

Source§

impl<T> SubAssign for Quaternion<T>

Source§

impl<T> SubAssign for Complex<T>
where T: Clone + NumAssign,

Source§

impl<T> SubAssign for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<T> SubAssign<T> for Complex<T>
where T: Clone + NumAssign,

Source§

impl<T> SubAssign<T> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>

Source§

impl<T, R1, C1, R2, C2, SA, SB> SubAssign<Matrix<T, R2, C2, SB>> for Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedSubAssign, SA: StorageMut<T, R1, C1>, SB: Storage<T, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

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,