Skip to main content

Add

Trait Add 

1.0.0 (const: unstable) · Source
pub trait Add<Rhs = Self> {
    type Output;

    // Required method
    fn add(self, rhs: Rhs) -> Self::Output;
}
Expand description

core The addition operator +.


📍code/ops re-exported from core::ops



📜
The addition operator +.

Note that Rhs is Self by default, but this is not mandatory. For example, std::time::SystemTime implements Add<Duration>, which permits operations of the form SystemTime = SystemTime + Duration.

§Examples

§Addable points

use std::ops::Add;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl Add for Point {
    type Output = Self;

    fn add(self, other: Self) -> Self {
        Self {
            x: self.x + other.x,
            y: self.y + other.y,
        }
    }
}

assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
           Point { x: 3, y: 3 });

§Implementing Add with generics

Here is an example of the same Point struct implementing the Add trait using generics.

use std::ops::Add;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point<T> {
    x: T,
    y: T,
}

// Notice that the implementation uses the associated type `Output`.
impl<T: Add<Output = T>> Add for Point<T> {
    type Output = Self;

    fn add(self, other: Self) -> Self::Output {
        Self {
            x: self.x + other.x,
            y: self.y + other.y,
        }
    }
}

assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
           Point { x: 3, y: 3 });

Required Associated Types§

1.0.0 (const: unstable) · Source

type Output

The resulting type after applying the + operator.

Required Methods§

1.0.0 (const: unstable) · Source

fn add(self, rhs: Rhs) -> Self::Output

Performs the + operation.

§Example
assert_eq!(12 + 1, 13);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Add for Assume

1.3.0 (const: unstable) · Source§

impl Add for Duration

Source§

impl Add for Float<f16>

Source§

impl Add for Float<f32>

Source§

impl Add for Float<f64>

Source§

impl Add for Float<f128>

Source§

impl Add for Int<i8>

Available on crate feature int only.
Source§

impl Add for Int<i16>

Available on crate feature int only.
Source§

impl Add for Int<i32>

Available on crate feature int only.
Source§

impl Add for Int<i64>

Available on crate feature int only.
Source§

impl Add for Int<i128>

Available on crate feature int only.
Source§

impl Add for Int<isize>

Available on crate feature int only.
Source§

impl Add for Int<u8>

Available on crate feature int only.
Source§

impl Add for Int<u16>

Available on crate feature int only.
Source§

impl Add for Int<u32>

Available on crate feature int only.
Source§

impl Add for Int<u64>

Available on crate feature int only.
Source§

impl Add for Int<u128>

Available on crate feature int only.
Source§

impl Add for Int<usize>

Available on crate feature int only.
1.74.0 (const: unstable) · Source§

impl Add for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Add for Saturating<usize>

Source§

impl Add for SignedDuration

Source§

impl Add for TimeDelta

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<i8>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<i16>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<i32>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<i64>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<i128>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<isize>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<u8>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<u16>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<u32>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<u64>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<u128>

1.0.0 (const: unstable) · Source§

impl Add for Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Add for f16

1.0.0 (const: unstable) · Source§

impl Add for f32

1.0.0 (const: unstable) · Source§

impl Add for f64

Source§

impl Add for f32x4

Source§

impl Add for f32x8

Source§

impl Add for f32x16

Source§

impl Add for f64x2

Source§

impl Add for f64x4

Source§

impl Add for f64x8

1.0.0 (const: unstable) · Source§

impl Add for f128

1.0.0 (const: unstable) · Source§

impl Add for i8

Source§

impl Add for i8x16

Source§

impl Add for i8x32

1.0.0 (const: unstable) · Source§

impl Add for i16

1.0.0 (const: unstable) · Source§

impl Add for i32

1.0.0 (const: unstable) · Source§

impl Add for i64

Source§

impl Add for i16x8

Source§

impl Add for i16x16

Source§

impl Add for i16x32

Source§

impl Add for i32x4

Source§

impl Add for i32x8

Source§

impl Add for i32x16

Source§

impl Add for i64x2

Source§

impl Add for i64x4

Source§

impl Add for i64x8

1.0.0 (const: unstable) · Source§

impl Add for i128

1.0.0 (const: unstable) · Source§

impl Add for isize

Source§

impl Add for m128

Source§

impl Add for m256

Source§

impl Add for m128d

Source§

impl Add for m256d

1.0.0 (const: unstable) · Source§

impl Add for u8

Source§

impl Add for u8x16

Source§

impl Add for u8x32

1.0.0 (const: unstable) · Source§

impl Add for u16

1.0.0 (const: unstable) · Source§

impl Add for u32

1.0.0 (const: unstable) · Source§

impl Add for u64

Source§

impl Add for u16x8

Source§

impl Add for u16x16

Source§

impl Add for u16x32

Source§

impl Add for u32x4

Source§

impl Add for u32x8

Source§

impl Add for u32x16

Source§

impl Add for u64x2

Source§

impl Add for u64x4

Source§

impl Add for u64x8

1.0.0 (const: unstable) · Source§

impl Add for u128

1.0.0 (const: unstable) · Source§

impl Add for usize

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i8>> for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i16>> for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i32>> for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i64>> for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<i128>> for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<isize>> for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u8>> for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u16>> for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u32>> for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u64>> for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<u128>> for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<usize>> for &Saturating<usize>

1.74.0 (const: unstable) · Source§

impl Add<&Saturating<usize>> for Saturating<usize>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i8>> for &Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i8>> for Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i16>> for Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i32>> for Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i64>> for Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<i128>> for Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<isize>> for Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u8>> for &Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u8>> for Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u16>> for Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u32>> for Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u64>> for Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<u128>> for Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 (const: unstable) · Source§

impl Add<&Wrapping<usize>> for Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Add<&f16> for &f16

1.0.0 (const: unstable) · Source§

impl Add<&f16> for f16

1.0.0 (const: unstable) · Source§

impl Add<&f32> for &f32

1.0.0 (const: unstable) · Source§

impl Add<&f32> for f32

Source§

impl Add<&f32x4> for f32x4

Source§

impl Add<&f32x8> for f32x8

Source§

impl Add<&f32x16> for f32x16

1.0.0 (const: unstable) · Source§

impl Add<&f64> for &f64

1.0.0 (const: unstable) · Source§

impl Add<&f64> for f64

Source§

impl Add<&f64x2> for f64x2

Source§

impl Add<&f64x4> for f64x4

Source§

impl Add<&f64x8> for f64x8

1.0.0 (const: unstable) · Source§

impl Add<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Add<&f128> for f128

1.0.0 (const: unstable) · Source§

impl Add<&i8> for &i8

1.0.0 (const: unstable) · Source§

impl Add<&i8> for i8

Source§

impl Add<&i8x16> for i8x16

Source§

impl Add<&i8x32> for i8x32

1.0.0 (const: unstable) · Source§

impl Add<&i16> for &i16

1.0.0 (const: unstable) · Source§

impl Add<&i16> for i16

Source§

impl Add<&i16x8> for i16x8

Source§

impl Add<&i16x16> for i16x16

Source§

impl Add<&i16x32> for i16x32

1.0.0 (const: unstable) · Source§

impl Add<&i32> for &i32

1.0.0 (const: unstable) · Source§

impl Add<&i32> for i32

Source§

impl Add<&i32x4> for i32x4

Source§

impl Add<&i32x8> for i32x8

Source§

impl Add<&i32x16> for i32x16

1.0.0 (const: unstable) · Source§

impl Add<&i64> for &i64

1.0.0 (const: unstable) · Source§

impl Add<&i64> for i64

Source§

impl Add<&i64x2> for i64x2

Source§

impl Add<&i64x4> for i64x4

Source§

impl Add<&i64x8> for i64x8

1.0.0 (const: unstable) · Source§

impl Add<&i128> for &i128

1.0.0 (const: unstable) · Source§

impl Add<&i128> for i128

1.0.0 (const: unstable) · Source§

impl Add<&isize> for &isize

1.0.0 (const: unstable) · Source§

impl Add<&isize> for isize

1.0.0 · Source§

impl Add<&str> for String

Available on non-no_global_oom_handling only.

Implements the + operator for concatenating two strings.

This consumes the String on the left-hand side and re-uses its buffer (growing it if necessary). This is done to avoid allocating a new String and copying the entire contents on every operation, which would lead to O(n^2) running time when building an n-byte string by repeated concatenation.

The string on the right-hand side is only borrowed; its contents are copied into the returned String.

§Examples

Concatenating two Strings takes the first by value and borrows the second:

let a = String::from("hello");
let b = String::from(" world");
let c = a + &b;
// `a` is moved and can no longer be used here.

If you want to keep using the first String, you can clone it and append to the clone instead:

let a = String::from("hello");
let b = String::from(" world");
let c = a.clone() + &b;
// `a` is still valid here.

Concatenating &str slices can be done by converting the first to a String:

let a = "hello";
let b = " world";
let c = a.to_string() + b;
1.0.0 (const: unstable) · Source§

impl Add<&u8> for &u8

1.0.0 (const: unstable) · Source§

impl Add<&u8> for u8

Source§

impl Add<&u8x16> for u8x16

Source§

impl Add<&u8x32> for u8x32

1.0.0 (const: unstable) · Source§

impl Add<&u16> for &u16

1.0.0 (const: unstable) · Source§

impl Add<&u16> for u16

Source§

impl Add<&u16x8> for u16x8

Source§

impl Add<&u16x16> for u16x16

Source§

impl Add<&u16x32> for u16x32

1.0.0 (const: unstable) · Source§

impl Add<&u32> for &u32

1.0.0 (const: unstable) · Source§

impl Add<&u32> for u32

Source§

impl Add<&u32x4> for u32x4

Source§

impl Add<&u32x8> for u32x8

Source§

impl Add<&u32x16> for u32x16

1.0.0 (const: unstable) · Source§

impl Add<&u64> for &u64

1.0.0 (const: unstable) · Source§

impl Add<&u64> for u64

Source§

impl Add<&u64x2> for u64x2

Source§

impl Add<&u64x4> for u64x4

Source§

impl Add<&u64x8> for u64x8

1.0.0 (const: unstable) · Source§

impl Add<&u128> for &u128

1.0.0 (const: unstable) · Source§

impl Add<&u128> for u128

1.0.0 (const: unstable) · Source§

impl Add<&usize> for &usize

1.0.0 (const: unstable) · Source§

impl Add<&usize> for usize

Source§

impl Add<Duration> for Date

Adds an unsigned duration of time to a date.

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

Source§

impl Add<Duration> for DateTime

Adds an unsigned duration of time to a datetime.

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

1.8.0 · Source§

impl Add<Duration> for Instant

Source§

impl Add<Duration> for Offset

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

For checked arithmetic, see Offset::checked_add.

1.8.0 · Source§

impl Add<Duration> for SystemTime

Source§

impl Add<Duration> for Time

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

For checked arithmetic, see Time::checked_add.

Source§

impl Add<Duration> for Timestamp

Adds an unsigned duration of time to a timestamp.

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

Source§

impl Add<Duration> for Zoned

Adds an unsigned duration of time to a zoned datetime.

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

Using this implementation will result in consuming the Zoned value. Since it is not Copy, this will prevent further use. If this is undesirable, consider using the trait implementation for &Zoned, Zoned::checked_add or cloning the Zoned value.

1.74.0 (const: unstable) · Source§

impl Add<Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Add<Saturating<usize>> for &Saturating<usize>

Source§

impl Add<SignedDuration> for Date

Adds a signed duration of time to a date.

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

Source§

impl Add<SignedDuration> for DateTime

Adds a signed duration of time to a datetime.

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

Source§

impl Add<SignedDuration> for Offset

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

For checked arithmetic, see Offset::checked_add.

Source§

impl Add<SignedDuration> for Time

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

For checked arithmetic, see Time::checked_add.

Source§

impl Add<SignedDuration> for Timestamp

Adds a signed duration of time to a timestamp.

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

Source§

impl Add<SignedDuration> for Zoned

Adds a signed duration of time to a zoned datetime.

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

Using this implementation will result in consuming the Zoned value. Since it is not Copy, this will prevent further use. If this is undesirable, consider using the trait implementation for &Zoned, Zoned::checked_add or cloning the Zoned value.

Source§

impl Add<Span> for Date

Adds a span of time to a date.

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

Source§

impl Add<Span> for DateTime

Adds a span of time to a datetime.

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

Source§

impl Add<Span> for Offset

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

For checked arithmetic, see Offset::checked_add.

Source§

impl Add<Span> for Time

Adds a span of time. This uses wrapping arithmetic.

For checked arithmetic, see Time::checked_add.

Source§

impl Add<Span> for Timestamp

Adds a span of time to a timestamp.

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 Add<TimeDelta> for SystemInstant

Available on crate feature std only.

Shifts Instant forward or backward.

Source§

impl Add<Weekday> for i8

Source§

impl Add<Weekday> for i16

Source§

impl Add<Weekday> for i32

Source§

impl Add<Weekday> for i64

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<i8>> for &Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<i16>> for &Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<i32>> for &Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<i64>> for &Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<i128>> for &Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<isize>> for &Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<u8>> for &Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<u16>> for &Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<u32>> for &Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<u64>> for &Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<u128>> for &Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Add<Wrapping<usize>> for &Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Add<f16> for &f16

Source§

impl Add<f16> for Float<f16>

1.0.0 (const: unstable) · Source§

impl Add<f32> for &f32

Source§

impl Add<f32> for Float<f32>

Source§

impl Add<f32> for f32x4

Source§

impl Add<f32> for f32x8

Source§

impl Add<f32> for f32x16

Source§

impl Add<f32x4> for f32

Source§

impl Add<f32x8> for f32

Source§

impl Add<f32x16> for f32

1.0.0 (const: unstable) · Source§

impl Add<f64> for &f64

Source§

impl Add<f64> for Float<f64>

Source§

impl Add<f64> for f64x2

Source§

impl Add<f64> for f64x4

Source§

impl Add<f64> for f64x8

Source§

impl Add<f64x2> for f64

Source§

impl Add<f64x4> for f64

Source§

impl Add<f64x8> for f64

1.0.0 (const: unstable) · Source§

impl Add<f128> for &f128

Source§

impl Add<f128> for Float<f128>

1.0.0 (const: unstable) · Source§

impl Add<i8> for &i8

Source§

impl Add<i8> for Int<i8>

Available on crate feature int only.
Source§

impl Add<i8> for Weekday

Source§

impl Add<i8> for i8x16

Source§

impl Add<i8> for i8x32

Source§

impl Add<i8x16> for i8

Source§

impl Add<i8x32> for i8

1.0.0 (const: unstable) · Source§

impl Add<i16> for &i16

Source§

impl Add<i16> for Int<i16>

Available on crate feature int only.
Source§

impl Add<i16> for Weekday

Source§

impl Add<i16> for i16x8

Source§

impl Add<i16> for i16x16

Source§

impl Add<i16> for i16x32

Source§

impl Add<i16x8> for i16

Source§

impl Add<i16x16> for i16

Source§

impl Add<i16x32> for i16

1.0.0 (const: unstable) · Source§

impl Add<i32> for &i32

Source§

impl Add<i32> for Int<i32>

Available on crate feature int only.
Source§

impl Add<i32> for Weekday

Source§

impl Add<i32> for i32x4

Source§

impl Add<i32> for i32x8

Source§

impl Add<i32> for i32x16

Source§

impl Add<i32x4> for i32

Source§

impl Add<i32x8> for i32

Source§

impl Add<i32x16> for i32

1.0.0 (const: unstable) · Source§

impl Add<i64> for &i64

Source§

impl Add<i64> for Int<i64>

Available on crate feature int only.
Source§

impl Add<i64> for Weekday

Source§

impl Add<i64> for i64x2

Source§

impl Add<i64> for i64x4

Source§

impl Add<i64> for i64x8

Source§

impl Add<i64x2> for i64

Source§

impl Add<i64x4> for i64

Source§

impl Add<i64x8> for i64

1.0.0 (const: unstable) · Source§

impl Add<i128> for &i128

Source§

impl Add<i128> for Int<i128>

Available on crate feature int only.
1.0.0 (const: unstable) · Source§

impl Add<isize> for &isize

Source§

impl Add<isize> for Int<isize>

Available on crate feature int only.
1.0.0 (const: unstable) · Source§

impl Add<u8> for &u8

Source§

impl Add<u8> for Int<u8>

Available on crate feature int only.
Source§

impl Add<u8> for u8x16

Source§

impl Add<u8> for u8x32

Source§

impl Add<u8x16> for u8

Source§

impl Add<u8x32> for u8

1.0.0 (const: unstable) · Source§

impl Add<u16> for &u16

Source§

impl Add<u16> for Int<u16>

Available on crate feature int only.
Source§

impl Add<u16> for u16x8

Source§

impl Add<u16> for u16x16

Source§

impl Add<u16> for u16x32

Source§

impl Add<u16x8> for u16

Source§

impl Add<u16x16> for u16

Source§

impl Add<u16x32> for u16

1.0.0 (const: unstable) · Source§

impl Add<u32> for &u32

Source§

impl Add<u32> for Int<u32>

Available on crate feature int only.
Source§

impl Add<u32> for u32x4

Source§

impl Add<u32> for u32x8

Source§

impl Add<u32> for u32x16

Source§

impl Add<u32x4> for u32

Source§

impl Add<u32x8> for u32

Source§

impl Add<u32x16> for u32

1.0.0 (const: unstable) · Source§

impl Add<u64> for &u64

Source§

impl Add<u64> for Int<u64>

Available on crate feature int only.
Source§

impl Add<u64> for u64x2

Source§

impl Add<u64> for u64x4

Source§

impl Add<u64> for u64x8

Source§

impl Add<u64x2> for u64

Source§

impl Add<u64x4> for u64

Source§

impl Add<u64x8> for u64

1.0.0 (const: unstable) · Source§

impl Add<u128> for &u128

Source§

impl Add<u128> for Int<u128>

Available on crate feature int only.
1.0.0 (const: unstable) · Source§

impl Add<usize> for &usize

Source§

impl Add<usize> for Int<usize>

Available on crate feature int only.
1.14.0 · Source§

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

Available on non-no_global_oom_handling only.
Source§

type Output = Cow<'a, str>

1.14.0 · Source§

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

Available on non-no_global_oom_handling only.
Source§

type Output = Cow<'a, str>

Source§

impl<'a> Add<Duration> for &'a Zoned

Adds an unsigned duration of time to a borrowed zoned datetime.

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

Source§

impl<'a> Add<SignedDuration> for &'a Zoned

Adds a signed duration of time to a borrowed zoned datetime.

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

Source§

impl<'a> Add<Span> for &'a Zoned

Adds a span of time to a borrowed zoned datetime.

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

Source§

impl<'a> Add<Span> for Zoned

Adds a span of time to a zoned datetime.

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

Using this implementation will result in consuming the Zoned value. Since it is not Copy, this will prevent further use. If this is undesirable, consider using the trait implementation for &Zoned, Zoned::checked_add or cloning the Zoned value.

Source§

impl<'lhs, 'rhs, T, const N: usize> Add<&'rhs Simd<T, N>> for &'lhs Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>,

Source§

type Output = Simd<T, N>

Source§

impl<'o> Add<&'o Float<f16>> for Float<f16>

Source§

impl<'o> Add<&'o Float<f32>> for Float<f32>

Source§

impl<'o> Add<&'o Float<f64>> for Float<f64>

Source§

impl<'o> Add<&'o Float<f128>> for Float<f128>

Source§

impl<'o> Add<&'o Int<i8>> for Int<i8>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<i16>> for Int<i16>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<i32>> for Int<i32>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<i64>> for Int<i64>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<i128>> for Int<i128>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<isize>> for Int<isize>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<u8>> for Int<u8>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<u16>> for Int<u16>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<u32>> for Int<u32>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<u64>> for Int<u64>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<u128>> for Int<u128>

Available on crate feature int only.
Source§

impl<'o> Add<&'o Int<usize>> for Int<usize>

Available on crate feature int only.
Source§

impl<'o> Add<&'o f16> for Float<f16>

Source§

impl<'o> Add<&'o f32> for Float<f32>

Source§

impl<'o> Add<&'o f64> for Float<f64>

Source§

impl<'o> Add<&'o f128> for Float<f128>

Source§

impl<'o> Add<&'o i8> for Int<i8>

Available on crate feature int only.
Source§

impl<'o> Add<&'o i16> for Int<i16>

Available on crate feature int only.
Source§

impl<'o> Add<&'o i32> for Int<i32>

Available on crate feature int only.
Source§

impl<'o> Add<&'o i64> for Int<i64>

Available on crate feature int only.
Source§

impl<'o> Add<&'o i128> for Int<i128>

Available on crate feature int only.
Source§

impl<'o> Add<&'o isize> for Int<isize>

Available on crate feature int only.
Source§

impl<'o> Add<&'o u8> for Int<u8>

Available on crate feature int only.
Source§

impl<'o> Add<&'o u16> for Int<u16>

Available on crate feature int only.
Source§

impl<'o> Add<&'o u32> for Int<u32>

Available on crate feature int only.
Source§

impl<'o> Add<&'o u64> for Int<u64>

Available on crate feature int only.
Source§

impl<'o> Add<&'o u128> for Int<u128>

Available on crate feature int only.
Source§

impl<'o> Add<&'o usize> for Int<usize>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Float<f16>> for &'s Float<f16>

Source§

impl<'s, 'o> Add<&'o Float<f32>> for &'s Float<f32>

Source§

impl<'s, 'o> Add<&'o Float<f64>> for &'s Float<f64>

Source§

impl<'s, 'o> Add<&'o Float<f128>> for &'s Float<f128>

Source§

impl<'s, 'o> Add<&'o Int<i8>> for &'s Int<i8>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<i16>> for &'s Int<i16>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<i32>> for &'s Int<i32>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<i64>> for &'s Int<i64>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<i128>> for &'s Int<i128>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<isize>> for &'s Int<isize>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<u8>> for &'s Int<u8>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<u16>> for &'s Int<u16>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<u32>> for &'s Int<u32>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<u64>> for &'s Int<u64>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<u128>> for &'s Int<u128>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o Int<usize>> for &'s Int<usize>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o f16> for &'s Float<f16>

Source§

impl<'s, 'o> Add<&'o f32> for &'s Float<f32>

Source§

impl<'s, 'o> Add<&'o f64> for &'s Float<f64>

Source§

impl<'s, 'o> Add<&'o f128> for &'s Float<f128>

Source§

impl<'s, 'o> Add<&'o i8> for &'s Int<i8>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o i16> for &'s Int<i16>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o i32> for &'s Int<i32>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o i64> for &'s Int<i64>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o i128> for &'s Int<i128>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o isize> for &'s Int<isize>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o u8> for &'s Int<u8>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o u16> for &'s Int<u16>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o u32> for &'s Int<u32>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o u64> for &'s Int<u64>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o u128> for &'s Int<u128>

Available on crate feature int only.
Source§

impl<'s, 'o> Add<&'o usize> for &'s Int<usize>

Available on crate feature int only.
Source§

impl<'s> Add<Float<f16>> for &'s Float<f16>

Source§

impl<'s> Add<Float<f32>> for &'s Float<f32>

Source§

impl<'s> Add<Float<f64>> for &'s Float<f64>

Source§

impl<'s> Add<Float<f128>> for &'s Float<f128>

Source§

impl<'s> Add<Int<i8>> for &'s Int<i8>

Available on crate feature int only.
Source§

impl<'s> Add<Int<i16>> for &'s Int<i16>

Available on crate feature int only.
Source§

impl<'s> Add<Int<i32>> for &'s Int<i32>

Available on crate feature int only.
Source§

impl<'s> Add<Int<i64>> for &'s Int<i64>

Available on crate feature int only.
Source§

impl<'s> Add<Int<i128>> for &'s Int<i128>

Available on crate feature int only.
Source§

impl<'s> Add<Int<isize>> for &'s Int<isize>

Available on crate feature int only.
Source§

impl<'s> Add<Int<u8>> for &'s Int<u8>

Available on crate feature int only.
Source§

impl<'s> Add<Int<u16>> for &'s Int<u16>

Available on crate feature int only.
Source§

impl<'s> Add<Int<u32>> for &'s Int<u32>

Available on crate feature int only.
Source§

impl<'s> Add<Int<u64>> for &'s Int<u64>

Available on crate feature int only.
Source§

impl<'s> Add<Int<u128>> for &'s Int<u128>

Available on crate feature int only.
Source§

impl<'s> Add<Int<usize>> for &'s Int<usize>

Available on crate feature int only.
Source§

impl<'s> Add<f16> for &'s Float<f16>

Source§

impl<'s> Add<f32> for &'s Float<f32>

Source§

impl<'s> Add<f64> for &'s Float<f64>

Source§

impl<'s> Add<f128> for &'s Float<f128>

Source§

impl<'s> Add<i8> for &'s Int<i8>

Available on crate feature int only.
Source§

impl<'s> Add<i16> for &'s Int<i16>

Available on crate feature int only.
Source§

impl<'s> Add<i32> for &'s Int<i32>

Available on crate feature int only.
Source§

impl<'s> Add<i64> for &'s Int<i64>

Available on crate feature int only.
Source§

impl<'s> Add<i128> for &'s Int<i128>

Available on crate feature int only.
Source§

impl<'s> Add<isize> for &'s Int<isize>

Available on crate feature int only.
Source§

impl<'s> Add<u8> for &'s Int<u8>

Available on crate feature int only.
Source§

impl<'s> Add<u16> for &'s Int<u16>

Available on crate feature int only.
Source§

impl<'s> Add<u32> for &'s Int<u32>

Available on crate feature int only.
Source§

impl<'s> Add<u64> for &'s Int<u64>

Available on crate feature int only.
Source§

impl<'s> Add<u128> for &'s Int<u128>

Available on crate feature int only.
Source§

impl<'s> Add<usize> for &'s Int<usize>

Available on crate feature int only.
Source§

impl<T, const N: usize> Add<&Simd<T, N>> for Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>,

Source§

type Output = Simd<T, N>

Source§

impl<T, const N: usize> Add<Simd<T, N>> for &Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>,

Source§

type Output = Simd<T, N>

Source§

impl<T: Clone + Add<Output = T>, const D: usize> Add for Vector<T, D>

Available on crate feature lin only.
Source§

type Output = Vector<T, D>

Source§

impl<const N: usize> Add for Simd<f16, N>

Source§

impl<const N: usize> Add for Simd<f32, N>

Source§

impl<const N: usize> Add for Simd<f64, N>

Source§

impl<const N: usize> Add for Simd<i8, N>
where i8: SimdElement,

Source§

impl<const N: usize> Add for Simd<i16, N>

Source§

impl<const N: usize> Add for Simd<i32, N>

Source§

impl<const N: usize> Add for Simd<i64, N>

Source§

impl<const N: usize> Add for Simd<isize, N>

Source§

impl<const N: usize> Add for Simd<u8, N>
where u8: SimdElement,

Source§

impl<const N: usize> Add for Simd<u16, N>

Source§

impl<const N: usize> Add for Simd<u32, N>

Source§

impl<const N: usize> Add for Simd<u64, N>

Source§

impl<const N: usize> Add for Simd<usize, N>