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__ as HasErrorType>::Error>; }

Required Associated Types§

Required Methods§

Source

fn try_compute( __context__: &__Context__, _code: PhantomData<Code>, input: Input, ) -> Result<Self::Output, <__Context__ as HasErrorType>::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, Builder, Provider, Output, Res> TryComputer<Context, Code, Builder> for BuildAndMerge<Provider>
where Context: HasErrorType, Provider: for<'a> TryComputer<Context, Code, &'a Builder, Output = Res>, Builder: CanBuildFrom<Res, Output = Output>,

Source§

type Output = Output

Source§

fn try_compute( context: &Context, code: PhantomData<Code>, builder: Builder, ) -> Result<<BuildAndMerge<Provider> as TryComputer<Context, Code, Builder>>::Output, <Context as HasErrorType>::Error>

Source§

impl<Context, Code, Input, Output, Builder, Handlers, Res> TryComputer<Context, Code, Input> for BuildWithHandlers<Output, Handlers>
where Context: HasErrorType, Output: HasBuilder<Builder = Builder>, PipeHandlers<Handlers>: TryComputer<Context, Code, Builder, Output = Res>, Res: FinalizeBuild<Target = Output>,

Source§

type Output = Output

Source§

fn try_compute( context: &Context, code: PhantomData<Code>, _input: Input, ) -> Result<<BuildWithHandlers<Output, Handlers> as TryComputer<Context, Code, Input>>::Output, <Context as HasErrorType>::Error>

Source§

impl<Context, Code, Tag, Value, Provider, Output, Builder> TryComputer<Context, Code, Builder> for BuildAndSetField<Tag, Provider>
where Context: HasErrorType, Provider: for<'a> TryComputer<Context, Code, &'a Builder, Output = Value>, Builder: BuildField<Tag, Value = Value, Output = Output>,

Source§

type Output = Output

Source§

fn try_compute( context: &Context, code: PhantomData<Code>, builder: Builder, ) -> Result<<BuildAndSetField<Tag, Provider> as TryComputer<Context, Code, Builder>>::Output, <Context as HasErrorType>::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<<UseContext as TryComputer<__Context__, Code, Input>>::Output, <__Context__ as HasErrorType>::Error>

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<<UseDelegate<__Components__> as TryComputer<__Context__, Code, Input>>::Output, <__Context__ as HasErrorType>::Error>

Implementors§

Source§

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

Source§

type Output = Input

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 as HasErrorType>::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 as TryComputer<Context, Code, Input>>::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<__Component__, __Context__, Code, Input> TryComputer<__Context__, Code, Input> for __Component__
where __Context__: HasErrorType, __Component__: DelegateComponent<TryComputerComponent> + IsProviderFor<TryComputerComponent, __Context__, (Code, Input)>, <__Component__ as DelegateComponent<TryComputerComponent>>::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