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 Timespec

Source§

impl AddAssign for LengthHint

Source§

impl AddAssign for TimeDelta

Source§

impl AddAssign for SignedDuration

Source§

impl AddAssign for BigInt

Source§

impl AddAssign for BigUint

1.9.0 · Source§

impl AddAssign for Duration

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

Source§

impl AddAssign<&BigInt> for BigInt

Source§

impl AddAssign<&BigUint> for BigUint

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<i8> for Weekday

Source§

impl AddAssign<i8> for BigInt

1.74.0 · Source§

impl AddAssign<i8> for Saturating<i8>

1.60.0 · Source§

impl AddAssign<i8> for Wrapping<i8>

Source§

impl AddAssign<i16> for Weekday

Source§

impl AddAssign<i16> for BigInt

1.74.0 · Source§

impl AddAssign<i16> for Saturating<i16>

1.60.0 · Source§

impl AddAssign<i16> for Wrapping<i16>

Source§

impl AddAssign<i32> for Weekday

Source§

impl AddAssign<i32> for BigInt

1.74.0 · Source§

impl AddAssign<i32> for Saturating<i32>

1.60.0 · Source§

impl AddAssign<i32> for Wrapping<i32>

Source§

impl AddAssign<i64> for Weekday

Source§

impl AddAssign<i64> for BigInt

1.74.0 · Source§

impl AddAssign<i64> for Saturating<i64>

1.60.0 · Source§

impl AddAssign<i64> for Wrapping<i64>

Source§

impl AddAssign<i128> 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<isize> 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<u8> for BigInt

Source§

impl AddAssign<u8> for BigUint

1.74.0 · Source§

impl AddAssign<u8> for Saturating<u8>

1.60.0 · Source§

impl AddAssign<u8> for Wrapping<u8>

Source§

impl AddAssign<u16> for BigInt

Source§

impl AddAssign<u16> for BigUint

1.74.0 · Source§

impl AddAssign<u16> for Saturating<u16>

1.60.0 · Source§

impl AddAssign<u16> for Wrapping<u16>

Source§

impl AddAssign<u32> for BigInt

Source§

impl AddAssign<u32> for BigUint

1.74.0 · Source§

impl AddAssign<u32> for Saturating<u32>

1.60.0 · Source§

impl AddAssign<u32> for Wrapping<u32>

Source§

impl AddAssign<u64> for BigInt

Source§

impl AddAssign<u64> for BigUint

1.74.0 · Source§

impl AddAssign<u64> for Saturating<u64>

1.60.0 · Source§

impl AddAssign<u64> for Wrapping<u64>

Source§

impl AddAssign<u128> for BigInt

Source§

impl AddAssign<u128> 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<usize> for Span

Source§

impl AddAssign<usize> for LengthHint

Source§

impl AddAssign<usize> for BigInt

Source§

impl AddAssign<usize> 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<TimeDelta> for NaiveDate

Add-assign of TimeDelta to NaiveDate.

This discards the fractional days in TimeDelta, rounding to the closest integral number of days towards TimeDelta::zero().

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDate::checked_add_signed to get an Option instead.

Source§

impl AddAssign<TimeDelta> for NaiveDateTime

Add-assign TimeDelta to NaiveDateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDateTime::checked_add_signed to get an Option instead.

Source§

impl AddAssign<TimeDelta> for NaiveTime

Add-assign TimeDelta to NaiveTime.

This wraps around and never overflows or underflows. In particular the addition ignores integral number of days.

Source§

impl AddAssign<SignedDuration> for rustmax::jiff::civil::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 rustmax::jiff::civil::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 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<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<Span> for rustmax::jiff::civil::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 rustmax::jiff::civil::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 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<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<Duration> for NaiveDateTime

Add-assign std::time::Duration to NaiveDateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDateTime::checked_add_signed to get an Option instead.

Source§

impl AddAssign<Duration> for NaiveTime

Add-assign std::time::Duration to NaiveTime.

This wraps around and never overflows or underflows. In particular the addition ignores integral number of days.

Source§

impl AddAssign<Duration> for rustmax::jiff::civil::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 rustmax::jiff::civil::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 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 Offset

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

For checked arithmetic, see Offset::checked_add.

1.9.0 · Source§

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

1.9.0 · Source§

impl AddAssign<Duration> for SystemTime

Source§

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

1.14.0 · Source§

impl<'a> AddAssign for Cow<'a, str>

Source§

impl<'a> AddAssign<&'a EvalResult> for EvalResult

1.14.0 · Source§

impl<'a> AddAssign<&'a str> for Cow<'a, str>

Source§

impl<'a, T> AddAssign<&'a Histogram<T>> for Histogram<T>
where T: Counter,

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 Histogram<T>
where T: Counter,

Source§

impl<T> AddAssign<u64> for Histogram<T>
where T: Counter,

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,

Source§

impl<Tz> AddAssign<TimeDelta> for rustmax::chrono::Date<Tz>
where Tz: TimeZone,

Source§

impl<Tz> AddAssign<TimeDelta> for rustmax::chrono::DateTime<Tz>
where Tz: TimeZone,

Add-assign chrono::Duration to DateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using DateTime<Tz>::checked_add_signed to get an Option instead.

Source§

impl<Tz> AddAssign<Duration> for rustmax::chrono::DateTime<Tz>
where Tz: TimeZone,

Add-assign std::time::Duration to DateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using DateTime<Tz>::checked_add_signed to get an Option instead.