[][src]Trait frunk::hlist::Plucker

pub trait Plucker<Target, Index> {
    type Remainder;
    fn pluck(self) -> (Target, Self::Remainder);

Trait defining extraction from a given HList

This trait is part of the implementation of the inherent method HCons::pluck. Please see that method for more information.

You only need to import this trait when working with generic HLists of unknown type. If you have an HList of known type, then list.pluck() should "just work" even without the trait.

Associated Types

What is left after you pluck the target from the Self

Required Methods

Remove an element by type from an HList.

Please see the inherent method for more information.

The only difference between that inherent method and this trait method is the location of the type parameters. (here, they are on the trait rather than the method)


impl<Head, Tail, FromTail, TailIndex> Plucker<FromTail, There<TailIndex>> for HCons<Head, Tail> where
    Tail: Plucker<FromTail, TailIndex>, 

Implementation when the pluck target is in the tail

impl<T, Tail> Plucker<T, Here> for HCons<T, Tail>

Implementation when the pluck target is in head