[][src]Trait higher::Lift

pub trait Lift<A, B> {
    type Source;
    type Target1;
}

Lift lets you construct a type T<B> from a type T<A>.

If you have a type T<A> which implements Lift<A, B>, you can derive the type T<B> using <T<A> as Lift<A, B>>::Target1.

The type T<A> is also available as the Source associated type, if you should need it.

Associated Types

type Source

type Target1

Loading content...

Implementations on Foreign Types

impl<A, B> Lift<A, B> for Option<A>[src]

type Source = Self

type Target1 = Option<B>

impl<A, B, E> Lift<A, B> for Result<A, E>[src]

type Source = Self

type Target1 = Result<B, E>

impl<A, B> Lift<A, B> for Vec<A>[src]

type Source = Self

type Target1 = Vec<B>

impl<A, B, S> Lift<A, B> for HashSet<A, S>[src]

type Source = Self

type Target1 = HashSet<B, S>

impl<A, B> Lift<A, B> for BTreeSet<A>[src]

type Source = Self

type Target1 = BTreeSet<B>

impl<A, B, C, D, S> Lift<(A, B), (C, D)> for HashMap<A, B, S>[src]

type Source = Self

type Target1 = HashMap<C, D, S>

impl<A, B, C, D> Lift<(A, B), (C, D)> for BTreeMap<A, B>[src]

type Source = Self

type Target1 = BTreeMap<C, D>

impl<A, B> Lift<A, B> for VecDeque<A>[src]

type Source = Self

type Target1 = VecDeque<B>

impl<A, B> Lift<A, B> for LinkedList<A>[src]

type Source = Self

type Target1 = LinkedList<B>

impl<A, B> Lift<A, B> for BinaryHeap<A>[src]

type Source = Self

type Target1 = BinaryHeap<B>

Loading content...

Implementors

impl<F, A, B, C> Lift<A, B> for F where
    F: Fn(A) -> C, 
[src]

type Source = Self

type Target1 = Box<dyn Fn(B) -> C>

Loading content...