pub struct DowncastAndHandle<Input, Provider = UseContext>(pub PhantomData<(Input, Provider)>);Tuple Fields§
§0: PhantomData<(Input, Provider)>Trait Implementations§
Source§impl<Context, Code, Input, Provider, Inner, Output, Remainder> AsyncComputer<Context, Code, Input> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: AsyncComputer<Context, Code, Inner, Output = Output>,
impl<Context, Code, Input, Provider, Inner, Output, Remainder> AsyncComputer<Context, Code, Input> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: AsyncComputer<Context, Code, Inner, Output = Output>,
type Output = Result<Output, Remainder>
async fn compute_async( context: &Context, tag: PhantomData<Code>, input: Input, ) -> Result<Output, Remainder>
Source§impl<Context, Code, Input, Provider, Inner, Output, Remainder> Computer<Context, Code, Input> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: Computer<Context, Code, Inner, Output = Output>,
impl<Context, Code, Input, Provider, Inner, Output, Remainder> Computer<Context, Code, Input> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: Computer<Context, Code, Inner, Output = Output>,
impl<Context, Code, Input, Provider, Inner, Output, Remainder> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, Inner)> + AsyncComputer<Context, Code, Inner, Output = Output>,
impl<Context, Code, Input, Provider, Inner, Output, Remainder> IsProviderFor<ComputerComponent, Context, (Code, Input)> for DowncastAndHandle<Inner, Provider>where
Input: CanDowncastFields<Inner, Remainder = Remainder>,
Provider: IsProviderFor<ComputerComponent, Context, (Code, Inner)> + Computer<Context, Code, Inner, Output = Output>,
Auto Trait Implementations§
impl<Input, Provider> Freeze for DowncastAndHandle<Input, Provider>
impl<Input, Provider> RefUnwindSafe for DowncastAndHandle<Input, Provider>where
Input: RefUnwindSafe,
Provider: RefUnwindSafe,
impl<Input, Provider> Send for DowncastAndHandle<Input, Provider>
impl<Input, Provider> Sync for DowncastAndHandle<Input, Provider>
impl<Input, Provider> Unpin for DowncastAndHandle<Input, Provider>
impl<Input, Provider> UnwindSafe for DowncastAndHandle<Input, Provider>where
Input: UnwindSafe,
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