Trait linera_witty::Merge

source ·
pub trait Merge<Other>: Sized {
    type Output;
}
Expand description

Merging of two heterogeneous lists, resulting in a new heterogeneous list where every element is of type Either<Left, Right>, where Left is an element from the current list and Right is an element from the Other list.

Required Associated Types§

source

type Output

The resulting heterogeneous list with elements of both input lists.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Merge<HNil> for HNil

§

type Output = HNil

source§

impl<Head, Tail> Merge<HCons<Head, Tail>> for HNil
where HNil: Merge<Tail>,

§

type Output = HCons<Either<(), Head>, <HNil as Merge<Tail>>::Output>

source§

impl<Head, Tail> Merge<HNil> for HCons<Head, Tail>
where Tail: Merge<HNil>,

§

type Output = HCons<Either<Head, ()>, <Tail as Merge<HNil>>::Output>

source§

impl<LeftHead, LeftTail, RightHead, RightTail> Merge<HCons<RightHead, RightTail>> for HCons<LeftHead, LeftTail>
where LeftTail: Merge<RightTail>,

§

type Output = HCons<Either<LeftHead, RightHead>, <LeftTail as Merge<RightTail>>::Output>