Trait gclient::ext::sp_core::sp_std::ops::SubAssign

1.8.0 · source ·
pub trait SubAssign<Rhs = Self> {
    // Required method
    fn sub_assign(&mut self, rhs: Rhs);
}
Expand description

The subtraction assignment operator -=.

§Examples

This example creates a Point struct that implements the SubAssign trait, and then demonstrates sub-assigning to a mutable Point.

use std::ops::SubAssign;

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

impl SubAssign for Point {
    fn sub_assign(&mut self, other: Self) {
        *self = Self {
            x: self.x - other.x,
            y: self.y - other.y,
        };
    }
}

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

Required Methods§

source

fn sub_assign(&mut self, rhs: Rhs)

Performs the -= operation.

§Example
let mut x: u32 = 12;
x -= 1;
assert_eq!(x, 11);

Implementors§

source§

impl SubAssign for f32

source§

impl SubAssign for f64

source§

impl SubAssign for i8

source§

impl SubAssign for i16

source§

impl SubAssign for i32

source§

impl SubAssign for i64

source§

impl SubAssign for i128

source§

impl SubAssign for isize

source§

impl SubAssign for u8

source§

impl SubAssign for u16

source§

impl SubAssign for u32

source§

impl SubAssign for u64

source§

impl SubAssign for u128

source§

impl SubAssign for usize

§

impl SubAssign for Capabilities

1.9.0 · source§

impl SubAssign for Duration

§

impl SubAssign for U256

§

impl SubAssign for U512

1.74.0 · source§

impl SubAssign for Saturating<i8>

1.74.0 · source§

impl SubAssign for Saturating<i16>

1.74.0 · source§

impl SubAssign for Saturating<i32>

1.74.0 · source§

impl SubAssign for Saturating<i64>

1.74.0 · source§

impl SubAssign for Saturating<i128>

1.74.0 · source§

impl SubAssign for Saturating<isize>

1.74.0 · source§

impl SubAssign for Saturating<u8>

1.74.0 · source§

impl SubAssign for Saturating<u16>

1.74.0 · source§

impl SubAssign for Saturating<u32>

1.74.0 · source§

impl SubAssign for Saturating<u64>

1.74.0 · source§

impl SubAssign for Saturating<u128>

1.74.0 · source§

impl SubAssign for Saturating<usize>

source§

impl SubAssign for Wrapping<i8>

source§

impl SubAssign for Wrapping<i16>

source§

impl SubAssign for Wrapping<i32>

source§

impl SubAssign for Wrapping<i64>

source§

impl SubAssign for Wrapping<i128>

source§

impl SubAssign for Wrapping<isize>

source§

impl SubAssign for Wrapping<u8>

source§

impl SubAssign for Wrapping<u16>

source§

impl SubAssign for Wrapping<u32>

source§

impl SubAssign for Wrapping<u64>

source§

impl SubAssign for Wrapping<u128>

source§

impl SubAssign for Wrapping<usize>

source§

impl SubAssign for TimeDelta

source§

impl SubAssign for curve25519_dalek::edwards::EdwardsPoint

source§

impl SubAssign for curve25519_dalek::ristretto::RistrettoPoint

source§

impl SubAssign for curve25519_dalek::scalar::Scalar

source§

impl SubAssign for curve25519_dalek::edwards::EdwardsPoint

source§

impl SubAssign for curve25519_dalek::ristretto::RistrettoPoint

source§

impl SubAssign for curve25519_dalek::scalar::Scalar

source§

impl SubAssign for BigInt

source§

impl SubAssign for BigUint

§

impl SubAssign for Access

§

impl SubAssign for Access

§

impl SubAssign for AtFlags

§

impl SubAssign for AtFlags

§

impl SubAssign for ControlModes

§

impl SubAssign for CreateFlags

§

impl SubAssign for CreateFlags

§

impl SubAssign for CreateFlags

§

impl SubAssign for CreateFlags

§

impl SubAssign for DupFlags

§

impl SubAssign for DupFlags

§

impl SubAssign for DupFlags

§

impl SubAssign for EdwardsPoint

§

impl SubAssign for EventFlags

§

impl SubAssign for EventFlags

§

impl SubAssign for EventfdFlags

§

impl SubAssign for EventfdFlags

§

impl SubAssign for FallocateFlags

§

impl SubAssign for FallocateFlags

§

impl SubAssign for FdFlags

§

impl SubAssign for FdFlags

§

impl SubAssign for FdFlags

§

impl SubAssign for IFlags

§

impl SubAssign for InputModes

§

impl SubAssign for LocalModes

§

impl SubAssign for MapFlags

§

impl SubAssign for MemfdFlags

§

impl SubAssign for MemfdFlags

§

impl SubAssign for MlockFlags

§

impl SubAssign for Mode

§

impl SubAssign for Mode

§

impl SubAssign for MountFlags

§

impl SubAssign for MountFlags

§

impl SubAssign for MountPropagationFlags

§

impl SubAssign for MountPropagationFlags

§

impl SubAssign for MprotectFlags

§

impl SubAssign for MremapFlags

§

impl SubAssign for MsyncFlags

§

impl SubAssign for OFlags

§

impl SubAssign for OFlags

§

impl SubAssign for OutputModes

§

impl SubAssign for PipeFlags

§

impl SubAssign for PipeFlags

§

impl SubAssign for PollFlags

§

impl SubAssign for PollFlags

§

impl SubAssign for ProtFlags

§

impl SubAssign for Protection

§

impl SubAssign for ReadWriteFlags

§

impl SubAssign for ReadWriteFlags

§

impl SubAssign for ReadWriteFlags

§

impl SubAssign for RenameFlags

§

impl SubAssign for RenameFlags

§

impl SubAssign for ResolveFlags

§

impl SubAssign for ResolveFlags

§

impl SubAssign for RistrettoPoint

§

impl SubAssign for Scalar

§

impl SubAssign for SealFlags

§

impl SubAssign for SealFlags

§

impl SubAssign for SpliceFlags

§

impl SubAssign for SpliceFlags

§

impl SubAssign for StatVfsMountFlags

§

impl SubAssign for StatVfsMountFlags

§

impl SubAssign for StatxFlags

§

impl SubAssign for StatxFlags

§

impl SubAssign for U128

§

impl SubAssign for UnmountFlags

§

impl SubAssign for UnmountFlags

§

impl SubAssign for UserfaultfdFlags

§

impl SubAssign for WatchFlags

§

impl SubAssign for WatchFlags

§

impl SubAssign for Weight

§

impl SubAssign for XattrFlags

§

impl SubAssign for XattrFlags

1.22.0 · source§

impl SubAssign<&f32> for f32

1.22.0 · source§

impl SubAssign<&f64> for f64

1.22.0 · source§

impl SubAssign<&i8> for i8

1.22.0 · source§

impl SubAssign<&i8> for Saturating<i8>

1.22.0 · source§

impl SubAssign<&i8> for Wrapping<i8>

1.22.0 · source§

impl SubAssign<&i16> for i16

1.22.0 · source§

impl SubAssign<&i16> for Saturating<i16>

1.22.0 · source§

impl SubAssign<&i16> for Wrapping<i16>

1.22.0 · source§

impl SubAssign<&i32> for i32

1.22.0 · source§

impl SubAssign<&i32> for Saturating<i32>

1.22.0 · source§

impl SubAssign<&i32> for Wrapping<i32>

1.22.0 · source§

impl SubAssign<&i64> for i64

1.22.0 · source§

impl SubAssign<&i64> for Saturating<i64>

1.22.0 · source§

impl SubAssign<&i64> for Wrapping<i64>

1.22.0 · source§

impl SubAssign<&i128> for i128

1.22.0 · source§

impl SubAssign<&i128> for Saturating<i128>

1.22.0 · source§

impl SubAssign<&i128> for Wrapping<i128>

1.22.0 · source§

impl SubAssign<&isize> for isize

1.22.0 · source§

impl SubAssign<&isize> for Saturating<isize>

1.22.0 · source§

impl SubAssign<&isize> for Wrapping<isize>

1.22.0 · source§

impl SubAssign<&u8> for u8

1.22.0 · source§

impl SubAssign<&u8> for Saturating<u8>

1.22.0 · source§

impl SubAssign<&u8> for Wrapping<u8>

1.22.0 · source§

impl SubAssign<&u16> for u16

1.22.0 · source§

impl SubAssign<&u16> for Saturating<u16>

1.22.0 · source§

impl SubAssign<&u16> for Wrapping<u16>

1.22.0 · source§

impl SubAssign<&u32> for u32

1.22.0 · source§

impl SubAssign<&u32> for Saturating<u32>

1.22.0 · source§

impl SubAssign<&u32> for Wrapping<u32>

1.22.0 · source§

impl SubAssign<&u64> for u64

1.22.0 · source§

impl SubAssign<&u64> for Saturating<u64>

1.22.0 · source§

impl SubAssign<&u64> for Wrapping<u64>

1.22.0 · source§

impl SubAssign<&u128> for u128

1.22.0 · source§

impl SubAssign<&u128> for Saturating<u128>

1.22.0 · source§

impl SubAssign<&u128> for Wrapping<u128>

1.22.0 · source§

impl SubAssign<&usize> for usize

1.22.0 · source§

impl SubAssign<&usize> for Saturating<usize>

1.22.0 · source§

impl SubAssign<&usize> for Wrapping<usize>

1.22.0 · source§

impl SubAssign<&Saturating<i8>> for Saturating<i8>

1.22.0 · source§

impl SubAssign<&Saturating<i16>> for Saturating<i16>

1.22.0 · source§

impl SubAssign<&Saturating<i32>> for Saturating<i32>

1.22.0 · source§

impl SubAssign<&Saturating<i64>> for Saturating<i64>

1.22.0 · source§

impl SubAssign<&Saturating<i128>> for Saturating<i128>

1.22.0 · source§

impl SubAssign<&Saturating<isize>> for Saturating<isize>

1.22.0 · source§

impl SubAssign<&Saturating<u8>> for Saturating<u8>

1.22.0 · source§

impl SubAssign<&Saturating<u16>> for Saturating<u16>

1.22.0 · source§

impl SubAssign<&Saturating<u32>> for Saturating<u32>

1.22.0 · source§

impl SubAssign<&Saturating<u64>> for Saturating<u64>

1.22.0 · source§

impl SubAssign<&Saturating<u128>> for Saturating<u128>

1.22.0 · source§

impl SubAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 · source§

impl SubAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 · source§

impl SubAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 · source§

impl SubAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 · source§

impl SubAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 · source§

impl SubAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 · source§

impl SubAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 · source§

impl SubAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 · source§

impl SubAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 · source§

impl SubAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 · source§

impl SubAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 · source§

impl SubAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 · source§

impl SubAssign<&Wrapping<usize>> for Wrapping<usize>

source§

impl SubAssign<&BigInt> for BigInt

source§

impl SubAssign<&BigUint> for BigUint

1.74.0 · source§

impl SubAssign<i8> for Saturating<i8>

1.60.0 · source§

impl SubAssign<i8> for Wrapping<i8>

source§

impl SubAssign<i8> for BigInt

1.74.0 · source§

impl SubAssign<i16> for Saturating<i16>

1.60.0 · source§

impl SubAssign<i16> for Wrapping<i16>

source§

impl SubAssign<i16> for BigInt

1.74.0 · source§

impl SubAssign<i32> for Saturating<i32>

1.60.0 · source§

impl SubAssign<i32> for Wrapping<i32>

source§

impl SubAssign<i32> for BigInt

1.74.0 · source§

impl SubAssign<i64> for Saturating<i64>

1.60.0 · source§

impl SubAssign<i64> for Wrapping<i64>

source§

impl SubAssign<i64> for BigInt

1.74.0 · source§

impl SubAssign<i128> for Saturating<i128>

1.60.0 · source§

impl SubAssign<i128> for Wrapping<i128>

source§

impl SubAssign<i128> for BigInt

1.74.0 · source§

impl SubAssign<isize> for Saturating<isize>

1.60.0 · source§

impl SubAssign<isize> for Wrapping<isize>

source§

impl SubAssign<isize> for BigInt

1.74.0 · source§

impl SubAssign<u8> for Saturating<u8>

1.60.0 · source§

impl SubAssign<u8> for Wrapping<u8>

source§

impl SubAssign<u8> for BigInt

source§

impl SubAssign<u8> for BigUint

1.74.0 · source§

impl SubAssign<u16> for Saturating<u16>

1.60.0 · source§

impl SubAssign<u16> for Wrapping<u16>

source§

impl SubAssign<u16> for BigInt

source§

impl SubAssign<u16> for BigUint

1.74.0 · source§

impl SubAssign<u32> for Saturating<u32>

1.60.0 · source§

impl SubAssign<u32> for Wrapping<u32>

source§

impl SubAssign<u32> for BigInt

source§

impl SubAssign<u32> for BigUint

1.74.0 · source§

impl SubAssign<u64> for Saturating<u64>

1.60.0 · source§

impl SubAssign<u64> for Wrapping<u64>

source§

impl SubAssign<u64> for BigInt

source§

impl SubAssign<u64> for BigUint

1.74.0 · source§

impl SubAssign<u128> for Saturating<u128>

1.60.0 · source§

impl SubAssign<u128> for Wrapping<u128>

source§

impl SubAssign<u128> for BigInt

source§

impl SubAssign<u128> for BigUint

1.74.0 · source§

impl SubAssign<usize> for Saturating<usize>

1.60.0 · source§

impl SubAssign<usize> for Wrapping<usize>

source§

impl SubAssign<usize> for BigInt

source§

impl SubAssign<usize> for BigUint

1.9.0 · source§

impl SubAssign<Duration> for gclient::ext::sp_runtime::scale_info::prelude::time::Instant

1.9.0 · source§

impl SubAssign<Duration> for SystemTime

source§

impl SubAssign<Duration> for NaiveDateTime

Subtract-assign std::time::Duration from NaiveDateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDateTime::checked_sub_signed to get an Option instead.

source§

impl SubAssign<Duration> for NaiveTime

Subtract-assign std::time::Duration from NaiveTime.

This wraps around and never overflows or underflows. In particular the subtraction ignores integral number of days.

§

impl SubAssign<Duration> for Instant

source§

impl SubAssign<TimeDelta> for NaiveDate

Subtract-assign TimeDelta from NaiveDate.

This discards the fractional days in TimeDelta, rounding to the closest integral number of days towards TimeDelta::zero(). It is the same as the addition with a negated TimeDelta.

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDate::checked_sub_signed to get an Option instead.

source§

impl SubAssign<TimeDelta> for NaiveDateTime

Subtract-assign TimeDelta from NaiveDateTime.

This is the same as the addition with a negated TimeDelta.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the NaiveDateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using NaiveDateTime::checked_sub_signed to get an Option instead.

source§

impl SubAssign<TimeDelta> for NaiveTime

Subtract-assign TimeDelta from NaiveTime.

This wraps around and never overflows or underflows. In particular the subtraction ignores integral number of days.

source§

impl<'a, T> SubAssign<&'a Ratio<T>> for Ratio<T>
where T: Clone + Integer + NumAssign,

source§

impl<'a, T> SubAssign<&'a T> for Ratio<T>
where T: Clone + Integer + NumAssign,

source§

impl<'b> SubAssign<&'b EdwardsPoint> for curve25519_dalek::edwards::EdwardsPoint

source§

impl<'b> SubAssign<&'b RistrettoPoint> for curve25519_dalek::ristretto::RistrettoPoint

source§

impl<'b> SubAssign<&'b Scalar> for curve25519_dalek::scalar::Scalar

source§

impl<'b> SubAssign<&'b EdwardsPoint> for curve25519_dalek::edwards::EdwardsPoint

source§

impl<'b> SubAssign<&'b RistrettoPoint> for curve25519_dalek::ristretto::RistrettoPoint

source§

impl<'b> SubAssign<&'b Scalar> for curve25519_dalek::scalar::Scalar

§

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

§

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

§

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

source§

impl<T> SubAssign for Ratio<T>
where T: Clone + Integer + NumAssign,

source§

impl<T> SubAssign<T> for Ratio<T>
where T: Clone + Integer + NumAssign,

source§

impl<T, U, const N: usize> SubAssign<U> for Simd<T, N>
where Simd<T, N>: Sub<U, Output = Simd<T, N>>, T: SimdElement, LaneCount<N>: SupportedLaneCount,

source§

impl<Tz> SubAssign<Duration> for DateTime<Tz>
where Tz: TimeZone,

Subtract-assign std::time::Duration from DateTime.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the DateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using DateTime<Tz>::checked_sub_signed to get an Option instead.

source§

impl<Tz> SubAssign<TimeDelta> for Date<Tz>
where Tz: TimeZone,

source§

impl<Tz> SubAssign<TimeDelta> for DateTime<Tz>
where Tz: TimeZone,

Subtract-assign TimeDelta from DateTime.

This is the same as the addition with a negated TimeDelta.

As a part of Chrono’s [leap second handling], the addition assumes that there is no leap second ever, except when the DateTime itself represents a leap second in which case the assumption becomes that there is exactly a single leap second ever.

§Panics

Panics if the resulting date would be out of range. Consider using DateTime<Tz>::checked_sub_signed to get an Option instead.