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.

Implementations on Foreign Types§

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

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

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__::Delegate: ComputerRef<__Context__, Code, Input>,

Source§

type Output = <<__Component__ as DelegateComponent<ComputerRefComponent>>::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