Trait IntSub

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

Integer subtraction. Used as Sub<X, Y> or <X as IntSub<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 IntSub<Term> for Term

Source§

impl IntSub<Term> for Undefined

Source§

impl IntSub<Undefined> for Term

Source§

impl IntSub<Undefined> for Undefined

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<N> IntSub<Minus<N>> for Term
where N: IntNeg + Int,

Source§

impl<N> IntSub<Plus<N>> for Term
where N: IntNeg + Int,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<N: Int> IntSub<Term> for Zero<N>
where Zero<N>: Unique,

Source§

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

Source§

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

Source§

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

Source§

impl<N: Int> IntSub<Zero<N>> for Term
where Zero<N>: IntNeg,

Source§

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