Trait path_semantics_std::Path
[−]
[src]
pub trait Path<T> { type Lift; fn path_force(&self, arg: T) -> Self::Lift; fn path(&self, arg: T) -> Self::Lift
where
Self::Lift: ExPath<Lift = <<T as Constrain<Self::Lift>>::Lift as ExPath>::Lift>,
T: Constrain<Self::Lift>,
<T as Constrain<Self::Lift>>::Lift: ExPath,
Self: ExPath, { ... } }
Associated Types
type Lift
Required Methods
fn path_force(&self, arg: T) -> Self::Lift
Provided Methods
fn path(&self, arg: T) -> Self::Lift where
Self::Lift: ExPath<Lift = <<T as Constrain<Self::Lift>>::Lift as ExPath>::Lift>,
T: Constrain<Self::Lift>,
<T as Constrain<Self::Lift>>::Lift: ExPath,
Self: ExPath,
Self::Lift: ExPath<Lift = <<T as Constrain<Self::Lift>>::Lift as ExPath>::Lift>,
T: Constrain<Self::Lift>,
<T as Constrain<Self::Lift>>::Lift: ExPath,
Self: ExPath,
Can call method if the existential paths of constrained input matches.
Implementors
impl<T: Clone> Path<Not> for Or<T> where
Not<T>: ExPath, type Lift = And<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for And<T> where
Not<T>: ExPath, type Lift = Or<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Eq<bool, T> where
Not<T>: ExPath, type Lift = Xor<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Xor<T> where
Not<T>: ExPath, type Lift = Eq<bool, <<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Nor<T> where
Not<T>: ExPath, type Lift = Nand<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Nand<T> where
Not<T>: ExPath, type Lift = Nor<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Exc<T> where
Not<T>: ExPath, type Lift = Nrexc<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Nrexc<T> where
Not<T>: ExPath, type Lift = Exc<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Rexc<T> where
Not<T>: ExPath, type Lift = Nexc<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Not> for Nexc<T> where
Not<T>: ExPath, type Lift = Rexc<<<Not as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Even<u8>> for Add<u8, T> where
Even<u8, T>: ExPath, type Lift = Eq<bool, <<Even<u8> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Odd<u8>> for Add<u8, T> where
Odd<u8, T>: ExPath, type Lift = Xor<<<Odd<u8> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Even<u16>> for Add<u16, T> where
Even<u16, T>: ExPath, type Lift = Eq<bool, <<Even<u16> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Odd<u16>> for Add<u16, T> where
Odd<u16, T>: ExPath, type Lift = Xor<<<Odd<u16> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Even<u32>> for Add<u32, T> where
Even<u32, T>: ExPath, type Lift = Eq<bool, <<Even<u32> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Odd<u32>> for Add<u32, T> where
Odd<u32, T>: ExPath, type Lift = Xor<<<Odd<u32> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Even<u64>> for Add<u64, T> where
Even<u64, T>: ExPath, type Lift = Eq<bool, <<Even<u64> as Constrain<T>>::Lift as ExPath>::Lift>;impl<T: Clone> Path<Odd<u64>> for Add<u64, T> where
Odd<u64, T>: ExPath, type Lift = Xor<<<Odd<u64> as Constrain<T>>::Lift as ExPath>::Lift>;