[][src]Trait eff::coproduct::Uninject

pub trait Uninject<E, Index> where
    E: Effect
{ type Remainder; fn uninject(self) -> Result<(E, TypedContext<E>), Self::Remainder>; }

A trait for destructing a coproduct into an effect and a task context

Associated Types

type Remainder

The other effect types of this coproduct

Loading content...

Required methods

fn uninject(self) -> Result<(E, TypedContext<E>), Self::Remainder>

Retrieve an effect and a sender from self if the type matches

Errors

If self holds an effect of a different type, this method returns an error

Loading content...

Implementors

impl<E, F, Rest, Index> Uninject<E, Succ<Index>> for Either<F, Rest> where
    E: Effect,
    F: Effect,
    Rest: Uninject<E, Index>, 
[src]

type Remainder = Either<F, <Rest as Uninject<E, Index>>::Remainder>

impl<E, Rest> Uninject<E, Zero> for Either<E, Rest> where
    E: Effect
[src]

type Remainder = Rest

Loading content...