Trait std::ops::Mul
[−]
[src]
pub trait Mul<RHS = Self> {
type Output;
fn mul(self, rhs: RHS) -> Self::Output;
}The Mul trait is used to specify the functionality of *.
Examples
A trivial implementation of Mul. When Foo * Foo happens, it ends up
calling mul, and therefore, main prints Multiplying!.
use std::ops::Mul; struct Foo; impl Mul for Foo { type Output = Foo; fn mul(self, _rhs: Foo) -> Foo { println!("Multiplying!"); self } } fn main() { Foo * Foo; }
Associated Types
type Output
The resulting type after applying the * operator
Required Methods
Implementors
impl<'a, 'b> Mul for &'b f64impl<'a> Mul for f64impl<'a> Mul for &'a f64impl Mul for f64impl<'a, 'b> Mul for &'b f32impl<'a> Mul for f32impl<'a> Mul for &'a f32impl Mul for f32impl<'a, 'b> Mul for &'b i64impl<'a> Mul for i64impl<'a> Mul for &'a i64impl Mul for i64impl<'a, 'b> Mul for &'b i32impl<'a> Mul for i32impl<'a> Mul for &'a i32impl Mul for i32impl<'a, 'b> Mul for &'b i16impl<'a> Mul for i16impl<'a> Mul for &'a i16impl Mul for i16impl<'a, 'b> Mul for &'b i8impl<'a> Mul for i8impl<'a> Mul for &'a i8impl Mul for i8impl<'a, 'b> Mul for &'b isizeimpl<'a> Mul for isizeimpl<'a> Mul for &'a isizeimpl Mul for isizeimpl<'a, 'b> Mul for &'b u64impl<'a> Mul for u64impl<'a> Mul for &'a u64impl Mul for u64impl<'a, 'b> Mul for &'b u32impl<'a> Mul for u32impl<'a> Mul for &'a u32impl Mul for u32impl<'a, 'b> Mul for &'b u16impl<'a> Mul for u16impl<'a> Mul for &'a u16impl Mul for u16impl<'a, 'b> Mul for &'b u8impl<'a> Mul for u8impl<'a> Mul for &'a u8impl Mul for u8impl<'a, 'b> Mul for &'b usizeimpl<'a> Mul for usizeimpl<'a> Mul for &'a usizeimpl Mul for usizeimpl Mul for Wrapping<i64>impl Mul for Wrapping<i32>impl Mul for Wrapping<i16>impl Mul for Wrapping<i8>impl Mul for Wrapping<isize>impl Mul for Wrapping<u64>impl Mul for Wrapping<u32>impl Mul for Wrapping<u16>impl Mul for Wrapping<u8>impl Mul for Wrapping<usize>impl Mul for Duration