[][src]Trait trait_eval::Times

pub trait Times<T: Nat>: Nat {
    type Result: Nat;
}

Multiplication

It's time to get timesing and compile-time! That sounded way cooler in my head.

assert_eq!(<Four as Times<Three>>::Result::eval(), 12);
assert_eq!(<Seven as Times<One>>::Result::eval(), 7);
assert_eq!(<Three as Times<Three>>::Result::eval(), 9);
assert_eq!(<Two as Times<Three>>::Result::eval(), 6);
assert_eq!(<Six as Times<Seven>>::Result::eval(), 42);

Associated Types

type Result: Nat

Loading content...

Implementors

impl<T: Nat> Times<T> for Zero[src]

type Result = Zero

impl<T: Nat, U: Nat, V: Nat> Times<T> for Succ<U> where
    U: Times<T, Result = V>,
    V: Plus<T>, 
[src]

type Result = V::Result

Loading content...