AddAssign

Trait AddAssign 

1.8.0 (const: unstable) · 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 (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 for icydb_core::types::Date

Source§

impl AddAssign for icydb_core::types::Decimal

Source§

impl AddAssign for icydb_core::types::Duration

Source§

impl AddAssign for E8s

Source§

impl AddAssign for E18s

Source§

impl AddAssign for Int128

Source§

impl AddAssign for icydb_core::types::Int

Source§

impl AddAssign for Nat128

Source§

impl AddAssign for icydb_core::types::Nat

Source§

impl AddAssign for Timestamp

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>

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.9.0 (const: unstable) · Source§

impl AddAssign for core::time::Duration

Source§

impl AddAssign for candid::types::number::Int

Source§

impl AddAssign for candid::types::number::Nat

Source§

impl AddAssign for Cycles

Source§

impl AddAssign for TimeDelta

Source§

impl AddAssign for bf16

Source§

impl AddAssign for f16

Source§

impl AddAssign for G1Projective

Source§

impl AddAssign for G2Projective

Source§

impl AddAssign for Gt

Source§

impl AddAssign for MillerLoopResult

Source§

impl AddAssign for Scalar

Source§

impl AddAssign for BigInt

Source§

impl AddAssign for BigUint

Source§

impl AddAssign for rust_decimal::decimal::Decimal

Source§

impl AddAssign for time::duration::Duration

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.22.0 (const: unstable) · Source§

impl AddAssign<&i8> for i8

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<&i16> for i16

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<&i32> for i32

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<&i64> for i64

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<&i128> for i128

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<&isize> for isize

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.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.22.0 (const: unstable) · Source§

impl AddAssign<&u8> for u8

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<&u16> for u16

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<&u32> for u32

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<&u64> for u64

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<&u128> for u128

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<&usize> for usize

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

Source§

impl AddAssign<&bf16> for bf16

Source§

impl AddAssign<&f16> for f16

Source§

impl AddAssign<&BigInt> for BigInt

Source§

impl AddAssign<&BigUint> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · Source§

impl AddAssign<i8> for Wrapping<i8>

Source§

impl AddAssign<i8> for candid::types::number::Int

Source§

impl AddAssign<i8> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · Source§

impl AddAssign<i16> for Wrapping<i16>

Source§

impl AddAssign<i16> for candid::types::number::Int

Source§

impl AddAssign<i16> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · Source§

impl AddAssign<i32> for Wrapping<i32>

Source§

impl AddAssign<i32> for candid::types::number::Int

Source§

impl AddAssign<i32> for BigInt

1.74.0 (const: unstable) · Source§

impl AddAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · Source§

impl AddAssign<i64> for Wrapping<i64>

Source§

impl AddAssign<i64> for candid::types::number::Int

Source§

impl AddAssign<i64> 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<i128> for candid::types::number::Int

Source§

impl AddAssign<i128> 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<isize> for candid::types::number::Int

Source§

impl AddAssign<isize> for BigInt

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<u8> for candid::types::number::Int

Source§

impl AddAssign<u8> for candid::types::number::Nat

Source§

impl AddAssign<u8> for BigInt

Source§

impl AddAssign<u8> 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<u16> for candid::types::number::Int

Source§

impl AddAssign<u16> for candid::types::number::Nat

Source§

impl AddAssign<u16> for BigInt

Source§

impl AddAssign<u16> 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<u32> for candid::types::number::Int

Source§

impl AddAssign<u32> for candid::types::number::Nat

Source§

impl AddAssign<u32> for BigInt

Source§

impl AddAssign<u32> 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<u64> for candid::types::number::Int

Source§

impl AddAssign<u64> for candid::types::number::Nat

Source§

impl AddAssign<u64> for BigInt

Source§

impl AddAssign<u64> 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<u128> for candid::types::number::Int

Source§

impl AddAssign<u128> for candid::types::number::Nat

Source§

impl AddAssign<u128> for BigInt

Source§

impl AddAssign<u128> for BigUint

1.74.0 (const: unstable) · Source§

impl AddAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · Source§

impl AddAssign<usize> for Wrapping<usize>

Source§

impl AddAssign<usize> for candid::types::number::Int

Source§

impl AddAssign<usize> for candid::types::number::Nat

Source§

impl AddAssign<usize> for BigInt

Source§

impl AddAssign<usize> for BigUint

1.9.0 · Source§

impl AddAssign<Duration> for Instant

1.9.0 · Source§

impl AddAssign<Duration> for SystemTime

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 time::date::Date

Source§

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

Source§

impl AddAssign<Duration> for OffsetDateTime

Source§

impl AddAssign<Duration> for PrimitiveDateTime

Source§

impl AddAssign<Duration> for Time

Source§

impl AddAssign<Duration> for UtcDateTime

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<G1Affine> for G1Projective

Source§

impl AddAssign<G2Affine> for G2Projective

Source§

impl AddAssign<Decimal> for &mut rust_decimal::decimal::Decimal

Source§

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

Source§

impl AddAssign<Duration> for Instant

Source§

impl AddAssign<Duration> for SystemTime

Available on crate feature std only.
Source§

impl AddAssign<Duration> for time::date::Date

Source§

impl AddAssign<Duration> for OffsetDateTime

Source§

impl AddAssign<Duration> for PrimitiveDateTime

Source§

impl AddAssign<Duration> for Time

Source§

impl AddAssign<Duration> for UtcDateTime

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

impl<'a> AddAssign<&'a Decimal> for &'a mut rust_decimal::decimal::Decimal

Source§

impl<'a> AddAssign<&'a Decimal> for rust_decimal::decimal::Decimal

Source§

impl<'a, D, A, P> AddAssign<P> for DocBuilder<'a, D, A>
where D: DocAllocator<'a, A> + ?Sized, P: Pretty<'a, D, A>,

Source§

impl<'b> AddAssign<&'b G1Affine> for G1Projective

Source§

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

Source§

impl<'b> AddAssign<&'b G2Affine> for G2Projective

Source§

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

Source§

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

Source§

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

Source§

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

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,

Source§

impl<Tz> AddAssign<Duration> for 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.

Source§

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

Source§

impl<Tz> AddAssign<TimeDelta> for 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.