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 · Sourcefn add_assign(&mut self, rhs: Rhs)
fn add_assign(&mut self, rhs: Rhs)
Implementors§
impl AddAssign for f16
impl AddAssign for f32
impl AddAssign for f64
impl AddAssign for f128
impl AddAssign for i8
impl AddAssign for i16
impl AddAssign for i32
impl AddAssign for i64
impl AddAssign for i128
impl AddAssign for isize
impl AddAssign for u8
impl AddAssign for u16
impl AddAssign for u32
impl AddAssign for u64
impl AddAssign for u128
impl AddAssign for usize
impl AddAssign for DMat2
impl AddAssign for DMat3
impl AddAssign for DMat4
impl AddAssign for DVec2
impl AddAssign for DVec3
impl AddAssign for DVec4
impl AddAssign for I16Vec2
impl AddAssign for I16Vec3
impl AddAssign for I16Vec4
impl AddAssign for I64Vec2
impl AddAssign for I64Vec3
impl AddAssign for I64Vec4
impl AddAssign for IVec2
impl AddAssign for IVec3
impl AddAssign for IVec4
impl AddAssign for Mat2
impl AddAssign for Mat3
impl AddAssign for Mat3A
impl AddAssign for Mat4
impl AddAssign for U16Vec2
impl AddAssign for U16Vec3
impl AddAssign for U16Vec4
impl AddAssign for U64Vec2
impl AddAssign for U64Vec3
impl AddAssign for U64Vec4
impl AddAssign for UVec2
impl AddAssign for UVec3
impl AddAssign for UVec4
impl AddAssign for Vec2
impl AddAssign for Vec3
impl AddAssign for Vec3A
impl AddAssign for Vec4
impl AddAssign for Saturating<i8>
impl AddAssign for Saturating<i16>
impl AddAssign for Saturating<i32>
impl AddAssign for Saturating<i64>
impl AddAssign for Saturating<i128>
impl AddAssign for Saturating<isize>
impl AddAssign for Saturating<u8>
impl AddAssign for Saturating<u16>
impl AddAssign for Saturating<u32>
impl AddAssign for Saturating<u64>
impl AddAssign for Saturating<u128>
impl AddAssign for Saturating<usize>
impl AddAssign for Wrapping<i8>
impl AddAssign for Wrapping<i16>
impl AddAssign for Wrapping<i32>
impl AddAssign for Wrapping<i64>
impl AddAssign for Wrapping<i128>
impl AddAssign for Wrapping<isize>
impl AddAssign for Wrapping<u8>
impl AddAssign for Wrapping<u16>
impl AddAssign for Wrapping<u32>
impl AddAssign for Wrapping<u64>
impl AddAssign for Wrapping<u128>
impl AddAssign for Wrapping<usize>
impl AddAssign for Duration
impl AddAssign for bf16
impl AddAssign for f16
impl AddAssign for BigInt
impl AddAssign for BigUint
impl AddAssign<&f16> for f16
impl AddAssign<&f32> for f32
impl AddAssign<&f64> for f64
impl AddAssign<&f128> for f128
impl AddAssign<&i8> for i8
impl AddAssign<&i8> for Saturating<i8>
impl AddAssign<&i8> for Wrapping<i8>
impl AddAssign<&i16> for i16
impl AddAssign<&i16> for Saturating<i16>
impl AddAssign<&i16> for Wrapping<i16>
impl AddAssign<&i32> for i32
impl AddAssign<&i32> for Saturating<i32>
impl AddAssign<&i32> for Wrapping<i32>
impl AddAssign<&i64> for i64
impl AddAssign<&i64> for Saturating<i64>
impl AddAssign<&i64> for Wrapping<i64>
impl AddAssign<&i128> for i128
impl AddAssign<&i128> for Saturating<i128>
impl AddAssign<&i128> for Wrapping<i128>
impl AddAssign<&isize> for isize
impl AddAssign<&isize> for Saturating<isize>
impl AddAssign<&isize> for Wrapping<isize>
impl AddAssign<&str> for String
Implements the +=
operator for appending to a String
.
This has the same behavior as the push_str
method.
impl AddAssign<&u8> for u8
impl AddAssign<&u8> for Saturating<u8>
impl AddAssign<&u8> for Wrapping<u8>
impl AddAssign<&u16> for u16
impl AddAssign<&u16> for Saturating<u16>
impl AddAssign<&u16> for Wrapping<u16>
impl AddAssign<&u32> for u32
impl AddAssign<&u32> for Saturating<u32>
impl AddAssign<&u32> for Wrapping<u32>
impl AddAssign<&u64> for u64
impl AddAssign<&u64> for Saturating<u64>
impl AddAssign<&u64> for Wrapping<u64>
impl AddAssign<&u128> for u128
impl AddAssign<&u128> for Saturating<u128>
impl AddAssign<&u128> for Wrapping<u128>
impl AddAssign<&usize> for usize
impl AddAssign<&usize> for Saturating<usize>
impl AddAssign<&usize> for Wrapping<usize>
impl AddAssign<&Saturating<i8>> for Saturating<i8>
impl AddAssign<&Saturating<i16>> for Saturating<i16>
impl AddAssign<&Saturating<i32>> for Saturating<i32>
impl AddAssign<&Saturating<i64>> for Saturating<i64>
impl AddAssign<&Saturating<i128>> for Saturating<i128>
impl AddAssign<&Saturating<isize>> for Saturating<isize>
impl AddAssign<&Saturating<u8>> for Saturating<u8>
impl AddAssign<&Saturating<u16>> for Saturating<u16>
impl AddAssign<&Saturating<u32>> for Saturating<u32>
impl AddAssign<&Saturating<u64>> for Saturating<u64>
impl AddAssign<&Saturating<u128>> for Saturating<u128>
impl AddAssign<&Saturating<usize>> for Saturating<usize>
impl AddAssign<&Wrapping<i8>> for Wrapping<i8>
impl AddAssign<&Wrapping<i16>> for Wrapping<i16>
impl AddAssign<&Wrapping<i32>> for Wrapping<i32>
impl AddAssign<&Wrapping<i64>> for Wrapping<i64>
impl AddAssign<&Wrapping<i128>> for Wrapping<i128>
impl AddAssign<&Wrapping<isize>> for Wrapping<isize>
impl AddAssign<&Wrapping<u8>> for Wrapping<u8>
impl AddAssign<&Wrapping<u16>> for Wrapping<u16>
impl AddAssign<&Wrapping<u32>> for Wrapping<u32>
impl AddAssign<&Wrapping<u64>> for Wrapping<u64>
impl AddAssign<&Wrapping<u128>> for Wrapping<u128>
impl AddAssign<&Wrapping<usize>> for Wrapping<usize>
impl AddAssign<&bf16> for bf16
impl AddAssign<&f16> for f16
impl AddAssign<&BigInt> for BigInt
impl AddAssign<&BigUint> for BigUint
impl AddAssign<&EncoderStats> for EncoderStats
impl AddAssign<f32> for Vec2
impl AddAssign<f32> for Vec3
impl AddAssign<f32> for Vec3A
impl AddAssign<f32> for Vec4
impl AddAssign<f64> for DVec2
impl AddAssign<f64> for DVec3
impl AddAssign<f64> for DVec4
impl AddAssign<i8> for Saturating<i8>
impl AddAssign<i8> for Wrapping<i8>
impl AddAssign<i8> for BigInt
impl AddAssign<i16> for I16Vec2
impl AddAssign<i16> for I16Vec3
impl AddAssign<i16> for I16Vec4
impl AddAssign<i16> for Saturating<i16>
impl AddAssign<i16> for Wrapping<i16>
impl AddAssign<i16> for BigInt
impl AddAssign<i32> for IVec2
impl AddAssign<i32> for IVec3
impl AddAssign<i32> for IVec4
impl AddAssign<i32> for Saturating<i32>
impl AddAssign<i32> for Wrapping<i32>
impl AddAssign<i32> for BigInt
impl AddAssign<i64> for I64Vec2
impl AddAssign<i64> for I64Vec3
impl AddAssign<i64> for I64Vec4
impl AddAssign<i64> for Saturating<i64>
impl AddAssign<i64> for Wrapping<i64>
impl AddAssign<i64> for BigInt
impl AddAssign<i128> for Saturating<i128>
impl AddAssign<i128> for Wrapping<i128>
impl AddAssign<i128> for BigInt
impl AddAssign<isize> for Saturating<isize>
impl AddAssign<isize> for Wrapping<isize>
impl AddAssign<isize> for BigInt
impl AddAssign<u8> for Saturating<u8>
impl AddAssign<u8> for Wrapping<u8>
impl AddAssign<u8> for BigInt
impl AddAssign<u8> for BigUint
impl AddAssign<u16> for U16Vec2
impl AddAssign<u16> for U16Vec3
impl AddAssign<u16> for U16Vec4
impl AddAssign<u16> for Saturating<u16>
impl AddAssign<u16> for Wrapping<u16>
impl AddAssign<u16> for BigInt
impl AddAssign<u16> for BigUint
impl AddAssign<u32> for UVec2
impl AddAssign<u32> for UVec3
impl AddAssign<u32> for UVec4
impl AddAssign<u32> for Saturating<u32>
impl AddAssign<u32> for Wrapping<u32>
impl AddAssign<u32> for BigInt
impl AddAssign<u32> for BigUint
impl AddAssign<u64> for U64Vec2
impl AddAssign<u64> for U64Vec3
impl AddAssign<u64> for U64Vec4
impl AddAssign<u64> for Saturating<u64>
impl AddAssign<u64> for Wrapping<u64>
impl AddAssign<u64> for BigInt
impl AddAssign<u64> for BigUint
impl AddAssign<u128> for Saturating<u128>
impl AddAssign<u128> for Wrapping<u128>
impl AddAssign<u128> for BigInt
impl AddAssign<u128> for BigUint
impl AddAssign<usize> for Saturating<usize>
impl AddAssign<usize> for Wrapping<usize>
impl AddAssign<usize> for BigInt
impl AddAssign<usize> for BigUint
impl AddAssign<Duration> for Instant
impl AddAssign<Duration> for SystemTime
impl<'a> AddAssign for Cow<'a, str>
impl<'a> AddAssign<&'a str> for Cow<'a, str>
impl<'a, T> AddAssign<&'a Ratio<T>> for Ratio<T>
impl<'a, T> AddAssign<&'a T> for Ratio<T>
impl<O> AddAssign for F32<O>where
O: ByteOrder,
impl<O> AddAssign for F64<O>where
O: ByteOrder,
impl<O> AddAssign for I16<O>where
O: ByteOrder,
impl<O> AddAssign for I32<O>where
O: ByteOrder,
impl<O> AddAssign for I64<O>where
O: ByteOrder,
impl<O> AddAssign for I128<O>where
O: ByteOrder,
impl<O> AddAssign for Isize<O>where
O: ByteOrder,
impl<O> AddAssign for U16<O>where
O: ByteOrder,
impl<O> AddAssign for U32<O>where
O: ByteOrder,
impl<O> AddAssign for U64<O>where
O: ByteOrder,
impl<O> AddAssign for U128<O>where
O: ByteOrder,
impl<O> AddAssign for Usize<O>where
O: ByteOrder,
impl<O> AddAssign<f32> for F32<O>where
O: ByteOrder,
impl<O> AddAssign<f64> for F64<O>where
O: ByteOrder,
impl<O> AddAssign<i16> for I16<O>where
O: ByteOrder,
impl<O> AddAssign<i32> for I32<O>where
O: ByteOrder,
impl<O> AddAssign<i64> for I64<O>where
O: ByteOrder,
impl<O> AddAssign<i128> for I128<O>where
O: ByteOrder,
impl<O> AddAssign<isize> for Isize<O>where
O: ByteOrder,
impl<O> AddAssign<u16> for U16<O>where
O: ByteOrder,
impl<O> AddAssign<u32> for U32<O>where
O: ByteOrder,
impl<O> AddAssign<u64> for U64<O>where
O: ByteOrder,
impl<O> AddAssign<u128> for U128<O>where
O: ByteOrder,
impl<O> AddAssign<usize> for Usize<O>where
O: ByteOrder,
impl<O> AddAssign<F32<O>> for f32where
O: ByteOrder,
impl<O> AddAssign<F64<O>> for f64where
O: ByteOrder,
impl<O> AddAssign<I16<O>> for i16where
O: ByteOrder,
impl<O> AddAssign<I32<O>> for i32where
O: ByteOrder,
impl<O> AddAssign<I64<O>> for i64where
O: ByteOrder,
impl<O> AddAssign<I128<O>> for i128where
O: ByteOrder,
impl<O> AddAssign<Isize<O>> for isizewhere
O: ByteOrder,
impl<O> AddAssign<U16<O>> for u16where
O: ByteOrder,
impl<O> AddAssign<U32<O>> for u32where
O: ByteOrder,
impl<O> AddAssign<U64<O>> for u64where
O: ByteOrder,
impl<O> AddAssign<U128<O>> for u128where
O: ByteOrder,
impl<O> AddAssign<Usize<O>> for usizewhere
O: ByteOrder,
impl<T> AddAssign for Ratio<T>
impl<T> AddAssign for Gray_v08<T>
px + px
impl<T> AddAssign for Grb<T>
px + px
impl<T> AddAssign for Rgb<T>
px + px
impl<T> AddAssign<T> for Ratio<T>
impl<T> AddAssign<T> for Argb<T>
px + 1
impl<T> AddAssign<T> for Gray_v08<T>
px + 1
impl<T> AddAssign<T> for GrayAlpha_v08<T>
px + 1
impl<T> AddAssign<T> for Grb<T>
px + 1
impl<T> AddAssign<T> for Rgb<T>
px + 1
impl<T> AddAssign<T> for Rgba<T>
px + 1
impl<T, A> AddAssign for Argb<T, A>
px + px
impl<T, A> AddAssign for GrayAlpha_v08<T, A>
px + px
impl<T, A> AddAssign for Rgba<T, A>
px + px