diff --git a/tower-layer/Cargo.toml b/tower-layer/Cargo.toml index dfe3dee93..0b085ce9d 100644 --- a/tower-layer/Cargo.toml +++ b/tower-layer/Cargo.toml @@ -1,8 +1,6 @@ [package] name = "tower-layer" # When releasing to crates.io: -# - Remove path dependencies -# - Update html_root_url. # - Update doc url # - Cargo.toml # - README.md diff --git a/tower-layer/src/lib.rs b/tower-layer/src/lib.rs index 36245e028..218737550 100644 --- a/tower-layer/src/lib.rs +++ b/tower-layer/src/lib.rs @@ -1,4 +1,3 @@ -#![doc(html_root_url = "https://docs.rs/tower-layer/0.3.1")] #![warn( missing_debug_implementations, missing_docs, diff --git a/tower-service/Cargo.toml b/tower-service/Cargo.toml index 8670a6922..d336b00cc 100644 --- a/tower-service/Cargo.toml +++ b/tower-service/Cargo.toml @@ -1,8 +1,6 @@ [package] name = "tower-service" # When releasing to crates.io: -# - Remove path dependencies -# - Update html_root_url. # - Update doc url # - Cargo.toml # - README.md diff --git a/tower-service/src/lib.rs b/tower-service/src/lib.rs index 974568e3b..c2f531e1a 100644 --- a/tower-service/src/lib.rs +++ b/tower-service/src/lib.rs @@ -1,4 +1,3 @@ -#![doc(html_root_url = "https://docs.rs/tower-service/0.3.1")] #![warn( missing_debug_implementations, missing_docs, diff --git a/tower-test/Cargo.toml b/tower-test/Cargo.toml index 9d5767218..2c01cae21 100644 --- a/tower-test/Cargo.toml +++ b/tower-test/Cargo.toml @@ -1,8 +1,6 @@ [package] name = "tower-test" # When releasing to crates.io: -# - Remove path dependencies -# - Update html_root_url. # - Update doc url # - Cargo.toml # - README.md diff --git a/tower-test/src/lib.rs b/tower-test/src/lib.rs index 7b7da48bd..d86ed3e60 100644 --- a/tower-test/src/lib.rs +++ b/tower-test/src/lib.rs @@ -1,4 +1,3 @@ -#![doc(html_root_url = "https://docs.rs/tower-test/0.4.0")] #![warn( missing_debug_implementations, missing_docs, diff --git a/tower/Cargo.toml b/tower/Cargo.toml index f6cd032ac..9ed88177b 100644 --- a/tower/Cargo.toml +++ b/tower/Cargo.toml @@ -1,8 +1,6 @@ [package] name = "tower" # When releasing to crates.io: -# - Remove path dependencies -# - Update html_root_url. # - Update doc url # - Cargo.toml # - README.md @@ -25,6 +23,10 @@ edition = "2018" [features] default = ["log"] + +# Internal +__common = ["futures-core", "pin-project-lite"] + full = [ "balance", "buffer", @@ -43,30 +45,30 @@ full = [ "timeout", "util", ] +# FIXME: Use weak dependency once available (https://github.com/rust-lang/cargo/issues/8832) log = ["tracing/log"] -balance = ["discover", "load", "ready-cache", "make", "rand", "slab", "tokio-stream"] -buffer = ["tokio/sync", "tokio/rt", "tokio-util", "tracing"] -discover = [] -filter = ["futures-util"] +balance = ["discover", "load", "ready-cache", "make", "rand", "slab"] +buffer = ["__common", "tokio/sync", "tokio/rt", "tokio-util", "tracing"] +discover = ["__common"] +filter = ["__common", "futures-util"] hedge = ["util", "filter", "futures-util", "hdrhistogram", "tokio/time", "tracing"] -limit = ["tokio/time", "tokio/sync", "tokio-util", "tracing"] -load = ["tokio/time", "tracing"] -load-shed = [] -make = ["tokio/io-std", "futures-util"] -ready-cache = ["futures-util", "indexmap", "tokio/sync", "tracing"] +limit = ["__common", "tokio/time", "tokio/sync", "tokio-util", "tracing"] +load = ["__common", "tokio/time", "tracing"] +load-shed = ["__common"] +make = ["futures-util", "pin-project-lite", "tokio/io-std"] +ready-cache = ["futures-core", "futures-util", "indexmap", "tokio/sync", "tracing"] reconnect = ["make", "tokio/io-std", "tracing"] -retry = ["tokio/time"] -spawn-ready = ["futures-util", "tokio/sync", "tokio/rt", "util", "tracing"] -steer = ["futures-util"] -timeout = ["tokio/time"] -util = ["futures-util"] +retry = ["__common", "tokio/time"] +spawn-ready = ["__common", "futures-util", "tokio/sync", "tokio/rt", "util", "tracing"] +steer = [] +timeout = ["pin-project-lite", "tokio/time"] +util = ["__common", "futures-util", "pin-project"] [dependencies] -futures-core = "0.3" -pin-project = "1" tower-layer = { version = "0.3.1", path = "../tower-layer" } tower-service = { version = "0.3.1", path = "../tower-service" } +futures-core = { version = "0.3", optional = true } futures-util = { version = "0.3", default-features = false, features = ["alloc"], optional = true } hdrhistogram = { version = "7.0", optional = true } indexmap = { version = "1.0.2", optional = true } @@ -76,11 +78,13 @@ tokio = { version = "1", optional = true, features = ["sync"] } tokio-stream = { version = "0.1.0", optional = true } tokio-util = { version = "0.6.3", default-features = false, optional = true } tracing = { version = "0.1.2", default-features = false, features = ["std"], optional = true } -pin-project-lite = "0.2.7" +pin-project = { version = "1", optional = true } +pin-project-lite = { version = "0.2.7", optional = true } [dev-dependencies] futures = "0.3" hdrhistogram = "7.0" +pin-project-lite = "0.2.7" tokio = { version = "1", features = ["macros", "sync", "test-util", "rt-multi-thread"] } tokio-stream = "0.1" tokio-test = "0.4" diff --git a/tower/src/lib.rs b/tower/src/lib.rs index e5d963ef9..c7aa3c0be 100644 --- a/tower/src/lib.rs +++ b/tower/src/lib.rs @@ -1,4 +1,3 @@ -#![doc(html_root_url = "https://docs.rs/tower/0.4.11")] #![warn( missing_debug_implementations, missing_docs,