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§
sourcefn sub_assign(&mut self, rhs: Rhs)
fn sub_assign(&mut self, rhs: Rhs)
Implementors§
impl SubAssign for f32
impl SubAssign for f64
impl SubAssign for i8
impl SubAssign for i16
impl SubAssign for i32
impl SubAssign for i64
impl SubAssign for i128
impl SubAssign for isize
impl SubAssign for u8
impl SubAssign for u16
impl SubAssign for u32
impl SubAssign for u64
impl SubAssign for u128
impl SubAssign for usize
impl SubAssign for Effects
§Examples
let mut effects = anstyle::Effects::BOLD | anstyle::Effects::UNDERLINE;
effects -= anstyle::Effects::BOLD;
assert_eq!(format!("{:?}", effects), "Effects(UNDERLINE)");
impl SubAssign for Saturating<i8>
impl SubAssign for Saturating<i16>
impl SubAssign for Saturating<i32>
impl SubAssign for Saturating<i64>
impl SubAssign for Saturating<i128>
impl SubAssign for Saturating<isize>
impl SubAssign for Saturating<u8>
impl SubAssign for Saturating<u16>
impl SubAssign for Saturating<u32>
impl SubAssign for Saturating<u64>
impl SubAssign for Saturating<u128>
impl SubAssign for Saturating<usize>
impl SubAssign for Wrapping<i8>
impl SubAssign for Wrapping<i16>
impl SubAssign for Wrapping<i32>
impl SubAssign for Wrapping<i64>
impl SubAssign for Wrapping<i128>
impl SubAssign for Wrapping<isize>
impl SubAssign for Wrapping<u8>
impl SubAssign for Wrapping<u16>
impl SubAssign for Wrapping<u32>
impl SubAssign for Wrapping<u64>
impl SubAssign for Wrapping<u128>
impl SubAssign for Wrapping<usize>
impl SubAssign for Duration
impl SubAssign for Ticks
impl SubAssign for bf16
impl SubAssign for f16
impl SubAssign for Extensions
impl SubAssign for Access
impl SubAssign for Access
impl SubAssign for AccessFlags
impl SubAssign for Anchor
impl SubAssign for Anchor
impl SubAssign for Api
impl SubAssign for AtFlags
impl SubAssign for AtFlags
impl SubAssign for AtFlags
impl SubAssign for CapabilitiesSecureBits
impl SubAssign for Capability
impl SubAssign for Capability
impl SubAssign for Capability
impl SubAssign for CapabilityFlags
impl SubAssign for Channels
impl SubAssign for Complex
impl SubAssign for ConfigSurfaceTypes
impl SubAssign for ConstraintAdjustment
impl SubAssign for ContentHint
impl SubAssign for ContentHint
impl SubAssign for ContentHint
impl SubAssign for ControlModes
impl SubAssign for CreateFlags
impl SubAssign for CreateFlags
impl SubAssign for CreateFlags
impl SubAssign for CreateFlags
impl SubAssign for DisplayFeatures
impl SubAssign for DndAction
impl SubAssign for DupFlags
impl SubAssign for DupFlags
impl SubAssign for EfdFlags
impl SubAssign for EfdFlags
impl SubAssign for EpollCreateFlags
impl SubAssign for EpollCreateFlags
impl SubAssign for EpollFlags
impl SubAssign for EpollFlags
impl SubAssign for EventFlags
impl SubAssign for EventFlags
impl SubAssign for EventMask
impl SubAssign for EventMask
impl SubAssign for EventfdFlags
impl SubAssign for EventfdFlags
impl SubAssign for FallocateFlags
impl SubAssign for FallocateFlags
impl SubAssign for FallocateFlags
impl SubAssign for FdFlag
impl SubAssign for FdFlags
impl SubAssign for FdFlags
impl SubAssign for Flags
impl SubAssign for Flags
impl SubAssign for Flags
impl SubAssign for FloatingPointEmulationControl
impl SubAssign for FloatingPointExceptionMode
impl SubAssign for FsFlags
impl SubAssign for FutexFlags
impl SubAssign for InputModes
impl SubAssign for Kind
impl SubAssign for LocalModes
impl SubAssign for MRemapFlags
impl SubAssign for MapFlags
impl SubAssign for MemFdCreateFlag
impl SubAssign for MembarrierQuery
impl SubAssign for MemfdFlags
impl SubAssign for MemfdFlags
impl SubAssign for MilliBel
impl SubAssign for MlockAllFlags
impl SubAssign for Mode
impl SubAssign for Mode
impl SubAssign for Mode
impl SubAssign for Mode
impl SubAssign for ModifiersState
impl SubAssign for MountFlags
impl SubAssign for MountFlags
impl SubAssign for MountPropagationFlags
impl SubAssign for MountPropagationFlags
impl SubAssign for MsFlags
impl SubAssign for MsgFlags
impl SubAssign for OFlag
impl SubAssign for OFlags
impl SubAssign for OFlags
impl SubAssign for OutputModes
impl SubAssign for PidfdFlags
impl SubAssign for PidfdGetfdFlags
impl SubAssign for PipeFlags
impl SubAssign for PipeFlags
impl SubAssign for Point
impl SubAssign for Point
impl SubAssign for PollFlags
impl SubAssign for PollFlags
impl SubAssign for PollFlags
impl SubAssign for PortCap
impl SubAssign for PortType
impl SubAssign for ProtFlags
impl SubAssign for ReadWriteFlags
impl SubAssign for ReadWriteFlags
impl SubAssign for RecvFlags
impl SubAssign for Remove
impl SubAssign for RenameFlags
impl SubAssign for RenameFlags
impl SubAssign for RenameFlags
impl SubAssign for Resize
impl SubAssign for ResolveFlags
impl SubAssign for ResolveFlags
impl SubAssign for SFlag
impl SubAssign for SealFlag
impl SubAssign for SealFlags
impl SubAssign for SealFlags
impl SubAssign for SendFlags
impl SubAssign for ShmOFlags
impl SubAssign for SockFlag
impl SubAssign for SocketFlags
impl SubAssign for SpeculationFeatureControl
impl SubAssign for SpeculationFeatureState
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 TaggedAddressMode
impl SubAssign for ThreadNameSpaceType
impl SubAssign for TimerfdFlags
impl SubAssign for TimerfdTimerFlags
impl SubAssign for TimestampingFlag
impl SubAssign for TrancheFlags
impl SubAssign for Transformations
impl SubAssign for Transient
impl SubAssign for UnalignedAccessControl
impl SubAssign for UnmountFlags
impl SubAssign for UnmountFlags
impl SubAssign for WaitOptions
impl SubAssign for WaitidOptions
impl SubAssign for WatchFlags
impl SubAssign for WatchFlags
impl SubAssign for WatchMask
impl SubAssign for WatchMask
impl SubAssign for WindowButtons
impl SubAssign for WindowManagerCapabilities
impl SubAssign for WindowState
impl SubAssign for XattrFlags
impl SubAssign for XattrFlags
impl SubAssign for xkb_state_component
impl SubAssign<&f32> for f32
impl SubAssign<&f64> for f64
impl SubAssign<&i8> for i8
impl SubAssign<&i8> for Saturating<i8>
impl SubAssign<&i8> for Wrapping<i8>
impl SubAssign<&i16> for i16
impl SubAssign<&i16> for Saturating<i16>
impl SubAssign<&i16> for Wrapping<i16>
impl SubAssign<&i32> for i32
impl SubAssign<&i32> for Saturating<i32>
impl SubAssign<&i32> for Wrapping<i32>
impl SubAssign<&i64> for i64
impl SubAssign<&i64> for Saturating<i64>
impl SubAssign<&i64> for Wrapping<i64>
impl SubAssign<&i128> for i128
impl SubAssign<&i128> for Saturating<i128>
impl SubAssign<&i128> for Wrapping<i128>
impl SubAssign<&isize> for isize
impl SubAssign<&isize> for Saturating<isize>
impl SubAssign<&isize> for Wrapping<isize>
impl SubAssign<&u8> for u8
impl SubAssign<&u8> for Saturating<u8>
impl SubAssign<&u8> for Wrapping<u8>
impl SubAssign<&u16> for u16
impl SubAssign<&u16> for Saturating<u16>
impl SubAssign<&u16> for Wrapping<u16>
impl SubAssign<&u32> for u32
impl SubAssign<&u32> for Saturating<u32>
impl SubAssign<&u32> for Wrapping<u32>
impl SubAssign<&u64> for u64
impl SubAssign<&u64> for Saturating<u64>
impl SubAssign<&u64> for Wrapping<u64>
impl SubAssign<&u128> for u128
impl SubAssign<&u128> for Saturating<u128>
impl SubAssign<&u128> for Wrapping<u128>
impl SubAssign<&usize> for usize
impl SubAssign<&usize> for Saturating<usize>
impl SubAssign<&usize> for Wrapping<usize>
impl SubAssign<&Saturating<i8>> for Saturating<i8>
impl SubAssign<&Saturating<i16>> for Saturating<i16>
impl SubAssign<&Saturating<i32>> for Saturating<i32>
impl SubAssign<&Saturating<i64>> for Saturating<i64>
impl SubAssign<&Saturating<i128>> for Saturating<i128>
impl SubAssign<&Saturating<isize>> for Saturating<isize>
impl SubAssign<&Saturating<u8>> for Saturating<u8>
impl SubAssign<&Saturating<u16>> for Saturating<u16>
impl SubAssign<&Saturating<u32>> for Saturating<u32>
impl SubAssign<&Saturating<u64>> for Saturating<u64>
impl SubAssign<&Saturating<u128>> for Saturating<u128>
impl SubAssign<&Saturating<usize>> for Saturating<usize>
impl SubAssign<&Wrapping<i8>> for Wrapping<i8>
impl SubAssign<&Wrapping<i16>> for Wrapping<i16>
impl SubAssign<&Wrapping<i32>> for Wrapping<i32>
impl SubAssign<&Wrapping<i64>> for Wrapping<i64>
impl SubAssign<&Wrapping<i128>> for Wrapping<i128>
impl SubAssign<&Wrapping<isize>> for Wrapping<isize>
impl SubAssign<&Wrapping<u8>> for Wrapping<u8>
impl SubAssign<&Wrapping<u16>> for Wrapping<u16>
impl SubAssign<&Wrapping<u32>> for Wrapping<u32>
impl SubAssign<&Wrapping<u64>> for Wrapping<u64>
impl SubAssign<&Wrapping<u128>> for Wrapping<u128>
impl SubAssign<&Wrapping<usize>> for Wrapping<usize>
impl SubAssign<&bf16> for bf16
impl SubAssign<&f16> for f16
impl SubAssign<i8> for Saturating<i8>
impl SubAssign<i8> for Wrapping<i8>
impl SubAssign<i16> for Saturating<i16>
impl SubAssign<i16> for Wrapping<i16>
impl SubAssign<i32> for Saturating<i32>
impl SubAssign<i32> for Wrapping<i32>
impl SubAssign<i64> for Saturating<i64>
impl SubAssign<i64> for Wrapping<i64>
impl SubAssign<i128> for Saturating<i128>
impl SubAssign<i128> for Wrapping<i128>
impl SubAssign<isize> for Saturating<isize>
impl SubAssign<isize> for Wrapping<isize>
impl SubAssign<u8> for Saturating<u8>
impl SubAssign<u8> for Wrapping<u8>
impl SubAssign<u16> for Saturating<u16>
impl SubAssign<u16> for Wrapping<u16>
impl SubAssign<u32> for Saturating<u32>
impl SubAssign<u32> for Wrapping<u32>
impl SubAssign<u64> for Saturating<u64>
impl SubAssign<u64> for Wrapping<u64>
impl SubAssign<u128> for Saturating<u128>
impl SubAssign<u128> for Wrapping<u128>
impl SubAssign<usize> for Saturating<usize>
impl SubAssign<usize> for Wrapping<usize>
impl SubAssign<Effects> for Style
§Examples
let mut style = anstyle::Style::new().bold().underline();
style -= anstyle::Effects::BOLD.into();