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

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 Fe32

Source§

impl AddAssign for EdwardsPoint

Source§

impl AddAssign for RistrettoPoint

Source§

impl AddAssign for Scalar

Source§

impl AddAssign for SignedDuration

Source§

impl AddAssign for LengthHint

Source§

impl AddAssign for multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign for multiversx_sc_snippets::imports::RustBigUint

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<&BigInt> for multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<&BigUint> for multiversx_sc_snippets::imports::RustBigUint

Source§

impl AddAssign<i8> for Weekday

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<i16> for Weekday

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<i32> for Weekday

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<i64> for Weekday

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 multiversx_sc_snippets::imports::RustBigInt

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 multiversx_sc_snippets::imports::RustBigInt

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 multiversx_sc_snippets::imports::RustBigInt

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<u8> for multiversx_sc_snippets::imports::RustBigUint

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<u16> for multiversx_sc_snippets::imports::RustBigUint

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<u32> for multiversx_sc_snippets::imports::RustBigUint

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<u64> for multiversx_sc_snippets::imports::RustBigUint

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 multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<u128> for multiversx_sc_snippets::imports::RustBigUint

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 LengthHint

Source§

impl AddAssign<usize> for multiversx_sc_snippets::imports::RustBigInt

Source§

impl AddAssign<usize> for multiversx_sc_snippets::imports::RustBigUint

1.9.0 · Source§

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

1.9.0 · Source§

impl AddAssign<Duration> for SystemTime

Source§

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.

Source§

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.

Source§

impl AddAssign<Duration> for Time

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

For checked arithmetic, see Time::checked_add.

Source§

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.

Source§

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.

Source§

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.

Source§

impl AddAssign<Duration> for tokio::time::instant::Instant

Source§

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.

Source§

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.

Source§

impl AddAssign<SignedDuration> for Time

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

For checked arithmetic, see Time::checked_add.

Source§

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.

Source§

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.

Source§

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.

Source§

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.

Source§

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.

Source§

impl AddAssign<Span> for Time

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

For checked arithmetic, see Time::checked_add.

Source§

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.

Source§

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.

Source§

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.

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<'b> AddAssign<&'b EdwardsPoint> for EdwardsPoint

Source§

impl<'b> AddAssign<&'b RistrettoPoint> for RistrettoPoint

Source§

impl<'b> AddAssign<&'b Scalar> for Scalar

Source§

impl<M> AddAssign for BigFloat<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign for multiversx_sc_snippets::imports::BigInt<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign for multiversx_sc_snippets::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign<&BigFloat<M>> for BigFloat<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign<&BigInt<M>> for multiversx_sc_snippets::imports::BigInt<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign<&BigUint<M>> for multiversx_sc_snippets::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign<u32> for multiversx_sc_snippets::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M> AddAssign<u64> for multiversx_sc_snippets::imports::BigUint<M>
where M: ManagedTypeApi,

Source§

impl<M, D1, D2> AddAssign<&ManagedDecimal<M, D2>> for ManagedDecimal<M, D1>
where M: ManagedTypeApi, D1: Decimals, D2: Decimals,

Source§

impl<M, D1, D2> AddAssign<&ManagedDecimalSigned<M, D2>> for ManagedDecimalSigned<M, D1>
where M: ManagedTypeApi, D1: Decimals, D2: Decimals,

Source§

impl<M, D1, D2> AddAssign<ManagedDecimal<M, D2>> for ManagedDecimal<M, D1>
where M: ManagedTypeApi, D1: Decimals, D2: Decimals,

Source§

impl<M, D1, D2> AddAssign<ManagedDecimalSigned<M, D2>> for ManagedDecimalSigned<M, D1>
where M: ManagedTypeApi, D1: Decimals, D2: Decimals,

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, 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,