Skip to main content

AddAssign

Trait AddAssign 

1.8.0 (const: unstable) · Source
pub trait AddAssign<Rhs = Self> {
    // Required method
    fn add_assign(&mut self, rhs: Rhs);
}
Expand description

The addition assignment operator +=.

§Examples

This example creates a Point struct that implements the AddAssign trait, and then demonstrates add-assigning to a mutable Point.

use std::ops::AddAssign;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl AddAssign for Point {
    fn add_assign(&mut self, other: Self) {
        *self = Self {
            x: self.x + other.x,
            y: self.y + other.y,
        };
    }
}

let mut point = Point { x: 1, y: 0 };
point += Point { x: 2, y: 3 };
assert_eq!(point, Point { x: 3, y: 3 });

Required Methods§

1.8.0 (const: unstable) · Source

fn add_assign(&mut self, rhs: Rhs)

Performs the += operation.

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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl AddAssign for BoxedMontyForm

Available on crate feature alloc only.
Source§

impl AddAssign for Checked<Limb>

1.9.0 (const: unstable) · Source§

impl AddAssign for Duration

Source§

impl AddAssign for Limb

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl AddAssign for Saturating<usize>

Source§

impl AddAssign for crypto_bigint::Wrapping<Limb>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<i8>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<i16>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<i32>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<i64>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<i128>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<isize>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<u8>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<u16>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<u32>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<u64>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<u128>

1.8.0 (const: unstable) · Source§

impl AddAssign for core::num::wrapping::Wrapping<usize>

1.8.0 (const: unstable) · Source§

impl AddAssign for f16

1.8.0 (const: unstable) · Source§

impl AddAssign for f32

1.8.0 (const: unstable) · Source§

impl AddAssign for f64

1.8.0 (const: unstable) · Source§

impl AddAssign for f128

1.8.0 (const: unstable) · Source§

impl AddAssign for i8

1.8.0 (const: unstable) · Source§

impl AddAssign for i16

1.8.0 (const: unstable) · Source§

impl AddAssign for i32

1.8.0 (const: unstable) · Source§

impl AddAssign for i64

1.8.0 (const: unstable) · Source§

impl AddAssign for i128

1.8.0 (const: unstable) · Source§

impl AddAssign for isize

1.8.0 (const: unstable) · Source§

impl AddAssign for u8

1.8.0 (const: unstable) · Source§

impl AddAssign for u16

1.8.0 (const: unstable) · Source§

impl AddAssign for u32

1.8.0 (const: unstable) · Source§

impl AddAssign for u64

1.8.0 (const: unstable) · Source§

impl AddAssign for u128

1.8.0 (const: unstable) · Source§

impl AddAssign for usize

Source§

impl AddAssign<&BoxedMontyForm> for BoxedMontyForm

Available on crate feature alloc only.
Source§

impl AddAssign<&Checked<Limb>> for Checked<Limb>

Source§

impl AddAssign<&Limb> for Limb

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<i8>> for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<i16>> for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<i32>> for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<i64>> for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<i128>> for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<isize>> for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<u8>> for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<u16>> for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<u32>> for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<u64>> for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<u128>> for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl AddAssign<&Saturating<usize>> for Saturating<usize>

Source§

impl AddAssign<&Wrapping<Limb>> for crypto_bigint::Wrapping<Limb>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<i8>> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<i16>> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<i32>> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<i64>> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<i128>> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<isize>> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<u8>> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<u16>> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<u32>> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<u64>> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<u128>> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<usize>> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&f16> for f16

1.22.0 (const: unstable) · Source§

impl AddAssign<&f32> for f32

1.22.0 (const: unstable) · Source§

impl AddAssign<&f64> for f64

1.22.0 (const: unstable) · Source§

impl AddAssign<&f128> for f128

1.74.0 (const: unstable) · Source§

impl AddAssign<&i8> for Saturating<i8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i8> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i8> for i8

1.74.0 (const: unstable) · Source§

impl AddAssign<&i16> for Saturating<i16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i16> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i16> for i16

1.74.0 (const: unstable) · Source§

impl AddAssign<&i32> for Saturating<i32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i32> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i32> for i32

1.74.0 (const: unstable) · Source§

impl AddAssign<&i64> for Saturating<i64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i64> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i64> for i64

1.74.0 (const: unstable) · Source§

impl AddAssign<&i128> for Saturating<i128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i128> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&i128> for i128

1.74.0 (const: unstable) · Source§

impl AddAssign<&isize> for Saturating<isize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&isize> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&isize> for isize

1.12.0 · Source§

impl AddAssign<&str> for String

Available on non-no_global_oom_handling only.

Implements the += operator for appending to a String.

This has the same behavior as the push_str method.

1.74.0 (const: unstable) · Source§

impl AddAssign<&u8> for Saturating<u8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u8> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u8> for u8

1.74.0 (const: unstable) · Source§

impl AddAssign<&u16> for Saturating<u16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u16> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u16> for u16

1.74.0 (const: unstable) · Source§

impl AddAssign<&u32> for Saturating<u32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u32> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u32> for u32

1.74.0 (const: unstable) · Source§

impl AddAssign<&u64> for Saturating<u64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u64> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u64> for u64

1.74.0 (const: unstable) · Source§

impl AddAssign<&u128> for Saturating<u128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u128> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl AddAssign<&u128> for u128

1.74.0 (const: unstable) · Source§

impl AddAssign<&usize> for Saturating<usize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&usize> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&usize> for usize

1.74.0 (const: unstable) · Source§

impl AddAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · Source§

impl AddAssign<i8> for core::num::wrapping::Wrapping<i8>

1.74.0 (const: unstable) · Source§

impl AddAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · Source§

impl AddAssign<i16> for core::num::wrapping::Wrapping<i16>

1.74.0 (const: unstable) · Source§

impl AddAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · Source§

impl AddAssign<i32> for core::num::wrapping::Wrapping<i32>

1.74.0 (const: unstable) · Source§

impl AddAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · Source§

impl AddAssign<i64> for core::num::wrapping::Wrapping<i64>

1.74.0 (const: unstable) · Source§

impl AddAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · Source§

impl AddAssign<i128> for core::num::wrapping::Wrapping<i128>

1.74.0 (const: unstable) · Source§

impl AddAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · Source§

impl AddAssign<isize> for core::num::wrapping::Wrapping<isize>

Source§

impl AddAssign<u8> for BoxedUint

Available on crate feature alloc only.
1.74.0 (const: unstable) · Source§

impl AddAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · Source§

impl AddAssign<u8> for core::num::wrapping::Wrapping<u8>

Source§

impl AddAssign<u16> for BoxedUint

Available on crate feature alloc only.
1.74.0 (const: unstable) · Source§

impl AddAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · Source§

impl AddAssign<u16> for core::num::wrapping::Wrapping<u16>

Source§

impl AddAssign<u32> for BoxedUint

Available on crate feature alloc only.
1.74.0 (const: unstable) · Source§

impl AddAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · Source§

impl AddAssign<u32> for core::num::wrapping::Wrapping<u32>

Source§

impl AddAssign<u64> for BoxedUint

Available on crate feature alloc only.
1.74.0 (const: unstable) · Source§

impl AddAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · Source§

impl AddAssign<u64> for core::num::wrapping::Wrapping<u64>

Source§

impl AddAssign<u128> for BoxedUint

Available on crate feature alloc only.
1.74.0 (const: unstable) · Source§

impl AddAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · Source§

impl AddAssign<u128> for core::num::wrapping::Wrapping<u128>

1.74.0 (const: unstable) · Source§

impl AddAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · Source§

impl AddAssign<usize> for core::num::wrapping::Wrapping<usize>

1.14.0 · Source§

impl<'a> AddAssign for Cow<'a, str>

Available on non-no_global_oom_handling only.
1.14.0 · Source§

impl<'a> AddAssign<&'a str> for Cow<'a, str>

Available on non-no_global_oom_handling only.
Source§

impl<MOD: ConstMontyParams<LIMBS>, const LIMBS: usize> AddAssign for ConstMontyForm<MOD, LIMBS>

Source§

impl<MOD: ConstMontyParams<LIMBS>, const LIMBS: usize> AddAssign<&ConstMontyForm<MOD, LIMBS>> for ConstMontyForm<MOD, LIMBS>

Source§

impl<Rhs: AsRef<UintRef>> AddAssign<Rhs> for BoxedUint

Available on crate feature alloc only.
Source§

impl<Rhs: AsRef<UintRef>> AddAssign<Rhs> for crypto_bigint::Wrapping<BoxedUint>

Available on crate feature alloc only.
Source§

impl<T, U, const N: usize> AddAssign<U> for Simd<T, N>
where Simd<T, N>: Add<U, Output = Simd<T, N>>, T: SimdElement,

Source§

impl<const LIMBS: usize> AddAssign for Checked<Int<LIMBS>>

Source§

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

Source§

impl<const LIMBS: usize> AddAssign for FixedMontyForm<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign for Int<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign for Uint<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign for crypto_bigint::Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize> AddAssign for crypto_bigint::Wrapping<Uint<LIMBS>>

Source§

impl<const LIMBS: usize> AddAssign<&Checked<Int<LIMBS>>> for Checked<Int<LIMBS>>

Source§

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

Source§

impl<const LIMBS: usize> AddAssign<&FixedMontyForm<LIMBS>> for FixedMontyForm<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign<&Int<LIMBS>> for Int<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign<&Uint<LIMBS>> for Uint<LIMBS>

Source§

impl<const LIMBS: usize> AddAssign<&Wrapping<Int<LIMBS>>> for crypto_bigint::Wrapping<Int<LIMBS>>

Source§

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