Skip to main content

Sub

Trait Sub 

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

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

The subtraction operator -.

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

§Examples

§Subtractable points

use std::ops::Sub;

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

impl Sub for Point {
    type Output = Self;

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

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

§Implementing Sub with generics

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

use std::ops::Sub;

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

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

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

assert_eq!(Point { x: 2, y: 3 } - Point { x: 1, y: 0 },
           Point { x: 1, 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 sub(self, rhs: Rhs) -> Self::Output

Performs the - operation.

§Example
assert_eq!(12 - 1, 11);

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Sub for Assume

Source§

impl Sub for BigInt

Source§

impl Sub for BigUint

1.3.0 (const: unstable) · Source§

impl Sub for Duration

Source§

impl Sub for Fe32

1.8.0 · Source§

impl Sub for Instant

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<usize>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<i8>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<i16>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<i32>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<i64>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<i128>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<isize>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<u8>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<u16>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<u32>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<u64>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<u128>

1.0.0 (const: unstable) · Source§

impl Sub for Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Sub for f16

1.0.0 (const: unstable) · Source§

impl Sub for f32

1.0.0 (const: unstable) · Source§

impl Sub for f64

1.0.0 (const: unstable) · Source§

impl Sub for f128

1.0.0 (const: unstable) · Source§

impl Sub for i8

1.0.0 (const: unstable) · Source§

impl Sub for i16

1.0.0 (const: unstable) · Source§

impl Sub for i32

1.0.0 (const: unstable) · Source§

impl Sub for i64

1.0.0 (const: unstable) · Source§

impl Sub for i128

1.0.0 (const: unstable) · Source§

impl Sub for isize

1.0.0 (const: unstable) · Source§

impl Sub for u8

1.0.0 (const: unstable) · Source§

impl Sub for u16

1.0.0 (const: unstable) · Source§

impl Sub for u32

1.0.0 (const: unstable) · Source§

impl Sub for u64

1.0.0 (const: unstable) · Source§

impl Sub for u128

1.0.0 (const: unstable) · Source§

impl Sub for usize

Source§

impl Sub<&BigInt> for &BigInt

Source§

impl Sub<&BigInt> for &i8

Source§

impl Sub<&BigInt> for &i16

Source§

impl Sub<&BigInt> for &i32

Source§

impl Sub<&BigInt> for &i64

Source§

impl Sub<&BigInt> for &i128

Source§

impl Sub<&BigInt> for &isize

Source§

impl Sub<&BigInt> for &u8

Source§

impl Sub<&BigInt> for &u16

Source§

impl Sub<&BigInt> for &u32

Source§

impl Sub<&BigInt> for &u64

Source§

impl Sub<&BigInt> for &u128

Source§

impl Sub<&BigInt> for &usize

Source§

impl Sub<&BigInt> for BigInt

Source§

impl Sub<&BigInt> for i8

Source§

impl Sub<&BigInt> for i16

Source§

impl Sub<&BigInt> for i32

Source§

impl Sub<&BigInt> for i64

Source§

impl Sub<&BigInt> for i128

Source§

impl Sub<&BigInt> for isize

Source§

impl Sub<&BigInt> for u8

Source§

impl Sub<&BigInt> for u16

Source§

impl Sub<&BigInt> for u32

Source§

impl Sub<&BigInt> for u64

Source§

impl Sub<&BigInt> for u128

Source§

impl Sub<&BigInt> for usize

Source§

impl Sub<&BigUint> for &BigUint

Source§

impl Sub<&BigUint> for &u8

Source§

impl Sub<&BigUint> for &u16

Source§

impl Sub<&BigUint> for &u32

Source§

impl Sub<&BigUint> for &u64

Source§

impl Sub<&BigUint> for &u128

Source§

impl Sub<&BigUint> for &usize

Source§

impl Sub<&BigUint> for BigUint

Source§

impl Sub<&BigUint> for u8

Source§

impl Sub<&BigUint> for u16

Source§

impl Sub<&BigUint> for u32

Source§

impl Sub<&BigUint> for u64

Source§

impl Sub<&BigUint> for u128

Source§

impl Sub<&BigUint> for usize

Source§

impl Sub<&Fe32> for &Fe32

Source§

impl Sub<&Fe32> for Fe32

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i8>> for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i16>> for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i32>> for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i64>> for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i128>> for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<isize>> for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u8>> for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u16>> for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u32>> for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u64>> for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u128>> for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<usize>> for &Saturating<usize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<usize>> for Saturating<usize>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i8>> for &Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i8>> for Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i16>> for Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i32>> for Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i64>> for Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<i128>> for Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<isize>> for Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u8>> for &Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u8>> for Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u16>> for Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u32>> for Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u64>> for Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<u128>> for Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 (const: unstable) · Source§

impl Sub<&Wrapping<usize>> for Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Sub<&f16> for &f16

1.0.0 (const: unstable) · Source§

impl Sub<&f16> for f16

1.0.0 (const: unstable) · Source§

impl Sub<&f32> for &f32

1.0.0 (const: unstable) · Source§

impl Sub<&f32> for f32

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for &f64

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for f64

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for f128

Source§

impl Sub<&i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for &i8

Source§

impl Sub<&i8> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for i8

Source§

impl Sub<&i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for &i16

Source§

impl Sub<&i16> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for i16

Source§

impl Sub<&i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for &i32

Source§

impl Sub<&i32> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for i32

Source§

impl Sub<&i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for &i64

Source§

impl Sub<&i64> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for i64

Source§

impl Sub<&i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for &i128

Source§

impl Sub<&i128> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for i128

Source§

impl Sub<&isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for &isize

Source§

impl Sub<&isize> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for isize

Source§

impl Sub<&u8> for &BigInt

Source§

impl Sub<&u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for &u8

Source§

impl Sub<&u8> for BigInt

Source§

impl Sub<&u8> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for u8

Source§

impl Sub<&u16> for &BigInt

Source§

impl Sub<&u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for &u16

Source§

impl Sub<&u16> for BigInt

Source§

impl Sub<&u16> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for u16

Source§

impl Sub<&u32> for &BigInt

Source§

impl Sub<&u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for &u32

Source§

impl Sub<&u32> for BigInt

Source§

impl Sub<&u32> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for u32

Source§

impl Sub<&u64> for &BigInt

Source§

impl Sub<&u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for &u64

Source§

impl Sub<&u64> for BigInt

Source§

impl Sub<&u64> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for u64

Source§

impl Sub<&u128> for &BigInt

Source§

impl Sub<&u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for &u128

Source§

impl Sub<&u128> for BigInt

Source§

impl Sub<&u128> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for u128

Source§

impl Sub<&usize> for &BigInt

Source§

impl Sub<&usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for &usize

Source§

impl Sub<&usize> for BigInt

Source§

impl Sub<&usize> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for usize

Source§

impl Sub<BigInt> for &BigInt

Source§

impl Sub<BigInt> for &i8

Source§

impl Sub<BigInt> for &i16

Source§

impl Sub<BigInt> for &i32

Source§

impl Sub<BigInt> for &i64

Source§

impl Sub<BigInt> for &i128

Source§

impl Sub<BigInt> for &isize

Source§

impl Sub<BigInt> for &u8

Source§

impl Sub<BigInt> for &u16

Source§

impl Sub<BigInt> for &u32

Source§

impl Sub<BigInt> for &u64

Source§

impl Sub<BigInt> for &u128

Source§

impl Sub<BigInt> for &usize

Source§

impl Sub<BigInt> for i8

Source§

impl Sub<BigInt> for i16

Source§

impl Sub<BigInt> for i32

Source§

impl Sub<BigInt> for i64

Source§

impl Sub<BigInt> for i128

Source§

impl Sub<BigInt> for isize

Source§

impl Sub<BigInt> for u8

Source§

impl Sub<BigInt> for u16

Source§

impl Sub<BigInt> for u32

Source§

impl Sub<BigInt> for u64

Source§

impl Sub<BigInt> for u128

Source§

impl Sub<BigInt> for usize

Source§

impl Sub<BigUint> for &BigUint

Source§

impl Sub<BigUint> for &u8

Source§

impl Sub<BigUint> for &u16

Source§

impl Sub<BigUint> for &u32

Source§

impl Sub<BigUint> for &u64

Source§

impl Sub<BigUint> for &u128

Source§

impl Sub<BigUint> for &usize

Source§

impl Sub<BigUint> for u8

Source§

impl Sub<BigUint> for u16

Source§

impl Sub<BigUint> for u32

Source§

impl Sub<BigUint> for u64

Source§

impl Sub<BigUint> for u128

Source§

impl Sub<BigUint> for usize

1.8.0 · Source§

impl Sub<Duration> for Instant

1.8.0 · Source§

impl Sub<Duration> for SystemTime

Source§

impl Sub<Fe32> for &Fe32

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<usize>> for &Saturating<usize>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<i8>> for &Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<i16>> for &Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<i32>> for &Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<i64>> for &Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<i128>> for &Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<isize>> for &Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<u8>> for &Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<u16>> for &Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<u32>> for &Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<u64>> for &Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<u128>> for &Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Sub<Wrapping<usize>> for &Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Sub<f16> for &f16

1.0.0 (const: unstable) · Source§

impl Sub<f32> for &f32

1.0.0 (const: unstable) · Source§

impl Sub<f64> for &f64

1.0.0 (const: unstable) · Source§

impl Sub<f128> for &f128

Source§

impl Sub<i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i8> for &i8

Source§

impl Sub<i8> for BigInt

Source§

impl Sub<i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i16> for &i16

Source§

impl Sub<i16> for BigInt

Source§

impl Sub<i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i32> for &i32

Source§

impl Sub<i32> for BigInt

Source§

impl Sub<i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i64> for &i64

Source§

impl Sub<i64> for BigInt

Source§

impl Sub<i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i128> for &i128

Source§

impl Sub<i128> for BigInt

Source§

impl Sub<isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<isize> for &isize

Source§

impl Sub<isize> for BigInt

Source§

impl Sub<u8> for &BigInt

Source§

impl Sub<u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u8> for &u8

Source§

impl Sub<u8> for BigInt

Source§

impl Sub<u8> for BigUint

Source§

impl Sub<u16> for &BigInt

Source§

impl Sub<u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u16> for &u16

Source§

impl Sub<u16> for BigInt

Source§

impl Sub<u16> for BigUint

Source§

impl Sub<u32> for &BigInt

Source§

impl Sub<u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u32> for &u32

Source§

impl Sub<u32> for BigInt

Source§

impl Sub<u32> for BigUint

Source§

impl Sub<u64> for &BigInt

Source§

impl Sub<u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u64> for &u64

Source§

impl Sub<u64> for BigInt

Source§

impl Sub<u64> for BigUint

Source§

impl Sub<u128> for &BigInt

Source§

impl Sub<u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u128> for &u128

Source§

impl Sub<u128> for BigInt

Source§

impl Sub<u128> for BigUint

Source§

impl Sub<usize> for &BigInt

Source§

impl Sub<usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<usize> for &usize

Source§

impl Sub<usize> for BigInt

Source§

impl Sub<usize> for BigUint

Source§

impl<'a, P> Sub<&'a Projective<P>> for snarkvm_curves::templates::short_weierstrass_jacobian::projective::Projective<P>

Source§

impl<'a, P> Sub<&'a Projective<P>> for snarkvm_curves::templates::twisted_edwards_extended::projective::Projective<P>

Source§

impl<'a, P> Sub<&'a mut Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<'a, P> Sub<&'a mut Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<'a, P> Sub<&'a mut Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<'a, P> Sub<&'a mut Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<'a, P> Sub<&'a mut Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

Source§

impl<'a, P> Sub<&'a mut Projective<P>> for snarkvm_curves::templates::short_weierstrass_jacobian::projective::Projective<P>

Source§

impl<'a, P> Sub<&'a mut Projective<P>> for snarkvm_curves::templates::twisted_edwards_extended::projective::Projective<P>

Source§

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

Source§

type Output = Simd<T, N>

Source§

impl<P> Sub for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Sub for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Sub for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Sub for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Sub for Fp384<P>
where P: Fp384Parameters,

Source§

impl<P> Sub for snarkvm_curves::templates::short_weierstrass_jacobian::projective::Projective<P>

Source§

impl<P> Sub for snarkvm_curves::templates::twisted_edwards_extended::projective::Projective<P>

Source§

impl<P> Sub<&&Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Sub<&&Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Sub<&&Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Sub<&&Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Sub<&&Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

Source§

impl<P> Sub<&&Projective<P>> for snarkvm_curves::templates::short_weierstrass_jacobian::projective::Projective<P>

Source§

impl<P> Sub<&&Projective<P>> for snarkvm_curves::templates::twisted_edwards_extended::projective::Projective<P>

Source§

impl<P> Sub<&Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Sub<&Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Sub<&Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Sub<&Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Sub<&Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

1.0.0 · Source§

impl<T, A> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>
where T: Ord + Clone, A: Allocator + Clone,

Source§

impl<T, S1, S2> Sub<&IndexSet<T, S2>> for &IndexSet<T, S1>
where T: Eq + Hash + Clone, S1: BuildHasher + Default, S2: BuildHasher,

Source§

type Output = IndexSet<T, S1>

Source§

impl<T, S, A> Sub<&HashSet<T, S, A>> for &hashbrown::set::HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher + Default, A: Allocator + Default,

Source§

type Output = HashSet<T, S, A>

1.0.0 · Source§

impl<T, S> Sub<&HashSet<T, S>> for &std::collections::hash::set::HashSet<T, S>
where T: Eq + Hash + Clone, S: BuildHasher + Default,

Source§

type Output = HashSet<T, S>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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