Trait AddAssign

1.8.0 · 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 · Source

fn add_assign(&mut self, rhs: Rhs)

Performs the += operation.

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

Implementors§

1.8.0 · Source§

impl AddAssign for f16

1.8.0 · Source§

impl AddAssign for f32

1.8.0 · Source§

impl AddAssign for f64

1.8.0 · Source§

impl AddAssign for f128

1.8.0 · Source§

impl AddAssign for i8

1.8.0 · Source§

impl AddAssign for i16

1.8.0 · Source§

impl AddAssign for i32

1.8.0 · Source§

impl AddAssign for i64

1.8.0 · Source§

impl AddAssign for i128

1.8.0 · Source§

impl AddAssign for isize

1.8.0 · Source§

impl AddAssign for u8

1.8.0 · Source§

impl AddAssign for u16

1.8.0 · Source§

impl AddAssign for u32

1.8.0 · Source§

impl AddAssign for u64

1.8.0 · Source§

impl AddAssign for u128

1.8.0 · Source§

impl AddAssign for usize

Source§

impl AddAssign for DMat2

Source§

impl AddAssign for DMat3

Source§

impl AddAssign for DMat4

Source§

impl AddAssign for DVec2

Source§

impl AddAssign for DVec3

Source§

impl AddAssign for DVec4

Source§

impl AddAssign for I16Vec2

Source§

impl AddAssign for I16Vec3

Source§

impl AddAssign for I16Vec4

Source§

impl AddAssign for I64Vec2

Source§

impl AddAssign for I64Vec3

Source§

impl AddAssign for I64Vec4

Source§

impl AddAssign for IVec2

Source§

impl AddAssign for IVec3

Source§

impl AddAssign for IVec4

Source§

impl AddAssign for Mat2

Source§

impl AddAssign for Mat3

Source§

impl AddAssign for Mat3A

Source§

impl AddAssign for Mat4

Source§

impl AddAssign for U16Vec2

Source§

impl AddAssign for U16Vec3

Source§

impl AddAssign for U16Vec4

Source§

impl AddAssign for U64Vec2

Source§

impl AddAssign for U64Vec3

Source§

impl AddAssign for U64Vec4

Source§

impl AddAssign for UVec2

Source§

impl AddAssign for UVec3

Source§

impl AddAssign for UVec4

Source§

impl AddAssign for Vec2

Source§

impl AddAssign for Vec3

Source§

impl AddAssign for Vec3A

Source§

impl AddAssign for Vec4

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>

1.8.0 · Source§

impl AddAssign for Wrapping<i8>

1.8.0 · Source§

impl AddAssign for Wrapping<i16>

1.8.0 · Source§

impl AddAssign for Wrapping<i32>

1.8.0 · Source§

impl AddAssign for Wrapping<i64>

1.8.0 · Source§

impl AddAssign for Wrapping<i128>

1.8.0 · Source§

impl AddAssign for Wrapping<isize>

1.8.0 · Source§

impl AddAssign for Wrapping<u8>

1.8.0 · Source§

impl AddAssign for Wrapping<u16>

1.8.0 · Source§

impl AddAssign for Wrapping<u32>

1.8.0 · Source§

impl AddAssign for Wrapping<u64>

1.8.0 · Source§

impl AddAssign for Wrapping<u128>

1.8.0 · Source§

impl AddAssign for Wrapping<usize>

1.9.0 · Source§

impl AddAssign for Duration

Source§

impl AddAssign for bf16

Source§

impl AddAssign for f16

Source§

impl AddAssign for BigInt

Source§

impl AddAssign for BigUint

1.22.0 · Source§

impl AddAssign<&f16> for f16

1.22.0 · Source§

impl AddAssign<&f32> for f32

1.22.0 · Source§

impl AddAssign<&f64> for f64

1.22.0 · Source§

impl AddAssign<&f128> for f128

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<&bf16> for bf16

Source§

impl AddAssign<&f16> for f16

Source§

impl AddAssign<&BigInt> for BigInt

Source§

impl AddAssign<&BigUint> for BigUint

Source§

impl AddAssign<&EncoderStats> for EncoderStats

Source§

impl AddAssign<f32> for Vec2

Source§

impl AddAssign<f32> for Vec3

Source§

impl AddAssign<f32> for Vec3A

Source§

impl AddAssign<f32> for Vec4

Source§

impl AddAssign<f64> for DVec2

Source§

impl AddAssign<f64> for DVec3

Source§

impl AddAssign<f64> for DVec4

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

Source§

impl AddAssign<i16> for I16Vec2

Source§

impl AddAssign<i16> for I16Vec3

Source§

impl AddAssign<i16> for I16Vec4

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

Source§

impl AddAssign<i32> for IVec2

Source§

impl AddAssign<i32> for IVec3

Source§

impl AddAssign<i32> for IVec4

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

Source§

impl AddAssign<i64> for I64Vec2

Source§

impl AddAssign<i64> for I64Vec3

Source§

impl AddAssign<i64> for I64Vec4

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

Source§

impl AddAssign<u16> for U16Vec2

Source§

impl AddAssign<u16> for U16Vec3

Source§

impl AddAssign<u16> for U16Vec4

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

Source§

impl AddAssign<u32> for UVec2

Source§

impl AddAssign<u32> for UVec3

Source§

impl AddAssign<u32> for UVec4

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

Source§

impl AddAssign<u64> for U64Vec2

Source§

impl AddAssign<u64> for U64Vec3

Source§

impl AddAssign<u64> for U64Vec4

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, T> AddAssign<&'a Ratio<T>> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<'a, T> AddAssign<&'a T> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<O> AddAssign for U128<O>
where O: ByteOrder,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> AddAssign for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<T> AddAssign for Gray_v08<T>
where T: Add<Output = T> + Copy,

px + px

Source§

impl<T> AddAssign for Grb<T>
where T: Add<Output = T> + Copy,

px + px

Source§

impl<T> AddAssign for Rgb<T>
where T: Add<Output = T> + Copy,

px + px

Source§

impl<T> AddAssign<T> for Ratio<T>
where T: Clone + Integer + NumAssign,

Source§

impl<T> AddAssign<T> for Argb<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T> AddAssign<T> for Gray_v08<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T> AddAssign<T> for GrayAlpha_v08<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T> AddAssign<T> for Grb<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T> AddAssign<T> for Rgb<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T> AddAssign<T> for Rgba<T>
where T: Copy + Add<Output = T>,

px + 1

Source§

impl<T, A> AddAssign for Argb<T, A>
where T: Add<Output = T> + Copy, A: Add<Output = A> + Copy,

px + px

Source§

impl<T, A> AddAssign for GrayAlpha_v08<T, A>
where T: Add<Output = T> + Copy, A: Add<Output = A> + Copy,

px + px

Source§

impl<T, A> AddAssign for Rgba<T, A>
where T: Add<Output = T> + Copy, A: Add<Output = A> + Copy,

px + px

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,