1[package]
2name = "futures-util"
3version = "0.3.30"
4edition = "2018"
5rust-version = "1.56"
6license = "MIT OR Apache-2.0"
7repository = "https://github.com/rust-lang/futures-rs"
8homepage = "https://rust-lang.github.io/futures-rs"
9description = """
10Common utilities and extension traits for the futures-rs library.
11"""
12
13[features]
14default = ["std", "async-await", "async-await-macro"]
15std = ["alloc", "futures-core/std", "futures-task/std", "slab"]
16alloc = ["futures-core/alloc", "futures-task/alloc"]
17async-await = []
18async-await-macro = ["async-await", "futures-macro"]
19compat = ["std", "futures_01"]
20io-compat = ["io", "compat", "tokio-io"]
21sink = ["futures-sink"]
22io = ["std", "futures-io", "memchr"]
23channel = ["std", "futures-channel"]
24portable-atomic = ["futures-core/portable-atomic"]
25
26# Unstable features
27# These features are outside of the normal semver guarantees and require the
28# `unstable` feature as an explicit opt-in to unstable API.
29unstable = ["futures-core/unstable", "futures-task/unstable"]
30bilock = []
31write-all-vectored = ["io"]
32
33# These features are no longer used.
34# TODO: remove in the next major version.
35cfg-target-has-atomic = []
36
37[dependencies]
38futures-core = { path = "../futures-core", version = "0.3.30", default-features = false }
39futures-task = { path = "../futures-task", version = "0.3.30", default-features = false }
40futures-channel = { path = "../futures-channel", version = "0.3.30", default-features = false, features = ["std"], optional = true }
41futures-io = { path = "../futures-io", version = "0.3.30", default-features = false, features = ["std"], optional = true }
42futures-sink = { path = "../futures-sink", version = "0.3.30", default-features = false, optional = true }
43futures-macro = { path = "../futures-macro", version = "=0.3.30", default-features = false, optional = true }
44slab = { version = "0.4.2", optional = true }
45memchr = { version = "2.2", optional = true }
46futures_01 = { version = "0.1.25", optional = true, package = "futures" }
47tokio-io = { version = "0.1.9", optional = true }
48pin-utils = "0.1.0"
49pin-project-lite = "0.2.6"
50
51[dev-dependencies]
52futures = { path = "../futures", features = ["async-await", "thread-pool"] }
53futures-test = { path = "../futures-test" }
54tokio = "0.1.11"
55
56[package.metadata.docs.rs]
57all-features = true
58rustdoc-args = ["--cfg", "docsrs"]
59