Skip to main content

ComputerRef

Trait ComputerRef 

Source
pub trait ComputerRef<__Context__, Code, Input>: IsProviderFor<ComputerRefComponent, __Context__, (Code, Input)> {
    type Output;

    // Required method
    fn compute_ref(
        __context__: &__Context__,
        _code: PhantomData<Code>,
        input: &Input,
    ) -> Self::Output;
}

Required Associated Types§

Required Methods§

Source

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

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__> ComputerRef<__Context__, Code, Input> for UseDelegate<__Components__>
where __Components__: DelegateComponent<Code, Delegate = __Delegate__>, __Delegate__: ComputerRef<__Context__, Code, Input>,

Source§

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

Source§

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

Source§

impl<__Context__, Code, Input, __Components__, __Path__> ComputerRef<__Context__, Code, Input> for RedirectLookup<__Components__, __Path__>
where __Path__: ConcatPath<PathCons<Code, PathCons<Input, Nil>>>, __Components__: DelegateComponent<<__Path__ as ConcatPath<PathCons<Code, PathCons<Input, Nil>>>>::Output>, <__Components__ as DelegateComponent<<__Path__ as ConcatPath<PathCons<Code, PathCons<Input, Nil>>>>::Output>>::Delegate: ComputerRef<__Context__, Code, Input>,

Source§

type Output = <<__Components__ as DelegateComponent<<__Path__ as ConcatPath<PathCons<Code, PathCons<Input, Nil>>>>::Output>>::Delegate as ComputerRef<__Context__, Code, Input>>::Output

Source§

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

Source§

impl<__Context__, Code, Input> ComputerRef<__Context__, Code, Input> for UseContext
where __Context__: CanComputeRef<Code, Input>,

Source§

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

Source§

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

Implementors§

Source§

impl<Context, Code, Input, Provider, Output> ComputerRef<Context, Code, Input> for PromoteRef<Provider>
where Provider: for<'a> Computer<Context, Code, &'a Input, Output = Output>,

Source§

type Output = Output

Source§

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

Source§

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

Source§

impl<__Provider__, __Context__, Code, Input> ComputerRef<__Context__, Code, Input> for __Provider__
where __Provider__: DelegateComponent<ComputerRefComponent> + IsProviderFor<ComputerRefComponent, __Context__, (Code, Input)>, <__Provider__ as DelegateComponent<ComputerRefComponent>>::Delegate: ComputerRef<__Context__, Code, Input>,

Source§

type Output = <<__Provider__ as DelegateComponent<ComputerRefComponent>>::Delegate as ComputerRef<__Context__, Code, Input>>::Output