Trait no_std_compat::ops::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,

impl<Tz: TimeZone> SubAssign<TimeDelta> for Date<Tz>

impl<Tz: TimeZone> SubAssign<Duration> for DateTime<Tz>

impl<MOD: ResidueParams<LIMBS>, const LIMBS: usize> SubAssign for Residue<MOD, LIMBS>

impl<MOD: ResidueParams<LIMBS>, const LIMBS: usize> SubAssign<&Residue<MOD, LIMBS>> for Residue<MOD, LIMBS>

impl<const LIMBS: usize> SubAssign for DynResidue<LIMBS>

impl<const LIMBS: usize> SubAssign for Checked<Uint<LIMBS>>

impl<const LIMBS: usize> SubAssign for Wrapping<Uint<LIMBS>>

impl<const LIMBS: usize> SubAssign<&DynResidue<LIMBS>> for DynResidue<LIMBS>

impl<const LIMBS: usize> SubAssign<&Checked<Uint<LIMBS>>> for Checked<Uint<LIMBS>>

impl<const LIMBS: usize> SubAssign<&Wrapping<Uint<LIMBS>>> for Wrapping<Uint<LIMBS>>

impl SubAssign for Scalar

impl<'b> SubAssign<&'b Scalar> for Scalar

impl<C> SubAssign for ScalarPrimitive<C>
where C: Curve,

impl<C> SubAssign<&ScalarPrimitive<C>> for ScalarPrimitive<C>
where C: Curve,

impl SubAssign for Scalar

impl SubAssign for Events

impl SubAssign for FdFlag

impl SubAssign for OFlag

impl SubAssign for Mode

impl SubAssign for SFlag

impl SubAssign for BigInt

impl SubAssign<i16> for BigInt

impl SubAssign<i32> for BigInt

impl SubAssign<i64> for BigInt

impl SubAssign<i8> for BigInt

impl SubAssign<u16> for BigInt

impl SubAssign<u32> for BigInt

impl SubAssign<u64> for BigInt

impl SubAssign<u8> for BigInt

impl SubAssign<u8> for BigUint

impl<T: Float + SubAssign> SubAssign for NotNan<T>

impl<T: Float + SubAssign> SubAssign<T> for NotNan<T>

impl SubAssign for U128

impl SubAssign for U256

impl SubAssign for U512

impl SubAssign for Access

impl SubAssign for IFlags

impl SubAssign for Mode

impl SubAssign for OFlags

impl SubAssign for Roles

impl SubAssign for Slot

impl<T: SubAssign, D: Get<T>> SubAssign for TypeWithDefault<T, D>

impl SubAssign for Weight

impl SubAssign for Phase

impl<O: ByteOrder> SubAssign for F32<O>

impl<O: ByteOrder> SubAssign for F64<O>

impl<O: ByteOrder> SubAssign for I128<O>

impl<O: ByteOrder> SubAssign for I16<O>

impl<O: ByteOrder> SubAssign for I32<O>

impl<O: ByteOrder> SubAssign for I64<O>

impl<O: ByteOrder> SubAssign for U128<O>

impl<O: ByteOrder> SubAssign for U16<O>

impl<O: ByteOrder> SubAssign for U32<O>

impl<O: ByteOrder> SubAssign for U64<O>