Rust Futures are broken down into two main traits:
core::future::Future
: Representing the minimal required implementation for an asyncronous task. This is, notably, part ofcore
and always available, even withoutalloc
.future::future::FutureExt
: A large collection of functionality you might expect or want as a programmer.
You'll also find a bunch of handy functions just vibing in futures::future
.
Let's take a look!
What is a Future
anyways?
Creating Futures from thin air
The laziest possible future we can make, is a futures::future::lazy
. It's right there in the name.
It takes a closure and runs it later poll it.
use Future;
use block_on;
async