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 ofcoreand 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