Trait core::ops::AddAssign 1.8.0
[−]
[src]
pub trait AddAssign<Rhs = Self> {
fn add_assign(&mut self, _: Rhs);
}The AddAssign trait is used to specify the functionality of +=.
Examples
This example creates a Point struct that implements the AddAssign
trait, and then demonstrates add-assigning to a mutable Point.
use std::ops::AddAssign; #[derive(Debug)] struct Point { x: i32, y: i32, } impl AddAssign for Point { fn add_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: 1, y: 0 }; point += Point { x: 2, y: 3 }; assert_eq!(point, Point { x: 3, y: 3 });Run
Required Methods
fn add_assign(&mut self, _: Rhs)
The method for the += operator
Implementors
impl AddAssign for core::num::Wrapping<usize>impl AddAssign for core::num::Wrapping<u8>impl AddAssign for core::num::Wrapping<u16>impl AddAssign for core::num::Wrapping<u32>impl AddAssign for core::num::Wrapping<u64>impl AddAssign for core::num::Wrapping<isize>impl AddAssign for core::num::Wrapping<i8>impl AddAssign for core::num::Wrapping<i16>impl AddAssign for core::num::Wrapping<i32>impl AddAssign for core::num::Wrapping<i64>impl AddAssign for core::num::Wrapping<u128>impl AddAssign for core::num::Wrapping<i128>impl AddAssign for usizeimpl AddAssign for u8impl AddAssign for u16impl AddAssign for u32impl AddAssign for u64impl AddAssign for isizeimpl AddAssign for i8impl AddAssign for i16impl AddAssign for i32impl AddAssign for i64impl AddAssign for f32impl AddAssign for f64impl AddAssign for u128impl AddAssign for i128