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;
}
Available on crate feature std only.
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 ATerm

Source§

impl Sub for Assume

1.3.0 (const: unstable) · Source§

impl Sub for Duration

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>

Source§

impl Sub for UTerm

UTerm - UTerm = UTerm

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>

Source§

impl Sub for Z0

Z0 - Z0 = Z0

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

Source§

impl Sub for f32_be

Source§

impl Sub for f32_le

Source§

impl Sub for f32_ube

Source§

impl Sub for f32_ule

Source§

impl Sub for f64_be

Source§

impl Sub for f64_le

Source§

impl Sub for f64_ube

Source§

impl Sub for f64_ule

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

Source§

impl Sub for i16_be

Source§

impl Sub for i16_le

Source§

impl Sub for i16_ube

Source§

impl Sub for i16_ule

Source§

impl Sub for i32_be

Source§

impl Sub for i32_le

Source§

impl Sub for i32_ube

Source§

impl Sub for i32_ule

Source§

impl Sub for i64_be

Source§

impl Sub for i64_le

Source§

impl Sub for i64_ube

Source§

impl Sub for i64_ule

1.0.0 (const: unstable) · Source§

impl Sub for i128

Source§

impl Sub for i128_be

Source§

impl Sub for i128_le

Source§

impl Sub for i128_ube

Source§

impl Sub for i128_ule

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

Source§

impl Sub for u16_be

Source§

impl Sub for u16_le

Source§

impl Sub for u16_ube

Source§

impl Sub for u16_ule

Source§

impl Sub for u32_be

Source§

impl Sub for u32_le

Source§

impl Sub for u32_ube

Source§

impl Sub for u32_ule

Source§

impl Sub for u64_be

Source§

impl Sub for u64_le

Source§

impl Sub for u64_ube

Source§

impl Sub for u64_ule

1.0.0 (const: unstable) · Source§

impl Sub for u128

Source§

impl Sub for u128_be

Source§

impl Sub for u128_le

Source§

impl Sub for u128_ube

Source§

impl Sub for u128_ule

1.0.0 (const: unstable) · Source§

impl Sub for usize

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

Source§

impl Sub<&f32> for &f32_be

Source§

impl Sub<&f32> for &f32_le

Source§

impl Sub<&f32> for &f32_ube

Source§

impl Sub<&f32> for &f32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&f32> for f32

Source§

impl Sub<&f32> for f32_be

Source§

impl Sub<&f32> for f32_le

Source§

impl Sub<&f32> for f32_ube

Source§

impl Sub<&f32> for f32_ule

Source§

impl Sub<&f32_be> for &f32

Source§

impl Sub<&f32_be> for &f32_be

Source§

impl Sub<&f32_be> for f32

Source§

impl Sub<&f32_be> for f32_be

Source§

impl Sub<&f32_le> for &f32

Source§

impl Sub<&f32_le> for &f32_le

Source§

impl Sub<&f32_le> for f32

Source§

impl Sub<&f32_le> for f32_le

Source§

impl Sub<&f32_ube> for &f32

Source§

impl Sub<&f32_ube> for &f32_ube

Source§

impl Sub<&f32_ube> for f32

Source§

impl Sub<&f32_ube> for f32_ube

Source§

impl Sub<&f32_ule> for &f32

Source§

impl Sub<&f32_ule> for &f32_ule

Source§

impl Sub<&f32_ule> for f32

Source§

impl Sub<&f32_ule> for f32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for &f64

Source§

impl Sub<&f64> for &f64_be

Source§

impl Sub<&f64> for &f64_le

Source§

impl Sub<&f64> for &f64_ube

Source§

impl Sub<&f64> for &f64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for f64

Source§

impl Sub<&f64> for f64_be

Source§

impl Sub<&f64> for f64_le

Source§

impl Sub<&f64> for f64_ube

Source§

impl Sub<&f64> for f64_ule

Source§

impl Sub<&f64_be> for &f64

Source§

impl Sub<&f64_be> for &f64_be

Source§

impl Sub<&f64_be> for f64

Source§

impl Sub<&f64_be> for f64_be

Source§

impl Sub<&f64_le> for &f64

Source§

impl Sub<&f64_le> for &f64_le

Source§

impl Sub<&f64_le> for f64

Source§

impl Sub<&f64_le> for f64_le

Source§

impl Sub<&f64_ube> for &f64

Source§

impl Sub<&f64_ube> for &f64_ube

Source§

impl Sub<&f64_ube> for f64

Source§

impl Sub<&f64_ube> for f64_ube

Source§

impl Sub<&f64_ule> for &f64

Source§

impl Sub<&f64_ule> for &f64_ule

Source§

impl Sub<&f64_ule> for f64

Source§

impl Sub<&f64_ule> for f64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for f128

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for &i8

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for i8

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for &i16

Source§

impl Sub<&i16> for &i16_be

Source§

impl Sub<&i16> for &i16_le

Source§

impl Sub<&i16> for &i16_ube

Source§

impl Sub<&i16> for &i16_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for i16

Source§

impl Sub<&i16> for i16_be

Source§

impl Sub<&i16> for i16_le

Source§

impl Sub<&i16> for i16_ube

Source§

impl Sub<&i16> for i16_ule

Source§

impl Sub<&i16_be> for &i16

Source§

impl Sub<&i16_be> for &i16_be

Source§

impl Sub<&i16_be> for i16

Source§

impl Sub<&i16_be> for i16_be

Source§

impl Sub<&i16_le> for &i16

Source§

impl Sub<&i16_le> for &i16_le

Source§

impl Sub<&i16_le> for i16

Source§

impl Sub<&i16_le> for i16_le

Source§

impl Sub<&i16_ube> for &i16

Source§

impl Sub<&i16_ube> for &i16_ube

Source§

impl Sub<&i16_ube> for i16

Source§

impl Sub<&i16_ube> for i16_ube

Source§

impl Sub<&i16_ule> for &i16

Source§

impl Sub<&i16_ule> for &i16_ule

Source§

impl Sub<&i16_ule> for i16

Source§

impl Sub<&i16_ule> for i16_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for &i32

Source§

impl Sub<&i32> for &i32_be

Source§

impl Sub<&i32> for &i32_le

Source§

impl Sub<&i32> for &i32_ube

Source§

impl Sub<&i32> for &i32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for i32

Source§

impl Sub<&i32> for i32_be

Source§

impl Sub<&i32> for i32_le

Source§

impl Sub<&i32> for i32_ube

Source§

impl Sub<&i32> for i32_ule

Source§

impl Sub<&i32_be> for &i32

Source§

impl Sub<&i32_be> for &i32_be

Source§

impl Sub<&i32_be> for i32

Source§

impl Sub<&i32_be> for i32_be

Source§

impl Sub<&i32_le> for &i32

Source§

impl Sub<&i32_le> for &i32_le

Source§

impl Sub<&i32_le> for i32

Source§

impl Sub<&i32_le> for i32_le

Source§

impl Sub<&i32_ube> for &i32

Source§

impl Sub<&i32_ube> for &i32_ube

Source§

impl Sub<&i32_ube> for i32

Source§

impl Sub<&i32_ube> for i32_ube

Source§

impl Sub<&i32_ule> for &i32

Source§

impl Sub<&i32_ule> for &i32_ule

Source§

impl Sub<&i32_ule> for i32

Source§

impl Sub<&i32_ule> for i32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for &i64

Source§

impl Sub<&i64> for &i64_be

Source§

impl Sub<&i64> for &i64_le

Source§

impl Sub<&i64> for &i64_ube

Source§

impl Sub<&i64> for &i64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for i64

Source§

impl Sub<&i64> for i64_be

Source§

impl Sub<&i64> for i64_le

Source§

impl Sub<&i64> for i64_ube

Source§

impl Sub<&i64> for i64_ule

Source§

impl Sub<&i64_be> for &i64

Source§

impl Sub<&i64_be> for &i64_be

Source§

impl Sub<&i64_be> for i64

Source§

impl Sub<&i64_be> for i64_be

Source§

impl Sub<&i64_le> for &i64

Source§

impl Sub<&i64_le> for &i64_le

Source§

impl Sub<&i64_le> for i64

Source§

impl Sub<&i64_le> for i64_le

Source§

impl Sub<&i64_ube> for &i64

Source§

impl Sub<&i64_ube> for &i64_ube

Source§

impl Sub<&i64_ube> for i64

Source§

impl Sub<&i64_ube> for i64_ube

Source§

impl Sub<&i64_ule> for &i64

Source§

impl Sub<&i64_ule> for &i64_ule

Source§

impl Sub<&i64_ule> for i64

Source§

impl Sub<&i64_ule> for i64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for &i128

Source§

impl Sub<&i128> for &i128_be

Source§

impl Sub<&i128> for &i128_le

Source§

impl Sub<&i128> for &i128_ube

Source§

impl Sub<&i128> for &i128_ule

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for i128

Source§

impl Sub<&i128> for i128_be

Source§

impl Sub<&i128> for i128_le

Source§

impl Sub<&i128> for i128_ube

Source§

impl Sub<&i128> for i128_ule

Source§

impl Sub<&i128_be> for &i128

Source§

impl Sub<&i128_be> for &i128_be

Source§

impl Sub<&i128_be> for i128

Source§

impl Sub<&i128_be> for i128_be

Source§

impl Sub<&i128_le> for &i128

Source§

impl Sub<&i128_le> for &i128_le

Source§

impl Sub<&i128_le> for i128

Source§

impl Sub<&i128_le> for i128_le

Source§

impl Sub<&i128_ube> for &i128

Source§

impl Sub<&i128_ube> for &i128_ube

Source§

impl Sub<&i128_ube> for i128

Source§

impl Sub<&i128_ube> for i128_ube

Source§

impl Sub<&i128_ule> for &i128

Source§

impl Sub<&i128_ule> for &i128_ule

Source§

impl Sub<&i128_ule> for i128

Source§

impl Sub<&i128_ule> for i128_ule

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for &isize

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for isize

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for &u8

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for u8

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for &u16

Source§

impl Sub<&u16> for &u16_be

Source§

impl Sub<&u16> for &u16_le

Source§

impl Sub<&u16> for &u16_ube

Source§

impl Sub<&u16> for &u16_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for u16

Source§

impl Sub<&u16> for u16_be

Source§

impl Sub<&u16> for u16_le

Source§

impl Sub<&u16> for u16_ube

Source§

impl Sub<&u16> for u16_ule

Source§

impl Sub<&u16_be> for &u16

Source§

impl Sub<&u16_be> for &u16_be

Source§

impl Sub<&u16_be> for u16

Source§

impl Sub<&u16_be> for u16_be

Source§

impl Sub<&u16_le> for &u16

Source§

impl Sub<&u16_le> for &u16_le

Source§

impl Sub<&u16_le> for u16

Source§

impl Sub<&u16_le> for u16_le

Source§

impl Sub<&u16_ube> for &u16

Source§

impl Sub<&u16_ube> for &u16_ube

Source§

impl Sub<&u16_ube> for u16

Source§

impl Sub<&u16_ube> for u16_ube

Source§

impl Sub<&u16_ule> for &u16

Source§

impl Sub<&u16_ule> for &u16_ule

Source§

impl Sub<&u16_ule> for u16

Source§

impl Sub<&u16_ule> for u16_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for &u32

Source§

impl Sub<&u32> for &u32_be

Source§

impl Sub<&u32> for &u32_le

Source§

impl Sub<&u32> for &u32_ube

Source§

impl Sub<&u32> for &u32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for u32

Source§

impl Sub<&u32> for u32_be

Source§

impl Sub<&u32> for u32_le

Source§

impl Sub<&u32> for u32_ube

Source§

impl Sub<&u32> for u32_ule

Source§

impl Sub<&u32_be> for &u32

Source§

impl Sub<&u32_be> for &u32_be

Source§

impl Sub<&u32_be> for u32

Source§

impl Sub<&u32_be> for u32_be

Source§

impl Sub<&u32_le> for &u32

Source§

impl Sub<&u32_le> for &u32_le

Source§

impl Sub<&u32_le> for u32

Source§

impl Sub<&u32_le> for u32_le

Source§

impl Sub<&u32_ube> for &u32

Source§

impl Sub<&u32_ube> for &u32_ube

Source§

impl Sub<&u32_ube> for u32

Source§

impl Sub<&u32_ube> for u32_ube

Source§

impl Sub<&u32_ule> for &u32

Source§

impl Sub<&u32_ule> for &u32_ule

Source§

impl Sub<&u32_ule> for u32

Source§

impl Sub<&u32_ule> for u32_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for &u64

Source§

impl Sub<&u64> for &u64_be

Source§

impl Sub<&u64> for &u64_le

Source§

impl Sub<&u64> for &u64_ube

Source§

impl Sub<&u64> for &u64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for u64

Source§

impl Sub<&u64> for u64_be

Source§

impl Sub<&u64> for u64_le

Source§

impl Sub<&u64> for u64_ube

Source§

impl Sub<&u64> for u64_ule

Source§

impl Sub<&u64_be> for &u64

Source§

impl Sub<&u64_be> for &u64_be

Source§

impl Sub<&u64_be> for u64

Source§

impl Sub<&u64_be> for u64_be

Source§

impl Sub<&u64_le> for &u64

Source§

impl Sub<&u64_le> for &u64_le

Source§

impl Sub<&u64_le> for u64

Source§

impl Sub<&u64_le> for u64_le

Source§

impl Sub<&u64_ube> for &u64

Source§

impl Sub<&u64_ube> for &u64_ube

Source§

impl Sub<&u64_ube> for u64

Source§

impl Sub<&u64_ube> for u64_ube

Source§

impl Sub<&u64_ule> for &u64

Source§

impl Sub<&u64_ule> for &u64_ule

Source§

impl Sub<&u64_ule> for u64

Source§

impl Sub<&u64_ule> for u64_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for &u128

Source§

impl Sub<&u128> for &u128_be

Source§

impl Sub<&u128> for &u128_le

Source§

impl Sub<&u128> for &u128_ube

Source§

impl Sub<&u128> for &u128_ule

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for u128

Source§

impl Sub<&u128> for u128_be

Source§

impl Sub<&u128> for u128_le

Source§

impl Sub<&u128> for u128_ube

Source§

impl Sub<&u128> for u128_ule

Source§

impl Sub<&u128_be> for &u128

Source§

impl Sub<&u128_be> for &u128_be

Source§

impl Sub<&u128_be> for u128

Source§

impl Sub<&u128_be> for u128_be

Source§

impl Sub<&u128_le> for &u128

Source§

impl Sub<&u128_le> for &u128_le

Source§

impl Sub<&u128_le> for u128

Source§

impl Sub<&u128_le> for u128_le

Source§

impl Sub<&u128_ube> for &u128

Source§

impl Sub<&u128_ube> for &u128_ube

Source§

impl Sub<&u128_ube> for u128

Source§

impl Sub<&u128_ube> for u128_ube

Source§

impl Sub<&u128_ule> for &u128

Source§

impl Sub<&u128_ule> for &u128_ule

Source§

impl Sub<&u128_ule> for u128

Source§

impl Sub<&u128_ule> for u128_ule

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for &usize

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for usize

Source§

impl Sub<B0> for UTerm

UTerm - B0 = Term

Source§

impl Sub<B1> for UInt<UTerm, B1>

UInt<UTerm, B1> - B1 = UTerm

1.8.0 · Source§

impl Sub<Duration> for Instant

1.8.0 · Source§

impl Sub<Duration> for SystemTime

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

Source§

impl Sub<f32> for &f32_be

Source§

impl Sub<f32> for &f32_le

Source§

impl Sub<f32> for &f32_ube

Source§

impl Sub<f32> for &f32_ule

Source§

impl Sub<f32> for f32_be

Source§

impl Sub<f32> for f32_le

Source§

impl Sub<f32> for f32_ube

Source§

impl Sub<f32> for f32_ule

Source§

impl Sub<f32_be> for &f32

Source§

impl Sub<f32_be> for &f32_be

Source§

impl Sub<f32_be> for f32

Source§

impl Sub<f32_le> for &f32

Source§

impl Sub<f32_le> for &f32_le

Source§

impl Sub<f32_le> for f32

Source§

impl Sub<f32_ube> for &f32

Source§

impl Sub<f32_ube> for &f32_ube

Source§

impl Sub<f32_ube> for f32

Source§

impl Sub<f32_ule> for &f32

Source§

impl Sub<f32_ule> for &f32_ule

Source§

impl Sub<f32_ule> for f32

1.0.0 (const: unstable) · Source§

impl Sub<f64> for &f64

Source§

impl Sub<f64> for &f64_be

Source§

impl Sub<f64> for &f64_le

Source§

impl Sub<f64> for &f64_ube

Source§

impl Sub<f64> for &f64_ule

Source§

impl Sub<f64> for f64_be

Source§

impl Sub<f64> for f64_le

Source§

impl Sub<f64> for f64_ube

Source§

impl Sub<f64> for f64_ule

Source§

impl Sub<f64_be> for &f64

Source§

impl Sub<f64_be> for &f64_be

Source§

impl Sub<f64_be> for f64

Source§

impl Sub<f64_le> for &f64

Source§

impl Sub<f64_le> for &f64_le

Source§

impl Sub<f64_le> for f64

Source§

impl Sub<f64_ube> for &f64

Source§

impl Sub<f64_ube> for &f64_ube

Source§

impl Sub<f64_ube> for f64

Source§

impl Sub<f64_ule> for &f64

Source§

impl Sub<f64_ule> for &f64_ule

Source§

impl Sub<f64_ule> for f64

1.0.0 (const: unstable) · Source§

impl Sub<f128> for &f128

1.0.0 (const: unstable) · Source§

impl Sub<i8> for &i8

1.0.0 (const: unstable) · Source§

impl Sub<i16> for &i16

Source§

impl Sub<i16> for &i16_be

Source§

impl Sub<i16> for &i16_le

Source§

impl Sub<i16> for &i16_ube

Source§

impl Sub<i16> for &i16_ule

Source§

impl Sub<i16> for i16_be

Source§

impl Sub<i16> for i16_le

Source§

impl Sub<i16> for i16_ube

Source§

impl Sub<i16> for i16_ule

Source§

impl Sub<i16_be> for &i16

Source§

impl Sub<i16_be> for &i16_be

Source§

impl Sub<i16_be> for i16

Source§

impl Sub<i16_le> for &i16

Source§

impl Sub<i16_le> for &i16_le

Source§

impl Sub<i16_le> for i16

Source§

impl Sub<i16_ube> for &i16

Source§

impl Sub<i16_ube> for &i16_ube

Source§

impl Sub<i16_ube> for i16

Source§

impl Sub<i16_ule> for &i16

Source§

impl Sub<i16_ule> for &i16_ule

Source§

impl Sub<i16_ule> for i16

1.0.0 (const: unstable) · Source§

impl Sub<i32> for &i32

Source§

impl Sub<i32> for &i32_be

Source§

impl Sub<i32> for &i32_le

Source§

impl Sub<i32> for &i32_ube

Source§

impl Sub<i32> for &i32_ule

Source§

impl Sub<i32> for i32_be

Source§

impl Sub<i32> for i32_le

Source§

impl Sub<i32> for i32_ube

Source§

impl Sub<i32> for i32_ule

Source§

impl Sub<i32_be> for &i32

Source§

impl Sub<i32_be> for &i32_be

Source§

impl Sub<i32_be> for i32

Source§

impl Sub<i32_le> for &i32

Source§

impl Sub<i32_le> for &i32_le

Source§

impl Sub<i32_le> for i32

Source§

impl Sub<i32_ube> for &i32

Source§

impl Sub<i32_ube> for &i32_ube

Source§

impl Sub<i32_ube> for i32

Source§

impl Sub<i32_ule> for &i32

Source§

impl Sub<i32_ule> for &i32_ule

Source§

impl Sub<i32_ule> for i32

1.0.0 (const: unstable) · Source§

impl Sub<i64> for &i64

Source§

impl Sub<i64> for &i64_be

Source§

impl Sub<i64> for &i64_le

Source§

impl Sub<i64> for &i64_ube

Source§

impl Sub<i64> for &i64_ule

Source§

impl Sub<i64> for i64_be

Source§

impl Sub<i64> for i64_le

Source§

impl Sub<i64> for i64_ube

Source§

impl Sub<i64> for i64_ule

Source§

impl Sub<i64_be> for &i64

Source§

impl Sub<i64_be> for &i64_be

Source§

impl Sub<i64_be> for i64

Source§

impl Sub<i64_le> for &i64

Source§

impl Sub<i64_le> for &i64_le

Source§

impl Sub<i64_le> for i64

Source§

impl Sub<i64_ube> for &i64

Source§

impl Sub<i64_ube> for &i64_ube

Source§

impl Sub<i64_ube> for i64

Source§

impl Sub<i64_ule> for &i64

Source§

impl Sub<i64_ule> for &i64_ule

Source§

impl Sub<i64_ule> for i64

1.0.0 (const: unstable) · Source§

impl Sub<i128> for &i128

Source§

impl Sub<i128> for &i128_be

Source§

impl Sub<i128> for &i128_le

Source§

impl Sub<i128> for &i128_ube

Source§

impl Sub<i128> for &i128_ule

Source§

impl Sub<i128> for i128_be

Source§

impl Sub<i128> for i128_le

Source§

impl Sub<i128> for i128_ube

Source§

impl Sub<i128> for i128_ule

Source§

impl Sub<i128_be> for &i128

Source§

impl Sub<i128_be> for &i128_be

Source§

impl Sub<i128_be> for i128

Source§

impl Sub<i128_le> for &i128

Source§

impl Sub<i128_le> for &i128_le

Source§

impl Sub<i128_le> for i128

Source§

impl Sub<i128_ube> for &i128

Source§

impl Sub<i128_ube> for &i128_ube

Source§

impl Sub<i128_ube> for i128

Source§

impl Sub<i128_ule> for &i128

Source§

impl Sub<i128_ule> for &i128_ule

Source§

impl Sub<i128_ule> for i128

1.0.0 (const: unstable) · Source§

impl Sub<isize> for &isize

1.0.0 (const: unstable) · Source§

impl Sub<u8> for &u8

1.0.0 (const: unstable) · Source§

impl Sub<u16> for &u16

Source§

impl Sub<u16> for &u16_be

Source§

impl Sub<u16> for &u16_le

Source§

impl Sub<u16> for &u16_ube

Source§

impl Sub<u16> for &u16_ule

Source§

impl Sub<u16> for u16_be

Source§

impl Sub<u16> for u16_le

Source§

impl Sub<u16> for u16_ube

Source§

impl Sub<u16> for u16_ule

Source§

impl Sub<u16_be> for &u16

Source§

impl Sub<u16_be> for &u16_be

Source§

impl Sub<u16_be> for u16

Source§

impl Sub<u16_le> for &u16

Source§

impl Sub<u16_le> for &u16_le

Source§

impl Sub<u16_le> for u16

Source§

impl Sub<u16_ube> for &u16

Source§

impl Sub<u16_ube> for &u16_ube

Source§

impl Sub<u16_ube> for u16

Source§

impl Sub<u16_ule> for &u16

Source§

impl Sub<u16_ule> for &u16_ule

Source§

impl Sub<u16_ule> for u16

1.0.0 (const: unstable) · Source§

impl Sub<u32> for &u32

Source§

impl Sub<u32> for &u32_be

Source§

impl Sub<u32> for &u32_le

Source§

impl Sub<u32> for &u32_ube

Source§

impl Sub<u32> for &u32_ule

Source§

impl Sub<u32> for u32_be

Source§

impl Sub<u32> for u32_le

Source§

impl Sub<u32> for u32_ube

Source§

impl Sub<u32> for u32_ule

Source§

impl Sub<u32_be> for &u32

Source§

impl Sub<u32_be> for &u32_be

Source§

impl Sub<u32_be> for u32

Source§

impl Sub<u32_le> for &u32

Source§

impl Sub<u32_le> for &u32_le

Source§

impl Sub<u32_le> for u32

Source§

impl Sub<u32_ube> for &u32

Source§

impl Sub<u32_ube> for &u32_ube

Source§

impl Sub<u32_ube> for u32

Source§

impl Sub<u32_ule> for &u32

Source§

impl Sub<u32_ule> for &u32_ule

Source§

impl Sub<u32_ule> for u32

1.0.0 (const: unstable) · Source§

impl Sub<u64> for &u64

Source§

impl Sub<u64> for &u64_be

Source§

impl Sub<u64> for &u64_le

Source§

impl Sub<u64> for &u64_ube

Source§

impl Sub<u64> for &u64_ule

Source§

impl Sub<u64> for u64_be

Source§

impl Sub<u64> for u64_le

Source§

impl Sub<u64> for u64_ube

Source§

impl Sub<u64> for u64_ule

Source§

impl Sub<u64_be> for &u64

Source§

impl Sub<u64_be> for &u64_be

Source§

impl Sub<u64_be> for u64

Source§

impl Sub<u64_le> for &u64

Source§

impl Sub<u64_le> for &u64_le

Source§

impl Sub<u64_le> for u64

Source§

impl Sub<u64_ube> for &u64

Source§

impl Sub<u64_ube> for &u64_ube

Source§

impl Sub<u64_ube> for u64

Source§

impl Sub<u64_ule> for &u64

Source§

impl Sub<u64_ule> for &u64_ule

Source§

impl Sub<u64_ule> for u64

1.0.0 (const: unstable) · Source§

impl Sub<u128> for &u128

Source§

impl Sub<u128> for &u128_be

Source§

impl Sub<u128> for &u128_le

Source§

impl Sub<u128> for &u128_ube

Source§

impl Sub<u128> for &u128_ule

Source§

impl Sub<u128> for u128_be

Source§

impl Sub<u128> for u128_le

Source§

impl Sub<u128> for u128_ube

Source§

impl Sub<u128> for u128_ule

Source§

impl Sub<u128_be> for &u128

Source§

impl Sub<u128_be> for &u128_be

Source§

impl Sub<u128_be> for u128

Source§

impl Sub<u128_le> for &u128

Source§

impl Sub<u128_le> for &u128_le

Source§

impl Sub<u128_le> for u128

Source§

impl Sub<u128_ube> for &u128

Source§

impl Sub<u128_ube> for &u128_ube

Source§

impl Sub<u128_ube> for u128

Source§

impl Sub<u128_ule> for &u128

Source§

impl Sub<u128_ule> for &u128_ule

Source§

impl Sub<u128_ule> for u128

1.0.0 (const: unstable) · Source§

impl Sub<usize> for &usize

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<O: Into<EnumSet<CpuFeature>>> Sub<O> for CpuFeature

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, O> Sub<O> for EnumSet<T>
where T: EnumSetType, O: Into<EnumSet<T>>,

Source§

impl<T, O> Sub<O> for MixedEnumSet<T>

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<T> Sub<T> for Bytes
where T: Into<Self>,

Source§

impl<T> Sub<T> for Pages
where T: Into<Self>,

Source§

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

UInt - B0 = UInt

Source§

type Output = UInt<U, B>

Source§

impl<U, B> Sub<B1> for UInt<UInt<U, B>, B1>
where U: Unsigned, B: Bit,

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

Source§

type Output = UInt<UInt<U, B>, B0>

Source§

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

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

Source§

type Output = UInt<<U as Sub<B1>>::Output, B1>

Source§

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

Z0 - N = P

Source§

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

Z0 - P = N

Source§

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

NInt - Z0 = NInt

Source§

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

PInt - Z0 = PInt

Source§

impl<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
where Ul: Unsigned, Bl: Bit, Ur: Unsigned, UInt<Ul, Bl>: PrivateSub<Ur>, <UInt<Ul, Bl> as PrivateSub<Ur>>::Output: Trim,

Subtracting unsigned integers. We just do our PrivateSub and then Trim the output.

Source§

type Output = <<UInt<Ul, Bl> as PrivateSub<Ur>>::Output as Trim>::Output

Source§

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

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

Source§

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

Source§

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

P(Ul) - N(Ur) = P(Ul + Ur)

Source§

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

Source§

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

N(Ul) - P(Ur) = N(Ul + Ur)

Source§

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

Source§

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

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

Source§

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

Source§

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

Source§

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

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>