await has been used outside async function or async block.
Erroneous code example:
fn foo() {
wake_and_yield_once().await // `await` is used outside `async` context
}Runawait is used to suspend the current computation until the given
future is ready to produce a value. So it is legal only within
an async context, like an async function or an async block.
async fn foo() {
wake_and_yield_once().await // `await` is used within `async` function
}
fn bar(x: u8) -> impl Future<Output = u8> {
async move {
wake_and_yield_once().await; // `await` is used within `async` block
x
}
}Run