Trait cairo_vm::with_std::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

source§

impl SubAssign for Felt

Field subtraction. Never overflows/underflows.

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 cairo_vm::with_std::num::Wrapping<i8>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<i16>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<i32>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<i64>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<i128>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<isize>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<u8>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<u16>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<u32>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<u64>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<u128>

1.8.0 · source§

impl SubAssign for cairo_vm::with_std::num::Wrapping<usize>

1.9.0 · source§

impl SubAssign for cairo_vm::with_std::time::Duration

source§

impl SubAssign for Checked<Limb>

source§

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

source§

impl SubAssign for BigInt

source§

impl SubAssign for BigUint

source§

impl SubAssign for udouble

source§

impl SubAssign for Decimal

source§

impl SubAssign for FieldElement

source§

impl SubAssign for ProjectivePoint

source§

impl SubAssign for time::duration::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::Wrapping<usize>

source§

impl SubAssign<&Felt> for Felt

Field subtraction. Never overflows/underflows.

source§

impl SubAssign<&ExecutionResources> for ExecutionResources

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 cairo_vm::with_std::num::Wrapping<i8>

1.22.0 · source§

impl SubAssign<&Wrapping<i16>> for cairo_vm::with_std::num::Wrapping<i16>

1.22.0 · source§

impl SubAssign<&Wrapping<i32>> for cairo_vm::with_std::num::Wrapping<i32>

1.22.0 · source§

impl SubAssign<&Wrapping<i64>> for cairo_vm::with_std::num::Wrapping<i64>

1.22.0 · source§

impl SubAssign<&Wrapping<i128>> for cairo_vm::with_std::num::Wrapping<i128>

1.22.0 · source§

impl SubAssign<&Wrapping<isize>> for cairo_vm::with_std::num::Wrapping<isize>

1.22.0 · source§

impl SubAssign<&Wrapping<u8>> for cairo_vm::with_std::num::Wrapping<u8>

1.22.0 · source§

impl SubAssign<&Wrapping<u16>> for cairo_vm::with_std::num::Wrapping<u16>

1.22.0 · source§

impl SubAssign<&Wrapping<u32>> for cairo_vm::with_std::num::Wrapping<u32>

1.22.0 · source§

impl SubAssign<&Wrapping<u64>> for cairo_vm::with_std::num::Wrapping<u64>

1.22.0 · source§

impl SubAssign<&Wrapping<u128>> for cairo_vm::with_std::num::Wrapping<u128>

1.22.0 · source§

impl SubAssign<&Wrapping<usize>> for cairo_vm::with_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<&BigInt> for BigInt

source§

impl SubAssign<&BigUint> for BigUint

source§

impl SubAssign<&AffinePoint> for AffinePoint

source§

impl SubAssign<&ProjectivePoint> for ProjectivePoint

1.74.0 · source§

impl SubAssign<i8> for Saturating<i8>

1.60.0 · source§

impl SubAssign<i8> for cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::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 cairo_vm::with_std::num::Wrapping<u128>

source§

impl SubAssign<u128> for BigInt

source§

impl SubAssign<u128> for BigUint

source§

impl SubAssign<u128> for udouble

1.74.0 · source§

impl SubAssign<usize> for Saturating<usize>

1.60.0 · source§

impl SubAssign<usize> for cairo_vm::with_std::num::Wrapping<usize>

source§

impl SubAssign<usize> for BigInt

source§

impl SubAssign<usize> for BigUint

1.9.0 · source§

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

source§

impl SubAssign<Duration> for PrimitiveDateTime

source§

impl SubAssign<Duration> for Time

source§

impl SubAssign<Duration> for cairo_vm::with_std::time::Duration

source§

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

source§

impl SubAssign<Duration> for SystemTime

source§

impl SubAssign<Duration> for Date

source§

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

source§

impl SubAssign<Duration> for OffsetDateTime

source§

impl SubAssign<Duration> for PrimitiveDateTime

source§

impl SubAssign<Duration> for Time

source§

impl<'a> SubAssign<&'a Decimal> for &'a mut Decimal

source§

impl<'a> SubAssign<&'a Decimal> for Decimal

source§

impl<'a> SubAssign<Decimal> for &'a mut Decimal

source§

impl<'a, P> SubAssign<&'a CubicExtField<P>> for CubicExtField<P>
where P: CubicExtConfig,

source§

impl<'a, P> SubAssign<&'a QuadExtField<P>> for QuadExtField<P>
where P: QuadExtConfig,

source§

impl<'a, P> SubAssign<&'a mut CubicExtField<P>> for CubicExtField<P>
where P: CubicExtConfig,

source§

impl<'a, P> SubAssign<&'a mut QuadExtField<P>> for QuadExtField<P>
where P: QuadExtConfig,

source§

impl<'a, P, const N: usize> SubAssign<&'a Fp<P, N>> for Fp<P, N>
where P: FpConfig<N>,

source§

impl<'a, P, const N: usize> SubAssign<&'a mut Fp<P, N>> for Fp<P, N>
where P: FpConfig<N>,

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<P> SubAssign for CubicExtField<P>
where P: CubicExtConfig,

source§

impl<P> SubAssign for QuadExtField<P>
where P: QuadExtConfig,

source§

impl<P, const N: usize> SubAssign for Fp<P, N>
where P: FpConfig<N>,

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,

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>>