Struct MatchWithHandlers

Source
pub struct MatchWithHandlers<Handlers>(pub PhantomData<Handlers>);

Tuple Fields§

§0: PhantomData<Handlers>

Trait Implementations§

Source§

impl<Context, Code, Input, Output, Remainder, Handlers> Computer<Context, Code, Input> for MatchWithHandlers<Handlers>
where Input: HasExtractor, DispatchMatchers<Handlers>: Computer<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

type Output = Output

Source§

fn compute(_context: &Context, code: PhantomData<Code>, input: Input) -> Output

Source§

impl<Context, Code: Send, Input, Output: Send, Remainder, Handlers> Handler<Context, Code, Input> for MatchWithHandlers<Handlers>
where Context: HasAsyncErrorType, Input: HasExtractor<Extractor: Send> + Send, DispatchMatchers<Handlers>: Handler<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract + Send,

Source§

type Output = Output

Source§

async fn handle( _context: &Context, code: PhantomData<Code>, input: Input, ) -> Result<Output, Context::Error>

Source§

impl<Context, Code, Input, Output, Remainder, Handlers> TryComputer<Context, Code, Input> for MatchWithHandlers<Handlers>
where Context: HasErrorType, Input: HasExtractor, DispatchMatchers<Handlers>: TryComputer<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

type Output = Output

Source§

fn try_compute( _context: &Context, code: PhantomData<Code>, input: Input, ) -> Result<Output, Context::Error>

Source§

impl<Context, Code, Input, Output, Remainder, Handlers> IsProviderFor<ComputerComponent, Context, (Code, Input)> for MatchWithHandlers<Handlers>
where Input: HasExtractor, DispatchMatchers<Handlers>: IsProviderFor<ComputerComponent, Context, (Code, Input::Extractor)> + Computer<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

impl<Context, Code: Send, Input, Output: Send, Remainder, Handlers> IsProviderFor<HandlerComponent, Context, (Code, Input)> for MatchWithHandlers<Handlers>
where Context: HasAsyncErrorType, Input: HasExtractor<Extractor: Send> + Send, DispatchMatchers<Handlers>: IsProviderFor<HandlerComponent, Context, (Code, Input::Extractor)> + Handler<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract + Send,

Source§

impl<Context, Code, Input, Output, Remainder, Handlers> IsProviderFor<TryComputerComponent, Context, (Code, Input)> for MatchWithHandlers<Handlers>
where Context: HasErrorType, Input: HasExtractor, DispatchMatchers<Handlers>: IsProviderFor<TryComputerComponent, Context, (Code, Input::Extractor)> + TryComputer<Context, Code, Input::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Auto Trait Implementations§

§

impl<Handlers> Freeze for MatchWithHandlers<Handlers>

§

impl<Handlers> RefUnwindSafe for MatchWithHandlers<Handlers>
where Handlers: RefUnwindSafe,

§

impl<Handlers> Send for MatchWithHandlers<Handlers>
where Handlers: Send,

§

impl<Handlers> Sync for MatchWithHandlers<Handlers>
where Handlers: Sync,

§

impl<Handlers> Unpin for MatchWithHandlers<Handlers>
where Handlers: Unpin,

§

impl<Handlers> UnwindSafe for MatchWithHandlers<Handlers>
where Handlers: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Builder, Source, Output> CanBuildFrom<Source> for Builder
where Source: HasFields + IntoBuilder, <Source as HasFields>::Fields: FieldsBuilder<<Source as IntoBuilder>::Builder, Builder, Output = Output>,

Source§

type Output = Output

Source§

fn build_from(self, source: Source) -> Output

Source§

impl<Source, Target, Remainder> CanDowncastFields<Target> for Source
where Target: HasFields, <Target as HasFields>::Fields: FieldsExtractor<Source, Target, Remainder = Remainder>,

Source§

type Remainder = Remainder

Source§

fn downcast_fields( self, _tag: PhantomData<Target>, ) -> Result<Target, <Source as CanDowncastFields<Target>>::Remainder>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<A> Async for A
where A: Send + Sync,