Trait core::ops::MulAssign [] [src]

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

: recently added

The MulAssign trait is used to specify the functionality of *=.

Examples

A trivial implementation of MulAssign. When Foo *= Foo happens, it ends up calling mul_assign, and therefore, main prints Multiplying!.

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

use std::ops::MulAssign;

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

impl MulAssign for Foo {
    fn mul_assign(&mut self, _rhs: Foo) {
        println!("Multiplying!");
    }
}

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

Required Methods

fn mul_assign(&mut self, Rhs)

Unstable (op_assign_traits #28235)

: recently added

The method for the *= operator

Implementors