HandlerRef

Trait HandlerRef 

Source
pub trait HandlerRef<__Context__, Code, Input>: IsProviderFor<HandlerRefComponent, __Context__, (Code, Input)>
where __Context__: HasErrorType,
{ type Output; // Required method fn handle_ref( __context__: &__Context__, _tag: PhantomData<Code>, input: &Input, ) -> impl Future<Output = Result<Self::Output, __Context__::Error>>; }

Required Associated Types§

Required Methods§

Source

fn handle_ref( __context__: &__Context__, _tag: PhantomData<Code>, input: &Input, ) -> impl Future<Output = Result<Self::Output, __Context__::Error>>

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.

Implementations on Foreign Types§

Source§

impl<__Context__, Code, Input> HandlerRef<__Context__, Code, Input> for UseContext
where __Context__: HasErrorType + CanHandleRef<Code, Input>,

Source§

type Output = <__Context__ as CanHandleRef<Code, Input>>::Output

Source§

fn handle_ref( __context__: &__Context__, _tag: PhantomData<Code>, input: &Input, ) -> impl Future<Output = Result<Self::Output, __Context__::Error>>

Source§

impl<__Context__, Code, Input, __Components__, __Delegate__> HandlerRef<__Context__, Code, Input> for UseDelegate<__Components__>
where __Context__: HasErrorType, __Components__: DelegateComponent<Code, Delegate = __Delegate__>, __Delegate__: HandlerRef<__Context__, Code, Input>,

Source§

type Output = <__Delegate__ as HandlerRef<__Context__, Code, Input>>::Output

Source§

fn handle_ref( __context__: &__Context__, _tag: PhantomData<Code>, input: &Input, ) -> impl Future<Output = Result<Self::Output, __Context__::Error>>

Implementors§

Source§

impl<Context, Code, Input, Provider, Output> HandlerRef<Context, Code, Input> for PromoteRef<Provider>
where Context: HasErrorType, Provider: for<'a> Handler<Context, Code, &'a Input, Output = Output>,

Source§

type Output = Output

Source§

impl<__Component__, __Context__, Code, Input> HandlerRef<__Context__, Code, Input> for __Component__
where __Context__: HasErrorType, __Component__: DelegateComponent<HandlerRefComponent> + IsProviderFor<HandlerRefComponent, __Context__, (Code, Input)>, __Component__::Delegate: HandlerRef<__Context__, Code, Input>,

Source§

type Output = <<__Component__ as DelegateComponent<HandlerRefComponent>>::Delegate as HandlerRef<__Context__, Code, Input>>::Output

Source§

impl<__Context__, Code, Input, __Components__, __Delegate__> HandlerRef<__Context__, Code, Input> for UseInputDelegate<__Components__>
where __Context__: HasErrorType, __Components__: DelegateComponent<Input, Delegate = __Delegate__>, __Delegate__: HandlerRef<__Context__, Code, Input>,

Source§

type Output = <__Delegate__ as HandlerRef<__Context__, Code, Input>>::Output