pub trait AddAssign<Rhs = Self> {
// Required method
fn add_assign(&mut self, rhs: Rhs);
}
Available on crate feature
std
only.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 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 f32_be
impl AddAssign for f32_le
impl AddAssign for f64_be
impl AddAssign for f64_le
impl AddAssign for i16_be
impl AddAssign for i16_le
impl AddAssign for i32_be
impl AddAssign for i32_le
impl AddAssign for i64_be
impl AddAssign for i64_le
impl AddAssign for i128_be
impl AddAssign for i128_le
impl AddAssign for u16_be
impl AddAssign for u16_le
impl AddAssign for u32_be
impl AddAssign for u32_le
impl AddAssign for u64_be
impl AddAssign for u64_le
impl AddAssign for u128_be
impl AddAssign for u128_le
impl AddAssign for f32_ube
impl AddAssign for f32_ule
impl AddAssign for f64_ube
impl AddAssign for f64_ule
impl AddAssign for i16_ube
impl AddAssign for i16_ule
impl AddAssign for i32_ube
impl AddAssign for i32_ule
impl AddAssign for i64_ube
impl AddAssign for i64_ule
impl AddAssign for i128_ube
impl AddAssign for i128_ule
impl AddAssign for u16_ube
impl AddAssign for u16_ule
impl AddAssign for u32_ube
impl AddAssign for u32_ule
impl AddAssign for u64_ube
impl AddAssign for u64_ule
impl AddAssign for u128_ube
impl AddAssign for u128_ule
impl AddAssign<&f16> for f16
impl AddAssign<&f32> for f32
impl AddAssign<&f32> for f32_be
impl AddAssign<&f32> for f32_le
impl AddAssign<&f32> for f32_ube
impl AddAssign<&f32> for f32_ule
impl AddAssign<&f64> for f64
impl AddAssign<&f64> for f64_be
impl AddAssign<&f64> for f64_le
impl AddAssign<&f64> for f64_ube
impl AddAssign<&f64> for f64_ule
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<&i16> for i16_be
impl AddAssign<&i16> for i16_le
impl AddAssign<&i16> for i16_ube
impl AddAssign<&i16> for i16_ule
impl AddAssign<&i32> for i32
impl AddAssign<&i32> for Saturating<i32>
impl AddAssign<&i32> for Wrapping<i32>
impl AddAssign<&i32> for i32_be
impl AddAssign<&i32> for i32_le
impl AddAssign<&i32> for i32_ube
impl AddAssign<&i32> for i32_ule
impl AddAssign<&i64> for i64
impl AddAssign<&i64> for Saturating<i64>
impl AddAssign<&i64> for Wrapping<i64>
impl AddAssign<&i64> for i64_be
impl AddAssign<&i64> for i64_le
impl AddAssign<&i64> for i64_ube
impl AddAssign<&i64> for i64_ule
impl AddAssign<&i128> for i128
impl AddAssign<&i128> for Saturating<i128>
impl AddAssign<&i128> for Wrapping<i128>
impl AddAssign<&i128> for i128_be
impl AddAssign<&i128> for i128_le
impl AddAssign<&i128> for i128_ube
impl AddAssign<&i128> for i128_ule
impl AddAssign<&isize> for isize
impl AddAssign<&isize> for Saturating<isize>
impl AddAssign<&isize> for Wrapping<isize>
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.
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<&u16> for u16_be
impl AddAssign<&u16> for u16_le
impl AddAssign<&u16> for u16_ube
impl AddAssign<&u16> for u16_ule
impl AddAssign<&u32> for u32
impl AddAssign<&u32> for Saturating<u32>
impl AddAssign<&u32> for Wrapping<u32>
impl AddAssign<&u32> for u32_be
impl AddAssign<&u32> for u32_le
impl AddAssign<&u32> for u32_ube
impl AddAssign<&u32> for u32_ule
impl AddAssign<&u64> for u64
impl AddAssign<&u64> for Saturating<u64>
impl AddAssign<&u64> for Wrapping<u64>
impl AddAssign<&u64> for u64_be
impl AddAssign<&u64> for u64_le
impl AddAssign<&u64> for u64_ube
impl AddAssign<&u64> for u64_ule
impl AddAssign<&u128> for u128
impl AddAssign<&u128> for Saturating<u128>
impl AddAssign<&u128> for Wrapping<u128>
impl AddAssign<&u128> for u128_be
impl AddAssign<&u128> for u128_le
impl AddAssign<&u128> for u128_ube
impl AddAssign<&u128> for u128_ule
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<&f32_be> for f32_be
impl AddAssign<&f32_le> for f32_le
impl AddAssign<&f64_be> for f64_be
impl AddAssign<&f64_le> for f64_le
impl AddAssign<&i16_be> for i16_be
impl AddAssign<&i16_le> for i16_le
impl AddAssign<&i32_be> for i32_be
impl AddAssign<&i32_le> for i32_le
impl AddAssign<&i64_be> for i64_be
impl AddAssign<&i64_le> for i64_le
impl AddAssign<&i128_be> for i128_be
impl AddAssign<&i128_le> for i128_le
impl AddAssign<&u16_be> for u16_be
impl AddAssign<&u16_le> for u16_le
impl AddAssign<&u32_be> for u32_be
impl AddAssign<&u32_le> for u32_le
impl AddAssign<&u64_be> for u64_be
impl AddAssign<&u64_le> for u64_le
impl AddAssign<&u128_be> for u128_be
impl AddAssign<&u128_le> for u128_le
impl AddAssign<&f32_ube> for f32_ube
impl AddAssign<&f32_ule> for f32_ule
impl AddAssign<&f64_ube> for f64_ube
impl AddAssign<&f64_ule> for f64_ule
impl AddAssign<&i16_ube> for i16_ube
impl AddAssign<&i16_ule> for i16_ule
impl AddAssign<&i32_ube> for i32_ube
impl AddAssign<&i32_ule> for i32_ule
impl AddAssign<&i64_ube> for i64_ube
impl AddAssign<&i64_ule> for i64_ule
impl AddAssign<&i128_ube> for i128_ube
impl AddAssign<&i128_ule> for i128_ule
impl AddAssign<&u16_ube> for u16_ube
impl AddAssign<&u16_ule> for u16_ule
impl AddAssign<&u32_ube> for u32_ube
impl AddAssign<&u32_ule> for u32_ule
impl AddAssign<&u64_ube> for u64_ube
impl AddAssign<&u64_ule> for u64_ule
impl AddAssign<&u128_ube> for u128_ube
impl AddAssign<&u128_ule> for u128_ule
impl AddAssign<f32> for f32_be
impl AddAssign<f32> for f32_le
impl AddAssign<f32> for f32_ube
impl AddAssign<f32> for f32_ule
impl AddAssign<f64> for f64_be
impl AddAssign<f64> for f64_le
impl AddAssign<f64> for f64_ube
impl AddAssign<f64> for f64_ule
impl AddAssign<i8> for Saturating<i8>
impl AddAssign<i8> for Wrapping<i8>
impl AddAssign<i16> for Saturating<i16>
impl AddAssign<i16> for Wrapping<i16>
impl AddAssign<i16> for i16_be
impl AddAssign<i16> for i16_le
impl AddAssign<i16> for i16_ube
impl AddAssign<i16> for i16_ule
impl AddAssign<i32> for Saturating<i32>
impl AddAssign<i32> for Wrapping<i32>
impl AddAssign<i32> for i32_be
impl AddAssign<i32> for i32_le
impl AddAssign<i32> for i32_ube
impl AddAssign<i32> for i32_ule
impl AddAssign<i64> for Saturating<i64>
impl AddAssign<i64> for Wrapping<i64>
impl AddAssign<i64> for i64_be
impl AddAssign<i64> for i64_le
impl AddAssign<i64> for i64_ube
impl AddAssign<i64> for i64_ule
impl AddAssign<i128> for Saturating<i128>
impl AddAssign<i128> for Wrapping<i128>
impl AddAssign<i128> for i128_be
impl AddAssign<i128> for i128_le
impl AddAssign<i128> for i128_ube
impl AddAssign<i128> for i128_ule
impl AddAssign<isize> for Saturating<isize>
impl AddAssign<isize> for Wrapping<isize>
impl AddAssign<u8> for Saturating<u8>
impl AddAssign<u8> for Wrapping<u8>
impl AddAssign<u16> for Saturating<u16>
impl AddAssign<u16> for Wrapping<u16>
impl AddAssign<u16> for u16_be
impl AddAssign<u16> for u16_le
impl AddAssign<u16> for u16_ube
impl AddAssign<u16> for u16_ule
impl AddAssign<u32> for Saturating<u32>
impl AddAssign<u32> for Wrapping<u32>
impl AddAssign<u32> for u32_be
impl AddAssign<u32> for u32_le
impl AddAssign<u32> for u32_ube
impl AddAssign<u32> for u32_ule
impl AddAssign<u64> for Saturating<u64>
impl AddAssign<u64> for Wrapping<u64>
impl AddAssign<u64> for u64_be
impl AddAssign<u64> for u64_le
impl AddAssign<u64> for u64_ube
impl AddAssign<u64> for u64_ule
impl AddAssign<u128> for Saturating<u128>
impl AddAssign<u128> for Wrapping<u128>
impl AddAssign<u128> for u128_be
impl AddAssign<u128> for u128_le
impl AddAssign<u128> for u128_ube
impl AddAssign<u128> for u128_ule
impl AddAssign<usize> for Saturating<usize>
impl AddAssign<usize> for Wrapping<usize>
impl AddAssign<Duration> for Instant
impl AddAssign<Duration> for SystemTime
impl<'a> AddAssign for Cow<'a, str>
Available on non-
no_global_oom_handling
only.impl<'a> AddAssign<&'a str> for Cow<'a, str>
Available on non-
no_global_oom_handling
only.