An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces.


Keywords
futures, async, future
Licenses
MIT/Apache-2.0

Documentation

futures-rs

Zero-cost asynchronous programming in Rust

Build Status Crates.io Rustc Version

Documentation | Website

Usage

Add this to your Cargo.toml:

[dependencies]
futures-preview = "=0.3.0-alpha.18"

Now, you can use futures-rs:

use futures::future::Future; // Note: It's not `futures_preview`

The current futures-rs requires Rust 1.36 or later.

Feature std

Futures-rs works without the standard library, such as in bare metal environments. However, it has a significantly reduced API surface. To use futures-rs in a #[no_std] environment, use:

[dependencies]
futures-preview = { version = "=0.3.0-alpha.18", default-features = false }

Feature async-await

The async-await feature provides several convenient features using unstable async/await. Note that this is an unstable feature, and upstream changes might prevent it from compiling. To use futures-rs with async/await, use:

[dependencies]
futures-preview = { version = "=0.3.0-alpha.18", features = ["async-await", "nightly"] }

The current async-await feature requires Rust nightly 2019-07-29 or later.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in futures-rs by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.