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§

source

fn add_assign(&mut self, rhs: Rhs)

Performs the += operation.

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

Implementors§

source§

impl AddAssign for f32

source§

impl AddAssign for f64

source§

impl AddAssign for i8

source§

impl AddAssign for i16

source§

impl AddAssign for i32

source§

impl AddAssign for i64

source§

impl AddAssign for i128

source§

impl AddAssign for isize

source§

impl AddAssign for u8

source§

impl AddAssign for u16

source§

impl AddAssign for u32

source§

impl AddAssign for u64

source§

impl AddAssign for u128

source§

impl AddAssign for usize

1.74.0 · source§

impl AddAssign for Saturating<i8>

1.74.0 · source§

impl AddAssign for Saturating<i16>

1.74.0 · source§

impl AddAssign for Saturating<i32>

1.74.0 · source§

impl AddAssign for Saturating<i64>

1.74.0 · source§

impl AddAssign for Saturating<i128>

1.74.0 · source§

impl AddAssign for Saturating<isize>

1.74.0 · source§

impl AddAssign for Saturating<u8>

1.74.0 · source§

impl AddAssign for Saturating<u16>

1.74.0 · source§

impl AddAssign for Saturating<u32>

1.74.0 · source§

impl AddAssign for Saturating<u64>

1.74.0 · source§

impl AddAssign for Saturating<u128>

1.74.0 · source§

impl AddAssign for Saturating<usize>

source§

impl AddAssign for Wrapping<i8>

source§

impl AddAssign for Wrapping<i16>

source§

impl AddAssign for Wrapping<i32>

source§

impl AddAssign for Wrapping<i64>

source§

impl AddAssign for Wrapping<i128>

source§

impl AddAssign for Wrapping<isize>

source§

impl AddAssign for Wrapping<u8>

source§

impl AddAssign for Wrapping<u16>

source§

impl AddAssign for Wrapping<u32>

source§

impl AddAssign for Wrapping<u64>

source§

impl AddAssign for Wrapping<u128>

source§

impl AddAssign for Wrapping<usize>

1.9.0 · source§

impl AddAssign for Duration

source§

impl AddAssign for BigInt

source§

impl AddAssign for BigUint

1.22.0 · source§

impl AddAssign<&f32> for f32

1.22.0 · source§

impl AddAssign<&f64> for f64

1.22.0 · source§

impl AddAssign<&i8> for i8

1.22.0 · source§

impl AddAssign<&i8> for Saturating<i8>

1.22.0 · source§

impl AddAssign<&i8> for Wrapping<i8>

1.22.0 · source§

impl AddAssign<&i16> for i16

1.22.0 · source§

impl AddAssign<&i16> for Saturating<i16>

1.22.0 · source§

impl AddAssign<&i16> for Wrapping<i16>

1.22.0 · source§

impl AddAssign<&i32> for i32

1.22.0 · source§

impl AddAssign<&i32> for Saturating<i32>

1.22.0 · source§

impl AddAssign<&i32> for Wrapping<i32>

1.22.0 · source§

impl AddAssign<&i64> for i64

1.22.0 · source§

impl AddAssign<&i64> for Saturating<i64>

1.22.0 · source§

impl AddAssign<&i64> for Wrapping<i64>

1.22.0 · source§

impl AddAssign<&i128> for i128

1.22.0 · source§

impl AddAssign<&i128> for Saturating<i128>

1.22.0 · source§

impl AddAssign<&i128> for Wrapping<i128>

1.22.0 · source§

impl AddAssign<&isize> for isize

1.22.0 · source§

impl AddAssign<&isize> for Saturating<isize>

1.22.0 · source§

impl AddAssign<&isize> for Wrapping<isize>

1.12.0 · source§

impl AddAssign<&str> for String

Implements the += operator for appending to a String.

This has the same behavior as the push_str method.

1.22.0 · source§

impl AddAssign<&u8> for u8

1.22.0 · source§

impl AddAssign<&u8> for Saturating<u8>

1.22.0 · source§

impl AddAssign<&u8> for Wrapping<u8>

1.22.0 · source§

impl AddAssign<&u16> for u16

1.22.0 · source§

impl AddAssign<&u16> for Saturating<u16>

1.22.0 · source§

impl AddAssign<&u16> for Wrapping<u16>

1.22.0 · source§

impl AddAssign<&u32> for u32

1.22.0 · source§

impl AddAssign<&u32> for Saturating<u32>

1.22.0 · source§

impl AddAssign<&u32> for Wrapping<u32>

1.22.0 · source§

impl AddAssign<&u64> for u64

1.22.0 · source§

impl AddAssign<&u64> for Saturating<u64>

1.22.0 · source§

impl AddAssign<&u64> for Wrapping<u64>

1.22.0 · source§

impl AddAssign<&u128> for u128

1.22.0 · source§

impl AddAssign<&u128> for Saturating<u128>

1.22.0 · source§

impl AddAssign<&u128> for Wrapping<u128>

1.22.0 · source§

impl AddAssign<&usize> for usize

1.22.0 · source§

impl AddAssign<&usize> for Saturating<usize>

1.22.0 · source§

impl AddAssign<&usize> for Wrapping<usize>

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

impl AddAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 · source§

impl AddAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 · source§

impl AddAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 · source§

impl AddAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 · source§

impl AddAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 · source§

impl AddAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 · source§

impl AddAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 · source§

impl AddAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 · source§

impl AddAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 · source§

impl AddAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 · source§

impl AddAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 · source§

impl AddAssign<&Wrapping<usize>> for Wrapping<usize>

source§

impl AddAssign<&BigInt> for BigInt

source§

impl AddAssign<&BigUint> for BigUint

1.74.0 · source§

impl AddAssign<i8> for Saturating<i8>

1.60.0 · source§

impl AddAssign<i8> for Wrapping<i8>

source§

impl AddAssign<i8> for BigInt

1.74.0 · source§

impl AddAssign<i16> for Saturating<i16>

1.60.0 · source§

impl AddAssign<i16> for Wrapping<i16>

source§

impl AddAssign<i16> for BigInt

1.74.0 · source§

impl AddAssign<i32> for Saturating<i32>

1.60.0 · source§

impl AddAssign<i32> for Wrapping<i32>

source§

impl AddAssign<i32> for BigInt

1.74.0 · source§

impl AddAssign<i64> for Saturating<i64>

1.60.0 · source§

impl AddAssign<i64> for Wrapping<i64>

source§

impl AddAssign<i64> for BigInt

1.74.0 · source§

impl AddAssign<i128> for Saturating<i128>

1.60.0 · source§

impl AddAssign<i128> for Wrapping<i128>

source§

impl AddAssign<i128> for BigInt

1.74.0 · source§

impl AddAssign<isize> for Saturating<isize>

1.60.0 · source§

impl AddAssign<isize> for Wrapping<isize>

source§

impl AddAssign<isize> for BigInt

1.74.0 · source§

impl AddAssign<u8> for Saturating<u8>

1.60.0 · source§

impl AddAssign<u8> for Wrapping<u8>

source§

impl AddAssign<u8> for BigInt

source§

impl AddAssign<u8> for BigUint

1.74.0 · source§

impl AddAssign<u16> for Saturating<u16>

1.60.0 · source§

impl AddAssign<u16> for Wrapping<u16>

source§

impl AddAssign<u16> for BigInt

source§

impl AddAssign<u16> for BigUint

1.74.0 · source§

impl AddAssign<u32> for Saturating<u32>

1.60.0 · source§

impl AddAssign<u32> for Wrapping<u32>

source§

impl AddAssign<u32> for BigInt

source§

impl AddAssign<u32> for BigUint

1.74.0 · source§

impl AddAssign<u64> for Saturating<u64>

1.60.0 · source§

impl AddAssign<u64> for Wrapping<u64>

source§

impl AddAssign<u64> for BigInt

source§

impl AddAssign<u64> for BigUint

1.74.0 · source§

impl AddAssign<u128> for Saturating<u128>

1.60.0 · source§

impl AddAssign<u128> for Wrapping<u128>

source§

impl AddAssign<u128> for BigInt

source§

impl AddAssign<u128> for BigUint

1.74.0 · source§

impl AddAssign<usize> for Saturating<usize>

1.60.0 · source§

impl AddAssign<usize> for Wrapping<usize>

source§

impl AddAssign<usize> for BigInt

source§

impl AddAssign<usize> for BigUint

1.9.0 · source§

impl AddAssign<Duration> for Instant

1.9.0 · source§

impl AddAssign<Duration> for SystemTime

1.14.0 · source§

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

1.14.0 · source§

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

source§

impl<'a, P> AddAssign<&'a Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

source§

impl<'a, P> AddAssign<&'a Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

source§

impl<'a, P> AddAssign<&'a Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

source§

impl<'a, P> AddAssign<&'a Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

source§

impl<'a, P> AddAssign<&'a Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

§

impl<'a, P> AddAssign<&'a Projective<P>> for Projective<P>

§

impl<'a, P> AddAssign<&'a Projective<P>> for Projective<P>
where P: ShortWeierstrassParameters,

source§

impl<'a, P> AddAssign<&'a mut Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

source§

impl<'a, P> AddAssign<&'a mut Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

source§

impl<'a, P> AddAssign<&'a mut Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

source§

impl<'a, P> AddAssign<&'a mut Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

source§

impl<'a, P> AddAssign<&'a mut Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

§

impl<'a, P> AddAssign<&'a mut Projective<P>> for Projective<P>

§

impl<'a, P> AddAssign<&'a mut Projective<P>> for Projective<P>
where P: ShortWeierstrassParameters,

§

impl<E> AddAssign for Field<E>
where E: Environment,

§

impl<E> AddAssign for Group<E>
where E: Environment,

§

impl<E> AddAssign for Scalar<E>
where E: Environment,

§

impl<E> AddAssign<&Field<E>> for Field<E>
where E: Environment,

§

impl<E> AddAssign<&Group<E>> for Group<E>
where E: Environment,

§

impl<E> AddAssign<&Scalar<E>> for Scalar<E>
where E: Environment,

§

impl<E, I> AddAssign for Integer<E, I>
where E: Environment, I: IntegerType,

§

impl<E, I> AddAssign<&Integer<E, I>> for Integer<E, I>
where E: Environment, I: IntegerType,

source§

impl<P> AddAssign for Fp2<P>
where P: Fp2Parameters,

source§

impl<P> AddAssign for Fp6<P>
where P: Fp6Parameters,

source§

impl<P> AddAssign for Fp12<P>
where P: Fp12Parameters,

source§

impl<P> AddAssign for Fp256<P>
where P: Fp256Parameters,

source§

impl<P> AddAssign for Fp384<P>
where P: Fp384Parameters,

§

impl<P> AddAssign for Projective<P>

§

impl<P> AddAssign for Projective<P>
where P: ShortWeierstrassParameters,

source§

impl<P> AddAssign<&&Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

source§

impl<P> AddAssign<&&Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

source§

impl<P> AddAssign<&&Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

source§

impl<P> AddAssign<&&Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

source§

impl<P> AddAssign<&&Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

§

impl<P> AddAssign<&&Projective<P>> for Projective<P>

§

impl<P> AddAssign<&&Projective<P>> for Projective<P>
where P: ShortWeierstrassParameters,

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, LaneCount<N>: SupportedLaneCount,