1[package]
2name = "futures"
3version = "0.3.31"
4edition = "2018"
5rust-version = "1.56"
6license = "MIT OR Apache-2.0"
7readme = "../README.md"
8keywords = ["futures", "async", "future"]
9repository = "https://github.com/rust-lang/futures-rs"
10homepage = "https://rust-lang.github.io/futures-rs"
11description = """
12An implementation of futures and streams featuring zero allocations,
13composability, and iterator-like interfaces.
14"""
15categories = ["asynchronous"]
16
17[dependencies]
18futures-core = { path = "../futures-core", version = "0.3.31", default-features = false }
19futures-task = { path = "../futures-task", version = "0.3.31", default-features = false }
20futures-channel = { path = "../futures-channel", version = "0.3.31", default-features = false, features = ["sink"] }
21futures-executor = { path = "../futures-executor", version = "0.3.31", default-features = false, optional = true }
22futures-io = { path = "../futures-io", version = "0.3.31", default-features = false }
23futures-sink = { path = "../futures-sink", version = "0.3.31", default-features = false }
24futures-util = { path = "../futures-util", version = "0.3.31", default-features = false, features = ["sink"] }
25
26[dev-dependencies]
27futures-executor = { path = "../futures-executor", features = ["thread-pool"] }
28futures-test = { path = "../futures-test" }
29assert_matches = "1.3.0"
30pin-project = "1.0.11"
31static_assertions = "1"
32tokio = "0.1.11"
33
34[features]
35default = ["std", "async-await", "executor"]
36std = ["alloc", "futures-core/std", "futures-task/std", "futures-io/std", "futures-sink/std", "futures-util/std", "futures-util/io", "futures-util/channel"]
37alloc = ["futures-core/alloc", "futures-task/alloc", "futures-sink/alloc", "futures-channel/alloc", "futures-util/alloc"]
38async-await = ["futures-util/async-await", "futures-util/async-await-macro"]
39compat = ["std", "futures-util/compat"]
40io-compat = ["compat", "futures-util/io-compat"]
41executor = ["std", "futures-executor/std"]
42thread-pool = ["executor", "futures-executor/thread-pool"]
43
44# Unstable features
45# These features are outside of the normal semver guarantees and require the
46# `unstable` feature as an explicit opt-in to unstable API.
47unstable = ["futures-core/unstable", "futures-task/unstable", "futures-channel/unstable", "futures-io/unstable", "futures-util/unstable"]
48bilock = ["futures-util/bilock"]
49write-all-vectored = ["futures-util/write-all-vectored"]
50
51# These features are no longer used.
52# TODO: remove in the next major version.
53cfg-target-has-atomic = []
54
55[package.metadata.docs.rs]
56all-features = true
57rustdoc-args = ["--cfg", "docsrs"]
58
59[package.metadata.playground]
60features = ["std", "async-await", "compat", "io-compat", "executor", "thread-pool"]
61
62[lints]
63workspace = true
64