[package] name = "futures-util" version = "0.3.33" edition = "2018" # NB: Sync with "Usage" section in README.md and util-msrv job in .github/workflows/ci.yml rust-version = "1.71" license = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/futures-rs" homepage = "https://rust-lang.github.io/futures-rs" description = """ Common utilities and extension traits for the futures-rs library. """ [features] default = ["std", "async-await", "async-await-macro"] std = ["alloc", "futures-core/std", "futures-task/std", "slab/std"] alloc = ["futures-core/alloc", "futures-task/alloc", "slab"] async-await = [] async-await-macro = ["async-await", "futures-macro"] compat = ["std", "futures_01", "libc"] io-compat = ["io", "compat", "tokio-io", "libc"] sink = ["futures-sink"] io = ["std", "futures-io", "memchr"] channel = ["std", "futures-channel"] portable-atomic = ["futures-core/portable-atomic", "portable_atomic_crate"] portable-atomic-alloc = ["portable-atomic-util/alloc", "portable-atomic"] # Unstable features # These features are outside of the normal semver guarantees and require the # `unstable` feature as an explicit opt-in to unstable API. unstable = ["futures-core/unstable", "futures-task/unstable"] bilock = [] write-all-vectored = ["io"] # These features are no longer used. # TODO: remove in the next major version. cfg-target-has-atomic = [] [dependencies] futures-core = { path = "../futures-core", version = "0.3.33", default-features = false } futures-task = { path = "../futures-task", version = "0.3.33", default-features = false } futures-channel = { path = "../futures-channel", version = "0.3.33", default-features = false, features = ["std"], optional = true } futures-io = { path = "../futures-io", version = "0.3.33", default-features = false, features = ["std"], optional = true } futures-sink = { path = "../futures-sink", version = "0.3.33", default-features = false, optional = true } futures-macro = { path = "../futures-macro", version = "=0.3.33", default-features = false, optional = true } slab = { version = "0.4.7", default-features = false, optional = true } memchr = { version = "2.2", optional = true } futures_01 = { version = "0.1.25", optional = true, package = "futures" } tokio-io = { version = "0.1.9", optional = true } pin-project-lite = "0.2.6" spin = { version = "0.12.0", optional = true } portable-atomic-util = { version = "0.2.7", default-features = false, optional = true } # INDIRECT DEPENDENCYS BUT ONLY FOR SPECIFIC MINIMAL VERSIONS libc = { version = "0.2.26", optional = true } [dependencies.portable_atomic_crate] package = "portable-atomic" version = "1.13.1" default-features = false optional = true [dev-dependencies] futures = { path = "../futures", features = ["async-await", "thread-pool"] } futures-test = { path = "../futures-test" } tokio = "0.1.11" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints] workspace = true