struct Inner<Fut: Future> {
future_or_output: UnsafeCell<FutureOrOutput<Fut>>,
notifier: Arc<Notifier>,
}
Fields§
§future_or_output: UnsafeCell<FutureOrOutput<Fut>>
§notifier: Arc<Notifier>
Implementations§
source§impl<Fut> Inner<Fut>where
Fut: Future,
Fut::Output: Clone,
impl<Fut> Inner<Fut>where Fut: Future, Fut::Output: Clone,
sourcefn record_waker(&self, waker_key: &mut usize, cx: &mut Context<'_>)
fn record_waker(&self, waker_key: &mut usize, cx: &mut Context<'_>)
Registers the current task to receive a wakeup when we are awoken.
sourceunsafe fn take_or_clone_output(self: Arc<Self>) -> Fut::Output
unsafe fn take_or_clone_output(self: Arc<Self>) -> Fut::Output
Safety: callers must first ensure that inner.state
is COMPLETE
Trait Implementations§
impl<Fut> Send for Inner<Fut>where Fut: Future + Send, Fut::Output: Send + Sync,
impl<Fut> Sync for Inner<Fut>where Fut: Future + Send, Fut::Output: Send + Sync,
Auto Trait Implementations§
impl<Fut> !RefUnwindSafe for Inner<Fut>
impl<Fut> Unpin for Inner<Fut>where Fut: Unpin, <Fut as Future>::Output: Unpin,
impl<Fut> UnwindSafe for Inner<Fut>where Fut: UnwindSafe, <Fut as Future>::Output: 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