Skip to main content

TryComputer

Trait TryComputer 

Source
pub trait TryComputer<__Context__, Code, Input>: IsProviderFor<TryComputerComponent, __Context__, (Code, Input)>
where __Context__: HasErrorType,
{ type Output; // Required method fn try_compute( __context__: &__Context__, _code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, __Context__::Error>; }

Required Associated Types§

Required Methods§

Source

fn try_compute( __context__: &__Context__, _code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, __Context__::Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

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

Source§

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

Source§

fn try_compute( __context__: &__Context__, _code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, __Context__::Error>

Source§

impl<__Context__, Code, Input> TryComputer<__Context__, Code, Input> for UseContext
where __Context__: HasErrorType + CanTryCompute<Code, Input>,

Source§

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

Source§

fn try_compute( __context__: &__Context__, _code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, __Context__::Error>

Implementors§

Source§

impl<Context, Code, Input, Output, Provider> TryComputer<Context, Code, Input> for Promote<Provider>
where Context: HasErrorType, Provider: Computer<Context, Code, Input, Output = Output>,

Source§

type Output = Output

Source§

impl<Context, Code, Input, Output, Provider> TryComputer<Context, Code, Input> for TryPromote<Provider>
where Context: HasErrorType, Provider: Computer<Context, Code, Input, Output = Result<Output, Context::Error>>,

Source§

type Output = 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>,

Source§

type Output = <ProviderB as TryComputer<Context, Code, <ProviderA as TryComputer<Context, Code, Input>>::Output>>::Output

Source§

impl<Context, Code, Input, Target, Provider> TryComputer<Context, Code, Input> for PromoteRef<Provider>
where Context: HasErrorType, Provider: TryComputerRef<Context, Code, Target>, Input: Deref<Target = Target>,

Source§

type Output = <Provider as TryComputerRef<Context, Code, Target>>::Output

Source§

impl<Context, Code, Input> TryComputer<Context, Code, Input> for ReturnInput
where Context: HasErrorType,

Source§

type Output = Input

Source§

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

Source§

type Output = <<__Component__ as DelegateComponent<TryComputerComponent>>::Delegate as TryComputer<__Context__, Code, Input>>::Output

Source§

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

Source§

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