Trait core::ops::SubAssign 1.8.0
[−]
[src]
pub trait SubAssign<Rhs = Self> {
fn sub_assign(&mut self, _: Rhs);
}The SubAssign trait is used to specify the functionality of -=.
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)] struct Point { x: i32, y: i32, } impl SubAssign for Point { fn sub_assign(&mut self, other: Point) { *self = Point { x: self.x - other.x, y: self.y - other.y, }; } } impl PartialEq for Point { fn eq(&self, other: &Self) -> bool { self.x == other.x && 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});Run
Required Methods
fn sub_assign(&mut self, _: Rhs)
The method for the -= operator
Implementors
impl SubAssign for core::num::Wrapping<usize>impl SubAssign for core::num::Wrapping<u8>impl SubAssign for core::num::Wrapping<u16>impl SubAssign for core::num::Wrapping<u32>impl SubAssign for core::num::Wrapping<u64>impl SubAssign for core::num::Wrapping<isize>impl SubAssign for core::num::Wrapping<i8>impl SubAssign for core::num::Wrapping<i16>impl SubAssign for core::num::Wrapping<i32>impl SubAssign for core::num::Wrapping<i64>impl SubAssign for core::num::Wrapping<u128>impl SubAssign for core::num::Wrapping<i128>impl SubAssign for usizeimpl SubAssign for u8impl SubAssign for u16impl SubAssign for u32impl SubAssign for u64impl SubAssign for isizeimpl SubAssign for i8impl SubAssign for i16impl SubAssign for i32impl SubAssign for i64impl SubAssign for f32impl SubAssign for f64impl SubAssign for u128impl SubAssign for i128