Trait std::ops::AddAssign [] [src]

pub trait AddAssign<Rhs = Self> {
    fn add_assign(&mut self, Rhs);
}
Unstable (op_assign_traits #28235)

: recently added

The AddAssign trait is used to specify the functionality of +=.

Examples

A trivial implementation of AddAssign. When Foo += Foo happens, it ends up calling add_assign, and therefore, main prints Adding!.

#![feature(augmented_assignments)] #![feature(op_assign_traits)] use std::ops::AddAssign; #[derive(Copy, Clone)] struct Foo; impl AddAssign for Foo { fn add_assign(&mut self, _rhs: Foo) { println!("Adding!"); } } #[allow(unused_assignments)] fn main() { let mut foo = Foo; foo += Foo; }
#![feature(augmented_assignments)]
#![feature(op_assign_traits)]

use std::ops::AddAssign;

#[derive(Copy, Clone)]
struct Foo;

impl AddAssign for Foo {
    fn add_assign(&mut self, _rhs: Foo) {
        println!("Adding!");
    }
}

fn main() {
    let mut foo = Foo;
    foo += Foo;
}

Required Methods

fn add_assign(&mut self, Rhs)

Unstable (op_assign_traits #28235)

: recently added

The method for the += operator

Implementors