diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index c60296707..9d1679d50 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -7,7 +7,7 @@ on: pull_request: {} env: - MSRV: 1.49.0 + MSRV: 1.63.0 jobs: check-stable: diff --git a/README.md b/README.md index 31a2357a9..a0716a42f 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ pattern. If your protocol is entirely stream based, Tower may not be a good fit. Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at least** 6 months. When increasing the MSRV, the new Rust version must have been -released at least six months ago. The current MSRV is 1.49.0. +released at least six months ago. The current MSRV is 1.63.0. ## Getting Started diff --git a/deny.toml b/deny.toml index 83988ef34..111567196 100644 --- a/deny.toml +++ b/deny.toml @@ -2,7 +2,6 @@ vulnerability = "deny" unmaintained = "warn" notice = "warn" -ignore = ["RUSTSEC-2020-0159"] [licenses] unlicensed = "deny" diff --git a/tower/Cargo.toml b/tower/Cargo.toml index 96269dc80..3e199a844 100644 --- a/tower/Cargo.toml +++ b/tower/Cargo.toml @@ -20,7 +20,7 @@ clients and servers. categories = ["asynchronous", "network-programming"] keywords = ["io", "async", "non-blocking", "futures", "service"] edition = "2018" -rust-version = "1.49.0" +rust-version = "1.63.0" [features] @@ -71,7 +71,7 @@ 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, default-features = false } -indexmap = { version = "1.0.2", optional = true } +indexmap = { version = "2.0.2", optional = true } slab = { version = "0.4", optional = true } tokio = { version = "1.6", optional = true, features = ["sync"] } tokio-stream = { version = "0.1.0", optional = true } diff --git a/tower/README.md b/tower/README.md index f5bc7d01e..b277f7433 100644 --- a/tower/README.md +++ b/tower/README.md @@ -174,7 +174,7 @@ Tower. Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at least** 6 months. When increasing the MSRV, the new Rust version must have been -released at least six months ago. The current MSRV is 1.49.0. +released at least six months ago. The current MSRV is 1.63.0. ## License diff --git a/tower/src/lib.rs b/tower/src/lib.rs index 073fd016f..a509b89cb 100644 --- a/tower/src/lib.rs +++ b/tower/src/lib.rs @@ -144,7 +144,7 @@ //! //! Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at //! least** 6 months. When increasing the MSRV, the new Rust version must have been -//! released at least six months ago. The current MSRV is 1.49.0. +//! released at least six months ago. The current MSRV is 1.63.0. //! //! [`Service`]: crate::Service //! [`Layer`]: crate::Layer @@ -202,15 +202,20 @@ pub mod layer; #[cfg(feature = "util")] #[doc(inline)] +#[cfg_attr(docsrs, doc(cfg(feature = "util")))] pub use self::util::{service_fn, ServiceExt}; #[doc(inline)] pub use crate::builder::ServiceBuilder; + #[cfg(feature = "make")] #[doc(inline)] +#[cfg_attr(docsrs, doc(cfg(feature = "make")))] pub use crate::make::MakeService; + #[doc(inline)] pub use tower_layer::Layer; + #[doc(inline)] pub use tower_service::Service; diff --git a/tower/src/ready_cache/cache.rs b/tower/src/ready_cache/cache.rs index 282f2bb83..304047881 100644 --- a/tower/src/ready_cache/cache.rs +++ b/tower/src/ready_cache/cache.rs @@ -193,7 +193,7 @@ where } /// Obtains a mutable reference to a service in the ready set by index. - pub fn get_ready_index_mut(&mut self, idx: usize) -> Option<(&mut K, &mut S)> { + pub fn get_ready_index_mut(&mut self, idx: usize) -> Option<(&K, &mut S)> { self.ready.get_index_mut(idx).map(|(k, v)| (k, &mut v.0)) } diff --git a/tower/src/reconnect/mod.rs b/tower/src/reconnect/mod.rs index 80c6c2eb0..0062fe398 100644 --- a/tower/src/reconnect/mod.rs +++ b/tower/src/reconnect/mod.rs @@ -49,7 +49,7 @@ where M: Service, { /// Lazily connect and reconnect to a [`Service`]. - pub const fn new(mk_service: M, target: Target) -> Self { + pub const fn new(mk_service: M, target: Target) -> Self { Reconnect { mk_service, state: State::Idle, @@ -59,7 +59,7 @@ where } /// Reconnect to a already connected [`Service`]. - pub fn with_connection(init_conn: M::Response, mk_service: M, target: Target) -> Self { + pub const fn with_connection(init_conn: M::Response, mk_service: M, target: Target) -> Self { Reconnect { mk_service, state: State::Connected(init_conn),