/futures-rs

Zero-cost futures and streams in Rust

Primary LanguageRustApache License 2.0Apache-2.0

futures-rs

Zero-cost asynchronous programming in Rust

Build Status Crates.io

Documentation | Website

Usage

Add this to your Cargo.toml:

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

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.16", 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 can make it cannot compile. To use futures-rs with async/await, use:

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

The current async-await feature requires Rust nightly 2019-05-09 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.