[package]
name = "async-std"
version = "1.6.3"
authors = [
  "Stjepan Glavina <stjepang@gmail.com>",
  "Yoshua Wuyts <yoshuawuyts@gmail.com>",
  "Friedel Ziegelmayer <me@dignifiedquire.com>",
  "Contributors to async-std",
]
edition = "2018"
license = "Apache-2.0/MIT"
repository = "https://github.com/async-rs/async-std"
homepage = "https://async.rs"
documentation = "https://docs.rs/async-std"
description = "Async version of the Rust standard library"
keywords = ["async", "await", "future", "std", "task"]
categories = ["asynchronous", "concurrency", "network-programming"]
readme = "README.md"

[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "feature=\"docs\""]

[features]
default = [
  "std",
  "async-executor",
  "async-io",
  "async-task",
  "blocking",
  "futures-lite",
  "kv-log-macro",
  "log",
  "num_cpus",
  "pin-project-lite",
]
docs = ["attributes", "unstable", "default"]
unstable = [
  "std",
  "futures-timer",
]
attributes = ["async-attributes"]
std = [
  "alloc",
  "crossbeam-utils",
  "futures-core/std",
  "futures-io",
  "memchr",
  "once_cell",
  "pin-utils",
  "slab",
  "wasm-bindgen-futures",
  "futures-channel",
  "async-mutex",
]
alloc = [
  "futures-core/alloc",
  "pin-project-lite",
]
tokio02 = ["tokio"]

[dependencies]
async-attributes = { version = "1.1.1", optional = true }
async-task = { version = "3.0.0", optional = true }
async-mutex = { version = "1.1.3", optional = true }
crossbeam-utils = { version = "0.7.2", optional = true }
futures-core = { version = "0.3.4", optional = true, default-features = false }
futures-io = { version = "0.3.4", optional = true }
kv-log-macro = { version = "1.0.6", optional = true }
log = { version = "0.4.8", features = ["kv_unstable"], optional = true }
memchr = { version = "2.3.3", optional = true }
num_cpus = { version = "1.12.0", optional = true }
once_cell = { version = "1.3.1", optional = true }
pin-project-lite = { version = "0.1.4", optional = true }
pin-utils = { version = "0.1.0-alpha.4", optional = true }
slab = { version = "0.4.2", optional = true }
futures-timer = { version = "3.0.2", optional = true }

# Devdepencency, but they are not allowed to be optional :/
surf = { version = "1.0.3", optional = true }

[target.'cfg(not(target_os = "unknown"))'.dependencies]
async-executor = { version = "0.1.2", features = ["async-io"], optional = true }
async-io = { version = "0.1.8", optional = true }
blocking = { version = "0.5.2", optional = true }
futures-lite = { version = "0.1.8", optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
futures-timer = { version = "3.0.2", optional = true, features = ["wasm-bindgen"] }
wasm-bindgen-futures = { version = "0.4.10", optional = true }
futures-channel = { version = "0.3.4", optional = true }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.10"

[dependencies.tokio]
version = "0.2"
default-features = false
features = ["rt-threaded"]
optional = true

[dev-dependencies]
femme = "1.3.0"
rand = "0.7.3"
tempdir = "0.3.7"
futures = "0.3.4"
rand_xorshift = "0.2.0"

[[test]]
name = "stream"
required-features = ["unstable"]

[[example]]
name = "tcp-ipv4-and-6-echo"
required-features = ["unstable"]

[[example]]
name = "surf-web"
required-features = ["surf"]