Trait core::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 Mul for Wrapping<usize>impl Mul for Wrapping<u8>impl Mul for Wrapping<u16>impl Mul for Wrapping<u32>impl Mul for Wrapping<u64>impl Mul for Wrapping<isize>impl Mul for Wrapping<i8>impl Mul for Wrapping<i16>impl Mul for Wrapping<i32>impl Mul for Wrapping<i64>impl Mul for usizeimpl<'a> Mul<usize> for &'a usizeimpl<'a> Mul<&'a usize> for usizeimpl<'a, 'b> Mul<&'a usize> for &'b usizeimpl Mul for u8impl<'a> Mul<u8> for &'a u8impl<'a> Mul<&'a u8> for u8impl<'a, 'b> Mul<&'a u8> for &'b u8impl Mul for u16impl<'a> Mul<u16> for &'a u16impl<'a> Mul<&'a u16> for u16impl<'a, 'b> Mul<&'a u16> for &'b u16impl Mul for u32impl<'a> Mul<u32> for &'a u32impl<'a> Mul<&'a u32> for u32impl<'a, 'b> Mul<&'a u32> for &'b u32impl Mul for u64impl<'a> Mul<u64> for &'a u64impl<'a> Mul<&'a u64> for u64impl<'a, 'b> Mul<&'a u64> for &'b u64impl Mul for isizeimpl<'a> Mul<isize> for &'a isizeimpl<'a> Mul<&'a isize> for isizeimpl<'a, 'b> Mul<&'a isize> for &'b isizeimpl Mul for i8impl<'a> Mul<i8> for &'a i8impl<'a> Mul<&'a i8> for i8impl<'a, 'b> Mul<&'a i8> for &'b i8impl Mul for i16impl<'a> Mul<i16> for &'a i16impl<'a> Mul<&'a i16> for i16impl<'a, 'b> Mul<&'a i16> for &'b i16impl Mul for i32impl<'a> Mul<i32> for &'a i32impl<'a> Mul<&'a i32> for i32impl<'a, 'b> Mul<&'a i32> for &'b i32impl Mul for i64impl<'a> Mul<i64> for &'a i64impl<'a> Mul<&'a i64> for i64impl<'a, 'b> Mul<&'a i64> for &'b i64impl Mul for f32impl<'a> Mul<f32> for &'a f32impl<'a> Mul<&'a f32> for f32impl<'a, 'b> Mul<&'a f32> for &'b f32impl Mul for f64impl<'a> Mul<f64> for &'a f64impl<'a> Mul<&'a f64> for f64impl<'a, 'b> Mul<&'a f64> for &'b f64