[−][src]Macro maybe_std::task::ready
🔬 This is a nightly-only experimental API. (
ready_macro
)Extracts the successful type of a Poll<T>
.
This macro bakes in propagation of Pending
signals by returning early.
Examples
#![feature(ready_macro)] use core::task::{ready, Context, Poll}; use core::future::{self, Future}; use core::pin::Pin; pub fn do_poll(cx: &mut Context<'_>) -> Poll<()> { let mut fut = future::ready(42); let fut = Pin::new(&mut fut); let num = ready!(fut.poll(cx)); // ... use num Poll::Ready(()) }
The ready!
call expands to:
let num = match fut.poll(cx) { Poll::Ready(t) => t, Poll::Pending => return Poll::Pending, };