Skip to main content

SubAssign

Trait SubAssign 

1.8.0 (const: unstable) · 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 (const: unstable) · Source§

impl SubAssign for f16

1.8.0 (const: unstable) · Source§

impl SubAssign for f32

1.8.0 (const: unstable) · Source§

impl SubAssign for f64

1.8.0 (const: unstable) · Source§

impl SubAssign for f128

1.8.0 (const: unstable) · Source§

impl SubAssign for i8

1.8.0 (const: unstable) · Source§

impl SubAssign for i16

1.8.0 (const: unstable) · Source§

impl SubAssign for i32

1.8.0 (const: unstable) · Source§

impl SubAssign for i64

1.8.0 (const: unstable) · Source§

impl SubAssign for i128

1.8.0 (const: unstable) · Source§

impl SubAssign for isize

1.8.0 (const: unstable) · Source§

impl SubAssign for u8

1.8.0 (const: unstable) · Source§

impl SubAssign for u16

1.8.0 (const: unstable) · Source§

impl SubAssign for u32

1.8.0 (const: unstable) · Source§

impl SubAssign for u64

1.8.0 (const: unstable) · Source§

impl SubAssign for u128

1.8.0 (const: unstable) · Source§

impl SubAssign for usize

Source§

impl SubAssign for WithdrawReasons

Source§

impl SubAssign for Weight

Source§

impl SubAssign for U256

Source§

impl SubAssign for U512

Source§

impl SubAssign for Capabilities

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl SubAssign for Saturating<usize>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<i8>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<i16>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<i32>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<i64>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<i128>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<isize>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<u8>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<u16>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<u32>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<u64>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<u128>

1.8.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::num::Wrapping<usize>

1.9.0 (const: unstable) · Source§

impl SubAssign for topsoil_core::runtime::std::time::Duration

Source§

impl SubAssign for Checked<Limb>

Source§

impl SubAssign for crypto_bigint::wrapping::Wrapping<Limb>

Source§

impl SubAssign for EdwardsPoint

Source§

impl SubAssign for RistrettoPoint

Source§

impl SubAssign for curve25519_dalek::scalar::Scalar

Source§

impl SubAssign for ProjectivePoint

Source§

impl SubAssign for k256::arithmetic::scalar::Scalar

Source§

impl SubAssign for primitive_types::U128

Source§

impl SubAssign for Slot

Source§

impl SubAssign for time::duration::Duration

1.22.0 (const: unstable) · Source§

impl SubAssign<&f16> for f16

1.22.0 (const: unstable) · Source§

impl SubAssign<&f32> for f32

1.22.0 (const: unstable) · Source§

impl SubAssign<&f64> for f64

1.22.0 (const: unstable) · Source§

impl SubAssign<&f128> for f128

1.22.0 (const: unstable) · Source§

impl SubAssign<&i8> for i8

1.74.0 (const: unstable) · Source§

impl SubAssign<&i8> for Saturating<i8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i8> for topsoil_core::runtime::std::num::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i16> for i16

1.74.0 (const: unstable) · Source§

impl SubAssign<&i16> for Saturating<i16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i16> for topsoil_core::runtime::std::num::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i32> for i32

1.74.0 (const: unstable) · Source§

impl SubAssign<&i32> for Saturating<i32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i32> for topsoil_core::runtime::std::num::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i64> for i64

1.74.0 (const: unstable) · Source§

impl SubAssign<&i64> for Saturating<i64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i64> for topsoil_core::runtime::std::num::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i128> for i128

1.74.0 (const: unstable) · Source§

impl SubAssign<&i128> for Saturating<i128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&i128> for topsoil_core::runtime::std::num::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&isize> for isize

1.74.0 (const: unstable) · Source§

impl SubAssign<&isize> for Saturating<isize>

1.22.0 (const: unstable) · Source§

impl SubAssign<&isize> for topsoil_core::runtime::std::num::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u8> for u8

1.74.0 (const: unstable) · Source§

impl SubAssign<&u8> for Saturating<u8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u8> for topsoil_core::runtime::std::num::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u16> for u16

1.74.0 (const: unstable) · Source§

impl SubAssign<&u16> for Saturating<u16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u16> for topsoil_core::runtime::std::num::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u32> for u32

1.74.0 (const: unstable) · Source§

impl SubAssign<&u32> for Saturating<u32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u32> for topsoil_core::runtime::std::num::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u64> for u64

1.74.0 (const: unstable) · Source§

impl SubAssign<&u64> for Saturating<u64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u64> for topsoil_core::runtime::std::num::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u128> for u128

1.74.0 (const: unstable) · Source§

impl SubAssign<&u128> for Saturating<u128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&u128> for topsoil_core::runtime::std::num::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&usize> for usize

1.74.0 (const: unstable) · Source§

impl SubAssign<&usize> for Saturating<usize>

1.22.0 (const: unstable) · Source§

impl SubAssign<&usize> for topsoil_core::runtime::std::num::Wrapping<usize>

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<i8>> for topsoil_core::runtime::std::num::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<i16>> for topsoil_core::runtime::std::num::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<i32>> for topsoil_core::runtime::std::num::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<i64>> for topsoil_core::runtime::std::num::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<i128>> for topsoil_core::runtime::std::num::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<isize>> for topsoil_core::runtime::std::num::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<u8>> for topsoil_core::runtime::std::num::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<u16>> for topsoil_core::runtime::std::num::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<u32>> for topsoil_core::runtime::std::num::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<u64>> for topsoil_core::runtime::std::num::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<u128>> for topsoil_core::runtime::std::num::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl SubAssign<&Wrapping<usize>> for topsoil_core::runtime::std::num::Wrapping<usize>

Source§

impl SubAssign<&Checked<Limb>> for Checked<Limb>

Source§

impl SubAssign<&Wrapping<Limb>> for crypto_bigint::wrapping::Wrapping<Limb>

Source§

impl SubAssign<&AffinePoint> for ProjectivePoint

Source§

impl SubAssign<&ProjectivePoint> for ProjectivePoint

Source§

impl SubAssign<&Scalar> for k256::arithmetic::scalar::Scalar

1.74.0 (const: unstable) · Source§

impl SubAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · Source§

impl SubAssign<i8> for topsoil_core::runtime::std::num::Wrapping<i8>

1.74.0 (const: unstable) · Source§

impl SubAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · Source§

impl SubAssign<i16> for topsoil_core::runtime::std::num::Wrapping<i16>

1.74.0 (const: unstable) · Source§

impl SubAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · Source§

impl SubAssign<i32> for topsoil_core::runtime::std::num::Wrapping<i32>

1.74.0 (const: unstable) · Source§

impl SubAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · Source§

impl SubAssign<i64> for topsoil_core::runtime::std::num::Wrapping<i64>

1.74.0 (const: unstable) · Source§

impl SubAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · Source§

impl SubAssign<i128> for topsoil_core::runtime::std::num::Wrapping<i128>

1.74.0 (const: unstable) · Source§

impl SubAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · Source§

impl SubAssign<isize> for topsoil_core::runtime::std::num::Wrapping<isize>

1.74.0 (const: unstable) · Source§

impl SubAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · Source§

impl SubAssign<u8> for topsoil_core::runtime::std::num::Wrapping<u8>

1.74.0 (const: unstable) · Source§

impl SubAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · Source§

impl SubAssign<u16> for topsoil_core::runtime::std::num::Wrapping<u16>

1.74.0 (const: unstable) · Source§

impl SubAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · Source§

impl SubAssign<u32> for topsoil_core::runtime::std::num::Wrapping<u32>

1.74.0 (const: unstable) · Source§

impl SubAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · Source§

impl SubAssign<u64> for topsoil_core::runtime::std::num::Wrapping<u64>

1.74.0 (const: unstable) · Source§

impl SubAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · Source§

impl SubAssign<u128> for topsoil_core::runtime::std::num::Wrapping<u128>

1.74.0 (const: unstable) · Source§

impl SubAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · Source§

impl SubAssign<usize> for topsoil_core::runtime::std::num::Wrapping<usize>

1.9.0 · Source§

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

Source§

impl SubAssign<Duration> for PrimitiveDateTime

Source§

impl SubAssign<Duration> for Time

Source§

impl SubAssign<Duration> for UtcDateTime

Source§

impl SubAssign<AffinePoint> for ProjectivePoint

Source§

impl SubAssign<Duration> for Instant

Source§

impl SubAssign<Duration> for SystemTime

Available on crate feature std only.
Source§

impl SubAssign<Duration> for topsoil_core::runtime::std::time::Duration

Source§

impl SubAssign<Duration> for Date

Source§

impl SubAssign<Duration> for OffsetDateTime

Source§

impl SubAssign<Duration> for PrimitiveDateTime

Source§

impl SubAssign<Duration> for Time

Source§

impl SubAssign<Duration> for UtcDateTime

Source§

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

Source§

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

Source§

impl<'b> SubAssign<&'b Scalar> for curve25519_dalek::scalar::Scalar

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<O> SubAssign for Isize<O>
where O: ByteOrder,

Source§

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

Source§

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

Source§

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

Source§

impl<O> SubAssign for zerocopy::byteorder::U128<O>
where O: ByteOrder,

Source§

impl<O> SubAssign for Usize<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<f32> for F32<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<f64> for F64<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<i16> for I16<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<i32> for I32<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<i64> for I64<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<i128> for I128<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<isize> for Isize<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<u16> for U16<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<u32> for U32<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<u64> for U64<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<u128> for zerocopy::byteorder::U128<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<usize> for Usize<O>
where O: ByteOrder,

Source§

impl<O> SubAssign<F32<O>> for f32
where O: ByteOrder,

Source§

impl<O> SubAssign<F64<O>> for f64
where O: ByteOrder,

Source§

impl<O> SubAssign<I16<O>> for i16
where O: ByteOrder,

Source§

impl<O> SubAssign<I32<O>> for i32
where O: ByteOrder,

Source§

impl<O> SubAssign<I64<O>> for i64
where O: ByteOrder,

Source§

impl<O> SubAssign<I128<O>> for i128
where O: ByteOrder,

Source§

impl<O> SubAssign<Isize<O>> for isize
where O: ByteOrder,

Source§

impl<O> SubAssign<U16<O>> for u16
where O: ByteOrder,

Source§

impl<O> SubAssign<U32<O>> for u32
where O: ByteOrder,

Source§

impl<O> SubAssign<U64<O>> for u64
where O: ByteOrder,

Source§

impl<O> SubAssign<U128<O>> for u128
where O: ByteOrder,

Source§

impl<O> SubAssign<Usize<O>> for usize
where O: ByteOrder,

Source§

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

Source§

impl<T, S, A> SubAssign<&HashSet<T, S, A>> for HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher, A: Allocator,

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,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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