pub trait MulAssign<Rhs = Self> {
fn mul_assign(&mut self, Rhs);
}
The MulAssign trait is used to specify the functionality of *=.
A trivial implementation of MulAssign. When Foo *= Foo happens, it ends up calling mul_assign, and therefore, main prints Multiplying!.
use std::ops::MulAssign;
struct Foo;
impl MulAssign for Foo {
fn mul_assign(&mut self, _rhs: Foo) {
println!("Multiplying!");
}
}
fn main() {
let mut foo = Foo;
foo *= Foo;
} fn mul_assign(&mut self, Rhs)The method for the *= operator
impl MulAssign<Wrapping<usize>> for std::num::Wrapping<usize>impl MulAssign<Wrapping<u8>> for std::num::Wrapping<u8>impl MulAssign<Wrapping<u16>> for std::num::Wrapping<u16>impl MulAssign<Wrapping<u32>> for std::num::Wrapping<u32>impl MulAssign<Wrapping<u64>> for std::num::Wrapping<u64>impl MulAssign<Wrapping<isize>> for std::num::Wrapping<isize>impl MulAssign<Wrapping<i8>> for std::num::Wrapping<i8>impl MulAssign<Wrapping<i16>> for std::num::Wrapping<i16>impl MulAssign<Wrapping<i32>> for std::num::Wrapping<i32>impl MulAssign<Wrapping<i64>> for std::num::Wrapping<i64>impl MulAssign<Wrapping<u128>> for std::num::Wrapping<u128>impl MulAssign<Wrapping<i128>> for std::num::Wrapping<i128>impl MulAssign<usize> for usizeimpl MulAssign<u8> for u8impl MulAssign<u16> for u16impl MulAssign<u32> for u32impl MulAssign<u64> for u64impl MulAssign<isize> for isizeimpl MulAssign<i8> for i8impl MulAssign<i16> for i16impl MulAssign<i32> for i32impl MulAssign<i64> for i64impl MulAssign<f32> for f32impl MulAssign<f64> for f64impl MulAssign<u128> for u128impl MulAssign<i128> for i128impl MulAssign<u32> for Duration
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/trait.MulAssign.html