[−][src]Struct trait_eval::Succ
Peano-style increment operator
assert_eq!(Succ::<Six>::eval(), 7);
Trait Implementations
impl<T: Nat> Equals<Succ<T>> for Zero
[src]
impl<T: Nat, U: Nat> Equals<Succ<T>> for Succ<U> where
T: Equals<U>,
[src]
T: Equals<U>,
impl<T: Nat> Equals<Zero> for Succ<T>
[src]
impl<T: Nat> Eval for Succ<T> where
T: Eval<Output = usize>,
[src]
T: Eval<Output = usize>,
impl<T: Nat, U: Nat> Fact for Succ<T> where
T: Fact<Result = U>,
U: Times<Succ<T>>,
[src]
T: Fact<Result = U>,
U: Times<Succ<T>>,
impl<T: Nat, U: Bool, V: Nat, W: Nat> Fib for Succ<T> where
T: Equals<Zero, Result = U>,
Succ<T>: FibRecurse<Result = V>,
(One, V): If<U, Result = W>,
[src]
T: Equals<Zero, Result = U>,
Succ<T>: FibRecurse<Result = V>,
(One, V): If<U, Result = W>,
type Result = W
impl<T: Nat> LessThan<Succ<T>> for Zero
[src]
impl<T: Nat, U: Nat> LessThan<Succ<T>> for Succ<U> where
U: LessThan<T>,
[src]
U: LessThan<T>,
impl<T: Nat> LessThan<Zero> for Succ<T>
[src]
impl<T: Nat, U: Nat, V: Nat> Minus<Succ<T>> for U where
U: Minus<T, Result = V>,
V: Pred,
[src]
U: Minus<T, Result = V>,
V: Pred,
impl<T: Nat, U: Nat, V: Nat, W: Nat, C: Bool> Mod<T> for Succ<U> where
Self: Minus<T, Result = V> + LessThan<T, Result = C>,
V: Mod<T>,
(Self, <V as Mod<T>>::Result): If<C, Result = W>,
[src]
Self: Minus<T, Result = V> + LessThan<T, Result = C>,
V: Mod<T>,
(Self, <V as Mod<T>>::Result): If<C, Result = W>,
type Result = W
impl<T: Nat> Nat for Succ<T>
[src]
impl<T: Nat, U: Nat> Plus<T> for Succ<U> where
U: Plus<T>,
[src]
U: Plus<T>,
impl<T: Nat> Pred for Succ<T>
[src]
type Result = T
impl<T: Nat, U: Nat, V: Nat> Times<T> for Succ<U> where
U: Times<T, Result = V>,
V: Plus<T>,
[src]
U: Times<T, Result = V>,
V: Plus<T>,
Auto Trait Implementations
impl<T> RefUnwindSafe for Succ<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Succ<T> where
T: Send,
T: Send,
impl<T> Sync for Succ<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Succ<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Succ<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U, V> Minus<Succ<T>> for U where
T: Nat,
U: Nat + Minus<T, Result = V>,
V: Nat + Pred,
[src]
T: Nat,
U: Nat + Minus<T, Result = V>,
V: Nat + Pred,
impl<T, U, V> Minus<Succ<T>> for U where
T: Nat,
U: Nat + Minus<T, Result = V>,
V: Nat + Pred,
[src]
T: Nat,
U: Nat + Minus<T, Result = V>,
V: Nat + Pred,
impl<T> Minus<Zero> for T where
T: Nat,
[src]
T: Nat,
type Result = T
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,