Trait IntMul

Source
pub trait IntMul<B: Int>: Int {
    type Output: Int;
}
Expand description

Integer multiplication. Used as Mul<X, Y> or <X as IntMul<Y>>::Output.

Required Associated Types§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl IntMul<Term> for Term

Source§

impl IntMul<Term> for Undefined

Source§

impl IntMul<Undefined> for Term

Source§

impl IntMul<Undefined> for Undefined

Source§

impl<M, N: Int> IntMul<Minus<N>> for Minus<M>
where <M as IntMul<Zero<Minus<N>>>>::Output: IntSub<Minus<N>>, M: IntMul<Zero<Minus<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Minus<N>>>>::Output as IntSub<Minus<N>>>::Output

Source§

impl<M, N: Int> IntMul<Minus<N>> for Plus<M>
where <M as IntMul<Zero<Minus<N>>>>::Output: IntAdd<Minus<N>>, M: IntMul<Zero<Minus<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Minus<N>>>>::Output as IntAdd<Minus<N>>>::Output

Source§

impl<M, N: Int> IntMul<Minus<N>> for Zero<M>
where M: IntMul<Zero<Minus<N>>> + Int,

Source§

type Output = <M as IntMul<Zero<Minus<N>>>>::Output

Source§

impl<M, N: Int> IntMul<Plus<N>> for Minus<M>
where <M as IntMul<Zero<Plus<N>>>>::Output: IntSub<Plus<N>>, M: IntMul<Zero<Plus<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Plus<N>>>>::Output as IntSub<Plus<N>>>::Output

Source§

impl<M, N: Int> IntMul<Plus<N>> for Plus<M>
where <M as IntMul<Zero<Plus<N>>>>::Output: IntAdd<Plus<N>>, M: IntMul<Zero<Plus<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Plus<N>>>>::Output as IntAdd<Plus<N>>>::Output

Source§

impl<M, N: Int> IntMul<Plus<N>> for Zero<M>
where M: IntMul<Zero<Plus<M>>> + Int,

Source§

type Output = <M as IntMul<Zero<Plus<M>>>>::Output

Source§

impl<M, N: Int> IntMul<Zero<N>> for Minus<M>
where <M as IntMul<Zero<Zero<N>>>>::Output: IntSub<Zero<N>>, M: IntMul<Zero<Zero<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Zero<N>>>>::Output as IntSub<Zero<N>>>::Output

Source§

impl<M, N: Int> IntMul<Zero<N>> for Plus<M>
where <M as IntMul<Zero<Zero<N>>>>::Output: IntAdd<Zero<N>>, M: IntMul<Zero<Zero<N>>> + Int,

Source§

type Output = <<M as IntMul<Zero<Zero<N>>>>::Output as IntAdd<Zero<N>>>::Output

Source§

impl<M, N: Int> IntMul<Zero<N>> for Zero<M>
where M: IntMul<Zero<Zero<N>>> + Int,

Source§

type Output = <M as IntMul<Zero<Zero<N>>>>::Output

Source§

impl<N: Int> IntMul<Minus<N>> for Term

Source§

impl<N: Int> IntMul<Minus<N>> for Undefined

Source§

impl<N: Int> IntMul<Plus<N>> for Term

Source§

impl<N: Int> IntMul<Plus<N>> for Undefined

Source§

impl<N: Int> IntMul<Term> for Minus<N>

Source§

impl<N: Int> IntMul<Term> for Plus<N>

Source§

impl<N: Int> IntMul<Term> for Zero<N>

Source§

impl<N: Int> IntMul<Undefined> for Minus<N>

Source§

impl<N: Int> IntMul<Undefined> for Plus<N>

Source§

impl<N: Int> IntMul<Undefined> for Zero<N>

Source§

impl<N: Int> IntMul<Zero<N>> for Term

Source§

impl<N: Int> IntMul<Zero<N>> for Undefined