pub struct PromoteRef<Provider>(pub PhantomData<Provider>);Tuple Fields§
§0: PhantomData<Provider>Trait Implementations§
Source§impl<Context, Code, Input, Target, Provider> AsyncComputer<Context, Code, Input> for PromoteRef<Provider>where
Provider: AsyncComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Target, Provider> AsyncComputer<Context, Code, Input> for PromoteRef<Provider>where
Provider: AsyncComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
type Output = <Provider as AsyncComputerRef<Context, Code, Target>>::Output
async fn compute_async( context: &Context, tag: PhantomData<Code>, input: Input, ) -> Self::Output
Source§impl<Context, Code, Input, Provider, Output> AsyncComputerRef<Context, Code, Input> for PromoteRef<Provider>where
Provider: for<'a> AsyncComputer<Context, Code, &'a Input, Output = Output>,
impl<Context, Code, Input, Provider, Output> AsyncComputerRef<Context, Code, Input> for PromoteRef<Provider>where
Provider: for<'a> AsyncComputer<Context, Code, &'a Input, Output = Output>,
type Output = Output
async fn compute_async_ref( context: &Context, tag: PhantomData<Code>, input: &Input, ) -> Self::Output
Source§impl<Context, Code, Input, Target, Provider> Computer<Context, Code, Input> for PromoteRef<Provider>where
Provider: ComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Target, Provider> Computer<Context, Code, Input> for PromoteRef<Provider>where
Provider: ComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
Source§impl<Context, Code, Input, Provider, Output> ComputerRef<Context, Code, Input> for PromoteRef<Provider>
impl<Context, Code, Input, Provider, Output> ComputerRef<Context, Code, Input> for PromoteRef<Provider>
type Output = Output
fn compute_ref( context: &Context, tag: PhantomData<Code>, input: &Input, ) -> Self::Output
Source§impl<Context, Code, Input, Target, Provider> Handler<Context, Code, Input> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: HandlerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Target, Provider> Handler<Context, Code, Input> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: HandlerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
Source§impl<Context, Code, Input, Provider, Output> HandlerRef<Context, Code, Input> for PromoteRef<Provider>
impl<Context, Code, Input, Provider, Output> HandlerRef<Context, Code, Input> for PromoteRef<Provider>
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>,
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>,
type Output = <Provider as TryComputerRef<Context, Code, Target>>::Output
fn try_compute( context: &Context, tag: PhantomData<Code>, input: Input, ) -> Result<Self::Output, Context::Error>
Source§impl<Context, Code, Input, Provider, Output> TryComputerRef<Context, Code, Input> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: for<'a> TryComputer<Context, Code, &'a Input, Output = Output>,
impl<Context, Code, Input, Provider, Output> TryComputerRef<Context, Code, Input> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: for<'a> TryComputer<Context, Code, &'a Input, Output = Output>,
impl<Context, Code, Input, Target, Provider> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Provider: AsyncComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Provider, Output> IsProviderFor<AsyncComputerRefComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Provider: for<'a> AsyncComputer<Context, Code, &'a Input, Output = Output>,
impl<Context, Code, Input, Target, Provider> IsProviderFor<ComputerComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Provider: ComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Provider, Output> IsProviderFor<ComputerRefComponent, Context, (Code, Input)> for PromoteRef<Provider>
impl<Context, Code, Input, Target, Provider> IsProviderFor<HandlerComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: HandlerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Provider, Output> IsProviderFor<HandlerRefComponent, Context, (Code, Input)> for PromoteRef<Provider>
impl<Context, Code, Input, Target, Provider> IsProviderFor<TryComputerComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: TryComputerRef<Context, Code, Target>,
Input: Deref<Target = Target>,
impl<Context, Code, Input, Provider, Output> IsProviderFor<TryComputerRefComponent, Context, (Code, Input)> for PromoteRef<Provider>where
Context: HasErrorType,
Provider: for<'a> TryComputer<Context, Code, &'a Input, Output = Output>,
Auto Trait Implementations§
impl<Provider> Freeze for PromoteRef<Provider>
impl<Provider> RefUnwindSafe for PromoteRef<Provider>where
Provider: RefUnwindSafe,
impl<Provider> Send for PromoteRef<Provider>where
Provider: Send,
impl<Provider> Sync for PromoteRef<Provider>where
Provider: Sync,
impl<Provider> Unpin for PromoteRef<Provider>where
Provider: Unpin,
impl<Provider> UnwindSafe for PromoteRef<Provider>where
Provider: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more