linera_witty

Trait Merge

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

Merging of two heterogeneous lists, resulting in a new heterogenous 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.

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 Merge<HNil> for HNil

Source§

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

Source§

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

Source§

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

Source§

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>,

Source§

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