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);
}
Available on crate features crypto and 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 (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 BigInt

Source§

impl AddAssign for BigUint

1.9.0 (const: unstable) · Source§

impl AddAssign for core::time::Duration

§

impl AddAssign for Duration

§

impl AddAssign for LengthHint

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>

§

impl AddAssign for SignedDuration

§

impl AddAssign for Timespec

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<i8>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<i16>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<i32>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<i64>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<i128>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<isize>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<u8>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<u16>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<u32>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<u64>

1.8.0 (const: unstable) · Source§

impl AddAssign for Wrapping<u128>

1.8.0 (const: unstable) · Source§

impl AddAssign for 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<&BigInt> for BigInt

Source§

impl AddAssign<&BigUint> for BigUint

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>

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

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

1.22.0 (const: unstable) · Source§

impl AddAssign<&Wrapping<usize>> for 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 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 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 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 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 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 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 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 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 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 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 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 Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl AddAssign<&usize> for usize

§

impl AddAssign<Duration> for Date

§

impl AddAssign<Duration> for Date

§

impl AddAssign<Duration> for Date

Adds an unsigned duration of time to a date in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Date::checked_add].

§

impl AddAssign<Duration> for DateTime

Adds an unsigned duration of time to a datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [DateTime::checked_add].

§

impl AddAssign<Duration> for Duration

§

impl AddAssign<Duration> for core::time::Duration

1.9.0 · Source§

impl AddAssign<Duration> for std::time::Instant

§

impl AddAssign<Duration> for Instant

§

impl AddAssign<Duration> for std::time::Instant

§

impl AddAssign<Duration> for Offset

Adds an unsigned duration of time to an offset in place. This panics on overflow.

For checked arithmetic, see [Offset::checked_add].

§

impl AddAssign<Duration> for OffsetDateTime

§

impl AddAssign<Duration> for OffsetDateTime

§

impl AddAssign<Duration> for PrimitiveDateTime

§

impl AddAssign<Duration> for PrimitiveDateTime

1.9.0 · Source§

impl AddAssign<Duration> for SystemTime

§

impl AddAssign<Duration> for SystemTime

§

impl AddAssign<Duration> for Time

§

impl AddAssign<Duration> for Time

§

impl AddAssign<Duration> for Time

Adds an unsigned duration of time in place. This uses wrapping arithmetic.

For checked arithmetic, see [Time::checked_add].

§

impl AddAssign<Duration> for Timestamp

Adds an unsigned duration of time to a timestamp in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Timestamp::checked_add].

§

impl AddAssign<Duration> for UtcDateTime

§

impl AddAssign<Duration> for UtcDateTime

§

impl AddAssign<Duration> for Zoned

Adds an unsigned duration of time to a zoned datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Zoned::checked_add].

§

impl AddAssign<SignedDuration> for Date

Adds a signed duration of time to a date in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Date::checked_add].

§

impl AddAssign<SignedDuration> for DateTime

Adds a signed duration of time to a datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [DateTime::checked_add].

§

impl AddAssign<SignedDuration> for Offset

Adds a signed duration of time to an offset in place. This panics on overflow.

For checked arithmetic, see [Offset::checked_add].

§

impl AddAssign<SignedDuration> for Time

Adds a signed duration of time in place. This uses wrapping arithmetic.

For checked arithmetic, see [Time::checked_add].

§

impl AddAssign<SignedDuration> for Timestamp

Adds a signed duration of time to a timestamp in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Timestamp::checked_add].

§

impl AddAssign<SignedDuration> for Zoned

Adds a signed duration of time to a zoned datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Zoned::checked_add].

§

impl AddAssign<Span> for Date

Adds a span of time to a date in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Date::checked_add].

§

impl AddAssign<Span> for DateTime

Adds a span of time to a datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [DateTime::checked_add].

§

impl AddAssign<Span> for Offset

Adds a span of time to an offset in place. This panics on overflow.

For checked arithmetic, see [Offset::checked_add].

§

impl AddAssign<Span> for Time

Adds a span of time in place. This uses wrapping arithmetic.

For checked arithmetic, see [Time::checked_add].

§

impl AddAssign<Span> for Timestamp

Adds a span of time to a timestamp in place.

This uses checked arithmetic and panics when it fails. To handle arithmetic without panics, use [Timestamp::checked_add]. Note that the failure condition includes overflow and using a Span with non-zero units greater than hours.

§

impl AddAssign<Span> for Zoned

Adds a span of time to a zoned datetime in place.

This uses checked arithmetic and panics on overflow. To handle overflow without panics, use [Zoned::checked_add].

Source§

impl AddAssign<i8> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i8> for Saturating<i8>

§

impl AddAssign<i8> for Weekday

1.60.0 (const: unstable) · Source§

impl AddAssign<i8> for Wrapping<i8>

Source§

impl AddAssign<i16> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i16> for Saturating<i16>

§

impl AddAssign<i16> for Weekday

1.60.0 (const: unstable) · Source§

impl AddAssign<i16> for Wrapping<i16>

Source§

impl AddAssign<i32> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i32> for Saturating<i32>

§

impl AddAssign<i32> for Weekday

1.60.0 (const: unstable) · Source§

impl AddAssign<i32> for Wrapping<i32>

Source§

impl AddAssign<i64> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i64> for Saturating<i64>

§

impl AddAssign<i64> for Weekday

1.60.0 (const: unstable) · Source§

impl AddAssign<i64> for Wrapping<i64>

Source§

impl AddAssign<i128> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · Source§

impl AddAssign<i128> for Wrapping<i128>

Source§

impl AddAssign<isize> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · Source§

impl AddAssign<isize> for Wrapping<isize>

Source§

impl AddAssign<u8> for BigInt

Source§

impl AddAssign<u8> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · Source§

impl AddAssign<u8> for Wrapping<u8>

Source§

impl AddAssign<u16> for BigInt

Source§

impl AddAssign<u16> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · Source§

impl AddAssign<u16> for Wrapping<u16>

Source§

impl AddAssign<u32> for BigInt

Source§

impl AddAssign<u32> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · Source§

impl AddAssign<u32> for Wrapping<u32>

Source§

impl AddAssign<u64> for BigInt

Source§

impl AddAssign<u64> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · Source§

impl AddAssign<u64> for Wrapping<u64>

Source§

impl AddAssign<u128> for BigInt

Source§

impl AddAssign<u128> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · Source§

impl AddAssign<u128> for Wrapping<u128>

Source§

impl AddAssign<usize> for BigInt

Source§

impl AddAssign<usize> for BigUint

§

impl AddAssign<usize> for Length

§

impl AddAssign<usize> for LengthHint

1.74.0 (const: unstable) · Source§

impl AddAssign<usize> for Saturating<usize>

§

impl AddAssign<usize> for Span

1.60.0 (const: unstable) · Source§

impl AddAssign<usize> for 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.
§

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<O>> for f32
where O: ByteOrder,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<O> AddAssign<Usize<O>> for usize
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,

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,