Trait Add

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

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

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 · Source

type Output

The resulting type after applying the + operator.

Required Methods§

1.0.0 · Source

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

Performs the + operation.

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

Implementors§

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

1.0.0 (const: unstable) · Source§

impl Add for f128

1.0.0 (const: unstable) · Source§

impl Add for i8

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

1.0.0 (const: unstable) · Source§

impl Add for i128

1.0.0 (const: unstable) · Source§

impl Add for isize

1.0.0 (const: unstable) · Source§

impl Add for u8

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

1.0.0 (const: unstable) · Source§

impl Add for u128

1.0.0 (const: unstable) · Source§

impl Add for usize

Source§

impl Add for Assume

Source§

impl Add for Decimal

Source§

impl Add for I192

Source§

impl Add for I256

Source§

impl Add for I320

Source§

impl Add for I384

Source§

impl Add for I448

Source§

impl Add for I512

Source§

impl Add for I768

Source§

impl Add for PreciseDecimal

Source§

impl Add for U192

Source§

impl Add for U256

Source§

impl Add for U320

Source§

impl Add for U384

Source§

impl Add for U448

Source§

impl Add for U512

Source§

impl Add for U768

1.74.0 · Source§

impl Add for Saturating<i8>

1.74.0 · Source§

impl Add for Saturating<i16>

1.74.0 · Source§

impl Add for Saturating<i32>

1.74.0 · Source§

impl Add for Saturating<i64>

1.74.0 · Source§

impl Add for Saturating<i128>

1.74.0 · Source§

impl Add for Saturating<isize>

1.74.0 · Source§

impl Add for Saturating<u8>

1.74.0 · Source§

impl Add for Saturating<u16>

1.74.0 · Source§

impl Add for Saturating<u32>

1.74.0 · Source§

impl Add for Saturating<u64>

1.74.0 · Source§

impl Add for Saturating<u128>

1.74.0 · Source§

impl Add for Saturating<usize>

1.0.0 · Source§

impl Add for Wrapping<i8>

1.0.0 · Source§

impl Add for Wrapping<i16>

1.0.0 · Source§

impl Add for Wrapping<i32>

1.0.0 · Source§

impl Add for Wrapping<i64>

1.0.0 · Source§

impl Add for Wrapping<i128>

1.0.0 · Source§

impl Add for Wrapping<isize>

1.0.0 · Source§

impl Add for Wrapping<u8>

1.0.0 · Source§

impl Add for Wrapping<u16>

1.0.0 · Source§

impl Add for Wrapping<u32>

1.0.0 · Source§

impl Add for Wrapping<u64>

1.0.0 · Source§

impl Add for Wrapping<u128>

1.0.0 · Source§

impl Add for Wrapping<usize>

1.3.0 · Source§

impl Add for Duration

Source§

impl Add for EdwardsPoint

Source§

impl Add for RistrettoPoint

Source§

impl Add for Scalar

Source§

impl Add for BigInt

Source§

impl Add for BigUint

Source§

impl Add for Timespec

Source§

impl Add for ATerm

1.0.0 · Source§

impl Add<&f16> for &f16

1.0.0 · Source§

impl Add<&f16> for f16

1.0.0 · Source§

impl Add<&f32> for &f32

1.0.0 · Source§

impl Add<&f32> for f32

1.0.0 · Source§

impl Add<&f64> for &f64

1.0.0 · Source§

impl Add<&f64> for f64

1.0.0 · Source§

impl Add<&f128> for &f128

1.0.0 · Source§

impl Add<&f128> for f128

1.0.0 · Source§

impl Add<&i8> for &i8

Source§

impl Add<&i8> for &BigInt

1.0.0 · Source§

impl Add<&i8> for i8

Source§

impl Add<&i8> for BigInt

1.0.0 · Source§

impl Add<&i16> for &i16

Source§

impl Add<&i16> for &BigInt

1.0.0 · Source§

impl Add<&i16> for i16

Source§

impl Add<&i16> for BigInt

1.0.0 · Source§

impl Add<&i32> for &i32

Source§

impl Add<&i32> for &BigInt

1.0.0 · Source§

impl Add<&i32> for i32

Source§

impl Add<&i32> for BigInt

1.0.0 · Source§

impl Add<&i64> for &i64

Source§

impl Add<&i64> for &BigInt

1.0.0 · Source§

impl Add<&i64> for i64

Source§

impl Add<&i64> for BigInt

1.0.0 · Source§

impl Add<&i128> for &i128

Source§

impl Add<&i128> for &BigInt

1.0.0 · Source§

impl Add<&i128> for i128

Source§

impl Add<&i128> for BigInt

1.0.0 · Source§

impl Add<&isize> for &isize

Source§

impl Add<&isize> for &BigInt

1.0.0 · Source§

impl Add<&isize> for isize

Source§

impl Add<&isize> for BigInt

1.0.0 · Source§

impl Add<&str> for String

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

impl Add<&u8> for &u8

Source§

impl Add<&u8> for &BigInt

Source§

impl Add<&u8> for &BigUint

1.0.0 · Source§

impl Add<&u8> for u8

Source§

impl Add<&u8> for BigInt

Source§

impl Add<&u8> for BigUint

1.0.0 · Source§

impl Add<&u16> for &u16

Source§

impl Add<&u16> for &BigInt

Source§

impl Add<&u16> for &BigUint

1.0.0 · Source§

impl Add<&u16> for u16

Source§

impl Add<&u16> for BigInt

Source§

impl Add<&u16> for BigUint

1.0.0 · Source§

impl Add<&u32> for &u32

Source§

impl Add<&u32> for &BigInt

Source§

impl Add<&u32> for &BigUint

1.0.0 · Source§

impl Add<&u32> for u32

Source§

impl Add<&u32> for BigInt

Source§

impl Add<&u32> for BigUint

1.0.0 · Source§

impl Add<&u64> for &u64

Source§

impl Add<&u64> for &BigInt

Source§

impl Add<&u64> for &BigUint

1.0.0 · Source§

impl Add<&u64> for u64

Source§

impl Add<&u64> for BigInt

Source§

impl Add<&u64> for BigUint

1.0.0 · Source§

impl Add<&u128> for &u128

Source§

impl Add<&u128> for &BigInt

Source§

impl Add<&u128> for &BigUint

1.0.0 · Source§

impl Add<&u128> for u128

Source§

impl Add<&u128> for BigInt

Source§

impl Add<&u128> for BigUint

1.0.0 · Source§

impl Add<&usize> for &usize

Source§

impl Add<&usize> for &BigInt

Source§

impl Add<&usize> for &BigUint

1.0.0 · Source§

impl Add<&usize> for usize

Source§

impl Add<&usize> for BigInt

Source§

impl Add<&usize> for BigUint

Source§

impl Add<&I192> for &I192

Source§

impl Add<&I192> for I192

Source§

impl Add<&I256> for &I256

Source§

impl Add<&I256> for I256

Source§

impl Add<&I320> for &I320

Source§

impl Add<&I320> for I320

Source§

impl Add<&I384> for &I384

Source§

impl Add<&I384> for I384

Source§

impl Add<&I448> for &I448

Source§

impl Add<&I448> for I448

Source§

impl Add<&I512> for &I512

Source§

impl Add<&I512> for I512

Source§

impl Add<&I768> for &I768

Source§

impl Add<&I768> for I768

Source§

impl Add<&U192> for &U192

Source§

impl Add<&U192> for U192

Source§

impl Add<&U256> for &U256

Source§

impl Add<&U256> for U256

Source§

impl Add<&U320> for &U320

Source§

impl Add<&U320> for U320

Source§

impl Add<&U384> for &U384

Source§

impl Add<&U384> for U384

Source§

impl Add<&U448> for &U448

Source§

impl Add<&U448> for U448

Source§

impl Add<&U512> for &U512

Source§

impl Add<&U512> for U512

Source§

impl Add<&U768> for &U768

Source§

impl Add<&U768> for U768

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

Source§

impl Add<&BigInt> for &i8

Source§

impl Add<&BigInt> for &i16

Source§

impl Add<&BigInt> for &i32

Source§

impl Add<&BigInt> for &i64

Source§

impl Add<&BigInt> for &i128

Source§

impl Add<&BigInt> for &isize

Source§

impl Add<&BigInt> for &u8

Source§

impl Add<&BigInt> for &u16

Source§

impl Add<&BigInt> for &u32

Source§

impl Add<&BigInt> for &u64

Source§

impl Add<&BigInt> for &u128

Source§

impl Add<&BigInt> for &usize

Source§

impl Add<&BigInt> for &BigInt

Source§

impl Add<&BigInt> for i8

Source§

impl Add<&BigInt> for i16

Source§

impl Add<&BigInt> for i32

Source§

impl Add<&BigInt> for i64

Source§

impl Add<&BigInt> for i128

Source§

impl Add<&BigInt> for isize

Source§

impl Add<&BigInt> for u8

Source§

impl Add<&BigInt> for u16

Source§

impl Add<&BigInt> for u32

Source§

impl Add<&BigInt> for u64

Source§

impl Add<&BigInt> for u128

Source§

impl Add<&BigInt> for usize

Source§

impl Add<&BigInt> for BigInt

Source§

impl Add<&BigUint> for &u8

Source§

impl Add<&BigUint> for &u16

Source§

impl Add<&BigUint> for &u32

Source§

impl Add<&BigUint> for &u64

Source§

impl Add<&BigUint> for &u128

Source§

impl Add<&BigUint> for &usize

Source§

impl Add<&BigUint> for &BigUint

Source§

impl Add<&BigUint> for u8

Source§

impl Add<&BigUint> for u16

Source§

impl Add<&BigUint> for u32

Source§

impl Add<&BigUint> for u64

Source§

impl Add<&BigUint> for u128

Source§

impl Add<&BigUint> for usize

Source§

impl Add<&BigUint> for BigUint

Source§

impl Add<i8> for &BigInt

Source§

impl Add<i8> for Decimal

Source§

impl Add<i8> for PreciseDecimal

Source§

impl Add<i8> for BigInt

Source§

impl Add<i16> for &BigInt

Source§

impl Add<i16> for Decimal

Source§

impl Add<i16> for PreciseDecimal

Source§

impl Add<i16> for BigInt

Source§

impl Add<i32> for &BigInt

Source§

impl Add<i32> for Decimal

Source§

impl Add<i32> for PreciseDecimal

Source§

impl Add<i32> for BigInt

Source§

impl Add<i64> for &BigInt

Source§

impl Add<i64> for Decimal

Source§

impl Add<i64> for PreciseDecimal

Source§

impl Add<i64> for BigInt

Source§

impl Add<i128> for &BigInt

Source§

impl Add<i128> for Decimal

Source§

impl Add<i128> for PreciseDecimal

Source§

impl Add<i128> for BigInt

Source§

impl Add<isize> for &BigInt

Source§

impl Add<isize> for Decimal

Source§

impl Add<isize> for PreciseDecimal

Source§

impl Add<isize> for BigInt

Source§

impl Add<u8> for &BigInt

Source§

impl Add<u8> for &BigUint

Source§

impl Add<u8> for Decimal

Source§

impl Add<u8> for PreciseDecimal

Source§

impl Add<u8> for BigInt

Source§

impl Add<u8> for BigUint

Source§

impl Add<u16> for &BigInt

Source§

impl Add<u16> for &BigUint

Source§

impl Add<u16> for Decimal

Source§

impl Add<u16> for PreciseDecimal

Source§

impl Add<u16> for BigInt

Source§

impl Add<u16> for BigUint

Source§

impl Add<u32> for &BigInt

Source§

impl Add<u32> for &BigUint

Source§

impl Add<u32> for Decimal

Source§

impl Add<u32> for PreciseDecimal

Source§

impl Add<u32> for BigInt

Source§

impl Add<u32> for BigUint

Source§

impl Add<u64> for &BigInt

Source§

impl Add<u64> for &BigUint

Source§

impl Add<u64> for Decimal

Source§

impl Add<u64> for PreciseDecimal

Source§

impl Add<u64> for BigInt

Source§

impl Add<u64> for BigUint

Source§

impl Add<u128> for &BigInt

Source§

impl Add<u128> for &BigUint

Source§

impl Add<u128> for Decimal

Source§

impl Add<u128> for PreciseDecimal

Source§

impl Add<u128> for BigInt

Source§

impl Add<u128> for BigUint

Source§

impl Add<usize> for &BigInt

Source§

impl Add<usize> for &BigUint

Source§

impl Add<usize> for Decimal

Source§

impl Add<usize> for PreciseDecimal

Source§

impl Add<usize> for BigInt

Source§

impl Add<usize> for BigUint

Source§

impl Add<Decimal> for i8

Source§

impl Add<Decimal> for i16

Source§

impl Add<Decimal> for i32

Source§

impl Add<Decimal> for i64

Source§

impl Add<Decimal> for i128

Source§

impl Add<Decimal> for isize

Source§

impl Add<Decimal> for u8

Source§

impl Add<Decimal> for u16

Source§

impl Add<Decimal> for u32

Source§

impl Add<Decimal> for u64

Source§

impl Add<Decimal> for u128

Source§

impl Add<Decimal> for usize

Source§

impl Add<Decimal> for I192

Source§

impl Add<Decimal> for I256

Source§

impl Add<Decimal> for I320

Source§

impl Add<Decimal> for I448

Source§

impl Add<Decimal> for I512

Source§

impl Add<Decimal> for PreciseDecimal

Source§

impl Add<Decimal> for U192

Source§

impl Add<Decimal> for U256

Source§

impl Add<Decimal> for U320

Source§

impl Add<Decimal> for U448

Source§

impl Add<Decimal> for U512

Source§

impl Add<I192> for Decimal

Source§

impl Add<I192> for PreciseDecimal

Source§

impl Add<I256> for Decimal

Source§

impl Add<I256> for PreciseDecimal

Source§

impl Add<I320> for Decimal

Source§

impl Add<I320> for PreciseDecimal

Source§

impl Add<I448> for Decimal

Source§

impl Add<I448> for PreciseDecimal

Source§

impl Add<I512> for Decimal

Source§

impl Add<I512> for PreciseDecimal

Source§

impl Add<PreciseDecimal> for i8

Source§

impl Add<PreciseDecimal> for i16

Source§

impl Add<PreciseDecimal> for i32

Source§

impl Add<PreciseDecimal> for i64

Source§

impl Add<PreciseDecimal> for i128

Source§

impl Add<PreciseDecimal> for isize

Source§

impl Add<PreciseDecimal> for u8

Source§

impl Add<PreciseDecimal> for u16

Source§

impl Add<PreciseDecimal> for u32

Source§

impl Add<PreciseDecimal> for u64

Source§

impl Add<PreciseDecimal> for u128

Source§

impl Add<PreciseDecimal> for usize

Source§

impl Add<PreciseDecimal> for Decimal

Source§

impl Add<PreciseDecimal> for I192

Source§

impl Add<PreciseDecimal> for I256

Source§

impl Add<PreciseDecimal> for I320

Source§

impl Add<PreciseDecimal> for I448

Source§

impl Add<PreciseDecimal> for I512

Source§

impl Add<PreciseDecimal> for U192

Source§

impl Add<PreciseDecimal> for U256

Source§

impl Add<PreciseDecimal> for U320

Source§

impl Add<PreciseDecimal> for U448

Source§

impl Add<PreciseDecimal> for U512

Source§

impl Add<U192> for Decimal

Source§

impl Add<U192> for PreciseDecimal

Source§

impl Add<U256> for Decimal

Source§

impl Add<U256> for PreciseDecimal

Source§

impl Add<U320> for Decimal

Source§

impl Add<U320> for PreciseDecimal

Source§

impl Add<U448> for Decimal

Source§

impl Add<U448> for PreciseDecimal

Source§

impl Add<U512> for Decimal

Source§

impl Add<U512> for PreciseDecimal

1.8.0 · Source§

impl Add<Duration> for Instant

1.8.0 · Source§

impl Add<Duration> for SystemTime

Source§

impl Add<BigInt> for &i8

Source§

impl Add<BigInt> for &i16

Source§

impl Add<BigInt> for &i32

Source§

impl Add<BigInt> for &i64

Source§

impl Add<BigInt> for &i128

Source§

impl Add<BigInt> for &isize

Source§

impl Add<BigInt> for &u8

Source§

impl Add<BigInt> for &u16

Source§

impl Add<BigInt> for &u32

Source§

impl Add<BigInt> for &u64

Source§

impl Add<BigInt> for &u128

Source§

impl Add<BigInt> for &usize

Source§

impl Add<BigInt> for &BigInt

Source§

impl Add<BigInt> for i8

Source§

impl Add<BigInt> for i16

Source§

impl Add<BigInt> for i32

Source§

impl Add<BigInt> for i64

Source§

impl Add<BigInt> for i128

Source§

impl Add<BigInt> for isize

Source§

impl Add<BigInt> for u8

Source§

impl Add<BigInt> for u16

Source§

impl Add<BigInt> for u32

Source§

impl Add<BigInt> for u64

Source§

impl Add<BigInt> for u128

Source§

impl Add<BigInt> for usize

Source§

impl Add<BigUint> for &u8

Source§

impl Add<BigUint> for &u16

Source§

impl Add<BigUint> for &u32

Source§

impl Add<BigUint> for &u64

Source§

impl Add<BigUint> for &u128

Source§

impl Add<BigUint> for &usize

Source§

impl Add<BigUint> for &BigUint

Source§

impl Add<BigUint> for u8

Source§

impl Add<BigUint> for u16

Source§

impl Add<BigUint> for u32

Source§

impl Add<BigUint> for u64

Source§

impl Add<BigUint> for u128

Source§

impl Add<BigUint> for usize

Source§

impl Add<B0> for UTerm

UTerm + B0 = UTerm

Source§

impl Add<B1> for UTerm

UTerm + B1 = UInt<UTerm, B1>

1.14.0 · Source§

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

Source§

type Output = Cow<'a, str>

1.14.0 · Source§

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

Source§

type Output = Cow<'a, str>

1.0.0 · Source§

impl<'a> Add<f16> for &'a f16

1.0.0 · Source§

impl<'a> Add<f32> for &'a f32

1.0.0 · Source§

impl<'a> Add<f64> for &'a f64

1.0.0 · Source§

impl<'a> Add<f128> for &'a f128

1.0.0 · Source§

impl<'a> Add<i8> for &'a i8

1.0.0 · Source§

impl<'a> Add<i16> for &'a i16

1.0.0 · Source§

impl<'a> Add<i32> for &'a i32

1.0.0 · Source§

impl<'a> Add<i64> for &'a i64

1.0.0 · Source§

impl<'a> Add<i128> for &'a i128

1.0.0 · Source§

impl<'a> Add<isize> for &'a isize

1.0.0 · Source§

impl<'a> Add<u8> for &'a u8

1.0.0 · Source§

impl<'a> Add<u16> for &'a u16

1.0.0 · Source§

impl<'a> Add<u32> for &'a u32

1.0.0 · Source§

impl<'a> Add<u64> for &'a u64

1.0.0 · Source§

impl<'a> Add<u128> for &'a u128

1.0.0 · Source§

impl<'a> Add<usize> for &'a usize

Source§

impl<'a> Add<I192> for &'a I192

Source§

impl<'a> Add<I256> for &'a I256

Source§

impl<'a> Add<I320> for &'a I320

Source§

impl<'a> Add<I384> for &'a I384

Source§

impl<'a> Add<I448> for &'a I448

Source§

impl<'a> Add<I512> for &'a I512

Source§

impl<'a> Add<I768> for &'a I768

Source§

impl<'a> Add<U192> for &'a U192

Source§

impl<'a> Add<U256> for &'a U256

Source§

impl<'a> Add<U320> for &'a U320

Source§

impl<'a> Add<U384> for &'a U384

Source§

impl<'a> Add<U448> for &'a U448

Source§

impl<'a> Add<U512> for &'a U512

Source§

impl<'a> Add<U768> for &'a U768

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

Source§

impl<'a> Add<EdwardsPoint> for &'a EdwardsPoint

Source§

impl<'a> Add<RistrettoPoint> for &'a RistrettoPoint

Source§

impl<'a> Add<Scalar> for &'a Scalar

Source§

impl<'a, 'b> Add<&'b EdwardsPoint> for &'a EdwardsPoint

Source§

impl<'a, 'b> Add<&'b RistrettoPoint> for &'a RistrettoPoint

Source§

impl<'a, 'b> Add<&'b Scalar> for &'a Scalar

Source§

impl<'a, 'b> Add<&'b AffineNielsPoint> for &'a EdwardsPoint

Source§

type Output = CompletedPoint

Source§

impl<'a, 'b> Add<&'b ProjectiveNielsPoint> for &'a EdwardsPoint

Source§

type Output = CompletedPoint

Source§

impl<'b> Add<&'b EdwardsPoint> for EdwardsPoint

Source§

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

Source§

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

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>>, LaneCount<N>: SupportedLaneCount,

Source§

type Output = Simd<T, N>

Source§

impl<Al, Vl, Ar, Vr> Add<TArr<Vr, Ar>> for TArr<Vl, Al>
where Al: Add<Ar>, Vl: Add<Vr>,

Source§

type Output = TArr<<Vl as Add<Vr>>::Output, <Al as Add<Ar>>::Output>

Source§

impl<I> Add<I> for Z0
where I: Integer,

Z0 + I = I

Source§

impl<T> Add<T> for F32
where T: Into<F32>,

Source§

impl<T> Add<T> for F64
where T: Into<F64>,

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>>, LaneCount<N>: SupportedLaneCount,

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>>, LaneCount<N>: SupportedLaneCount,

Source§

type Output = Simd<T, N>

Source§

impl<U> Add<B1> for UInt<U, B0>
where U: Unsigned,

UInt<U, B0> + B1 = UInt<U + B1>

Source§

impl<U> Add<B1> for UInt<U, B1>
where U: Unsigned + Add<B1>, <U as Add<B1>>::Output: Unsigned,

UInt<U, B1> + B1 = UInt<U + B1, B0>

Source§

type Output = UInt<<U as Add<B1>>::Output, B0>

Source§

impl<U> Add<Z0> for NInt<U>
where U: Unsigned + NonZero,

NInt + Z0 = NInt

Source§

impl<U> Add<Z0> for PInt<U>
where U: Unsigned + NonZero,

PInt + Z0 = PInt

Source§

impl<U> Add<U> for UTerm
where U: Unsigned,

UTerm + U = U

Source§

impl<U, B> Add<B0> for UInt<U, B>
where U: Unsigned, B: Bit,

U + B0 = U

Source§

type Output = UInt<U, B>

Source§

impl<U, B> Add<UTerm> for UInt<U, B>
where U: Unsigned, B: Bit,

UInt<U, B> + UTerm = UInt<U, B>

Source§

type Output = UInt<U, B>

Source§

impl<Ul, Ur> Add<NInt<Ur>> for NInt<Ul>
where Ul: Unsigned + NonZero + Add<Ur>, Ur: Unsigned + NonZero, <Ul as Add<Ur>>::Output: Unsigned + NonZero,

N(Ul) + N(Ur) = N(Ul + Ur)

Source§

type Output = NInt<<Ul as Add<Ur>>::Output>

Source§

impl<Ul, Ur> Add<NInt<Ur>> for PInt<Ul>
where Ul: Unsigned + NonZero + Cmp<Ur> + PrivateIntegerAdd<<Ul as Cmp<Ur>>::Output, Ur>, Ur: Unsigned + NonZero,

P(Ul) + N(Ur): We resolve this with our PrivateAdd

Source§

type Output = <Ul as PrivateIntegerAdd<<Ul as Cmp<Ur>>::Output, Ur>>::Output

Source§

impl<Ul, Ur> Add<PInt<Ur>> for NInt<Ul>
where Ul: Unsigned + NonZero, Ur: Unsigned + NonZero + Cmp<Ul> + PrivateIntegerAdd<<Ur as Cmp<Ul>>::Output, Ul>,

N(Ul) + P(Ur): We resolve this with our PrivateAdd

Source§

type Output = <Ur as PrivateIntegerAdd<<Ur as Cmp<Ul>>::Output, Ul>>::Output

Source§

impl<Ul, Ur> Add<PInt<Ur>> for PInt<Ul>
where Ul: Unsigned + NonZero + Add<Ur>, Ur: Unsigned + NonZero, <Ul as Add<Ur>>::Output: Unsigned + NonZero,

P(Ul) + P(Ur) = P(Ul + Ur)

Source§

type Output = PInt<<Ul as Add<Ur>>::Output>

Source§

impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B0>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B0> + UInt<Ur, B0> = UInt<Ul + Ur, B0>

Source§

type Output = UInt<<Ul as Add<Ur>>::Output, B0>

Source§

impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B1>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B1> + UInt<Ur, B0> = UInt<Ul + Ur, B1>

Source§

type Output = UInt<<Ul as Add<Ur>>::Output, B1>

Source§

impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B0>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B0> + UInt<Ur, B1> = UInt<Ul + Ur, B1>

Source§

type Output = UInt<<Ul as Add<Ur>>::Output, B1>

Source§

impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B1>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned, <Ul as Add<Ur>>::Output: Add<B1>,

UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>

Source§

type Output = UInt<<<Ul as Add<Ur>>::Output as Add<B1>>::Output, B0>

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>

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>

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>

Source§

impl<const N: usize> Add for BInt<N>

Source§

impl<const N: usize> Add for BIntD8<N>

Source§

impl<const N: usize> Add for BIntD16<N>

Source§

impl<const N: usize> Add for BIntD32<N>

Source§

impl<const N: usize> Add for BUint<N>

Source§

impl<const N: usize> Add for BUintD8<N>

Source§

impl<const N: usize> Add for BUintD16<N>

Source§

impl<const N: usize> Add for BUintD32<N>

Source§

impl<const N: usize> Add<&BInt<N>> for &BInt<N>

Source§

impl<const N: usize> Add<&BInt<N>> for BInt<N>

Source§

impl<const N: usize> Add<&BIntD8<N>> for &BIntD8<N>

Source§

impl<const N: usize> Add<&BIntD8<N>> for BIntD8<N>

Source§

impl<const N: usize> Add<&BIntD16<N>> for &BIntD16<N>

Source§

impl<const N: usize> Add<&BIntD16<N>> for BIntD16<N>

Source§

impl<const N: usize> Add<&BIntD32<N>> for &BIntD32<N>

Source§

impl<const N: usize> Add<&BIntD32<N>> for BIntD32<N>

Source§

impl<const N: usize> Add<&BUint<N>> for &BUint<N>

Source§

impl<const N: usize> Add<&BUint<N>> for BUint<N>

Source§

impl<const N: usize> Add<&BUintD8<N>> for &BUintD8<N>

Source§

impl<const N: usize> Add<&BUintD8<N>> for BUintD8<N>

Source§

impl<const N: usize> Add<&BUintD16<N>> for &BUintD16<N>

Source§

impl<const N: usize> Add<&BUintD16<N>> for BUintD16<N>

Source§

impl<const N: usize> Add<&BUintD32<N>> for &BUintD32<N>

Source§

impl<const N: usize> Add<&BUintD32<N>> for BUintD32<N>

Source§

impl<const N: usize> Add<u8> for BUintD8<N>

Source§

impl<const N: usize> Add<u16> for BUintD16<N>

Source§

impl<const N: usize> Add<u32> for BUintD32<N>

Source§

impl<const N: usize> Add<u64> for BUint<N>

Source§

impl<const N: usize> Add<BInt<N>> for &BInt<N>

Source§

impl<const N: usize> Add<BIntD8<N>> for &BIntD8<N>

Source§

impl<const N: usize> Add<BIntD16<N>> for &BIntD16<N>

Source§

impl<const N: usize> Add<BIntD32<N>> for &BIntD32<N>

Source§

impl<const N: usize> Add<BUint<N>> for &BUint<N>

Source§

impl<const N: usize> Add<BUintD8<N>> for &BUintD8<N>

Source§

impl<const N: usize> Add<BUintD16<N>> for &BUintD16<N>

Source§

impl<const N: usize> Add<BUintD32<N>> for &BUintD32<N>