# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
rust-version = "1.71"
name = "futures-util"
version = "0.3.32"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Common utilities and extension traits for the futures-rs library.
"""
homepage = "https://rust-lang.github.io/futures-rs"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/futures-rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
alloc = [
    "futures-core/alloc",
    "futures-task/alloc",
    "slab",
]
async-await = []
async-await-macro = [
    "async-await",
    "futures-macro",
]
bilock = []
cfg-target-has-atomic = []
channel = [
    "std",
    "futures-channel",
]
compat = [
    "std",
    "futures_01",
    "libc",
]
default = [
    "std",
    "async-await",
    "async-await-macro",
]
io = [
    "std",
    "futures-io",
    "memchr",
]
io-compat = [
    "io",
    "compat",
    "tokio-io",
    "libc",
]
portable-atomic = ["futures-core/portable-atomic"]
sink = ["futures-sink"]
std = [
    "alloc",
    "futures-core/std",
    "futures-task/std",
    "slab/std",
]
unstable = [
    "futures-core/unstable",
    "futures-task/unstable",
]
write-all-vectored = ["io"]

[lib]
name = "futures_util"
path = "src/lib.rs"

[[bench]]
name = "bilock"
path = "benches/bilock.rs"

[[bench]]
name = "flatten_unordered"
path = "benches/flatten_unordered.rs"

[[bench]]
name = "futures_unordered"
path = "benches/futures_unordered.rs"

[[bench]]
name = "select"
path = "benches/select.rs"

[dependencies.futures-channel]
version = "0.3.32"
features = ["std"]
optional = true
default-features = false

[dependencies.futures-core]
version = "0.3.32"
default-features = false

[dependencies.futures-io]
version = "0.3.32"
features = ["std"]
optional = true
default-features = false

[dependencies.futures-macro]
version = "=0.3.32"
optional = true
default-features = false

[dependencies.futures-sink]
version = "0.3.32"
optional = true
default-features = false

[dependencies.futures-task]
version = "0.3.32"
default-features = false

[dependencies.futures_01]
version = "0.1.25"
optional = true
package = "futures"

[dependencies.libc]
version = "0.2.26"
optional = true

[dependencies.memchr]
version = "2.2"
optional = true

[dependencies.pin-project-lite]
version = "0.2.6"

[dependencies.slab]
version = "0.4.7"
optional = true
default-features = false

[dependencies.spin]
version = "0.10.0"
optional = true

[dependencies.tokio-io]
version = "0.1.9"
optional = true

[dev-dependencies.tokio]
version = "0.1.11"

[lints.rust]
missing_debug_implementations = "warn"
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
unreachable_pub = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(futures_sanitizer)"]
