pub struct ComposeHandlers<ProviderA, ProviderB>(pub PhantomData<(ProviderA, ProviderB)>);Tuple Fields§
§0: PhantomData<(ProviderA, ProviderB)>Trait Implementations§
Source§impl<Context, Code, Input, ProviderA, ProviderB> AsyncComputer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: AsyncComputer<Context, Code, Input>,
ProviderB: AsyncComputer<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> AsyncComputer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: AsyncComputer<Context, Code, Input>,
ProviderB: AsyncComputer<Context, Code, ProviderA::Output>,
type Output = <ProviderB as AsyncComputer<Context, Code, <ProviderA as AsyncComputer<Context, Code, Input>>::Output>>::Output
async fn compute_async( context: &Context, code: PhantomData<Code>, input: Input, ) -> Self::Output
Source§impl<Context, Code, Input, ProviderA, ProviderB> Computer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>
impl<Context, Code, Input, ProviderA, ProviderB> Computer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>
Source§impl<Context, Code, Input, ProviderA, ProviderB> Handler<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: Handler<Context, Code, Input>,
ProviderB: Handler<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> Handler<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: Handler<Context, Code, Input>,
ProviderB: Handler<Context, Code, ProviderA::Output>,
Source§impl<Context, Code, Input, ProviderA, ProviderB> TryComputer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: TryComputer<Context, Code, Input>,
ProviderB: TryComputer<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> TryComputer<Context, Code, Input> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: TryComputer<Context, Code, Input>,
ProviderB: TryComputer<Context, Code, ProviderA::Output>,
type Output = <ProviderB as TryComputer<Context, Code, <ProviderA as TryComputer<Context, Code, Input>>::Output>>::Output
fn try_compute( context: &Context, code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, Context::Error>
impl<Context, Code, Input, ProviderA, ProviderB> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> + AsyncComputer<Context, Code, Input>,
ProviderB: IsProviderFor<AsyncComputerComponent, Context, (Code, ProviderA::Output)> + AsyncComputer<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> IsProviderFor<ComputerComponent, Context, (Code, Input)> for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: IsProviderFor<ComputerComponent, Context, (Code, Input)> + Computer<Context, Code, Input>,
ProviderB: IsProviderFor<ComputerComponent, Context, (Code, ProviderA::Output)> + Computer<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> IsProviderFor<HandlerComponent, Context, (Code, Input)> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: IsProviderFor<HandlerComponent, Context, (Code, Input)> + Handler<Context, Code, Input>,
ProviderB: IsProviderFor<HandlerComponent, Context, (Code, ProviderA::Output)> + Handler<Context, Code, ProviderA::Output>,
impl<Context, Code, Input, ProviderA, ProviderB> IsProviderFor<TryComputerComponent, Context, (Code, Input)> for ComposeHandlers<ProviderA, ProviderB>where
Context: HasErrorType,
ProviderA: IsProviderFor<TryComputerComponent, Context, (Code, Input)> + TryComputer<Context, Code, Input>,
ProviderB: IsProviderFor<TryComputerComponent, Context, (Code, ProviderA::Output)> + TryComputer<Context, Code, ProviderA::Output>,
Auto Trait Implementations§
impl<ProviderA, ProviderB> Freeze for ComposeHandlers<ProviderA, ProviderB>
impl<ProviderA, ProviderB> RefUnwindSafe for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: RefUnwindSafe,
ProviderB: RefUnwindSafe,
impl<ProviderA, ProviderB> Send for ComposeHandlers<ProviderA, ProviderB>
impl<ProviderA, ProviderB> Sync for ComposeHandlers<ProviderA, ProviderB>
impl<ProviderA, ProviderB> Unpin for ComposeHandlers<ProviderA, ProviderB>
impl<ProviderA, ProviderB> UnwindSafe for ComposeHandlers<ProviderA, ProviderB>where
ProviderA: UnwindSafe,
ProviderB: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more