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", so this trait is not object safe.

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<__Component__, __Context__, Code, Input> ComputerRef<__Context__, Code, Input> for __Component__
where __Component__: DelegateComponent<ComputerRefComponent> + IsProviderFor<ComputerRefComponent, __Context__, (Code, Input)>, <__Component__ as DelegateComponent<ComputerRefComponent>>::Delegate: ComputerRef<__Context__, Code, Input>,

Source§

type Output = <<__Component__ as DelegateComponent<ComputerRefComponent>>::Delegate as ComputerRef<__Context__, Code, Input>>::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§

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§

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