From 6232c74724ab05fe164e95a8985065f44b5973bd Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Wed, 29 Jan 2020 11:16:58 -0800 Subject: [PATCH] macros: correctly feature gate join/try_join (#2196) The `macros` feature flag was ommitted despite the fact that these macros require the feature flag to function. The macros are now scoped by the `macros` feature flag. This is *not* a breaking change due to the fact that the macros were broken without the `macros` feature flag in the first place. --- tokio/src/macros/join.rs | 1 + tokio/src/macros/mod.rs | 20 ++++++++++---------- tokio/src/macros/select.rs | 1 + tokio/src/macros/try_join.rs | 1 + 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/tokio/src/macros/join.rs b/tokio/src/macros/join.rs index 68da021e7..5f37af510 100644 --- a/tokio/src/macros/join.rs +++ b/tokio/src/macros/join.rs @@ -53,6 +53,7 @@ /// } /// ``` #[macro_export] +#[cfg_attr(docsrs, doc(cfg(feature = "macros")))] macro_rules! join { (@ { // One `_` for each branch in the `join!` macro. This is not used once diff --git a/tokio/src/macros/mod.rs b/tokio/src/macros/mod.rs index 85420d215..a37b3e49d 100644 --- a/tokio/src/macros/mod.rs +++ b/tokio/src/macros/mod.rs @@ -7,9 +7,6 @@ mod assert; #[macro_use] mod cfg; -#[macro_use] -mod join; - #[macro_use] mod loom; @@ -19,16 +16,19 @@ mod pin; #[macro_use] mod ready; -cfg_macros! { - #[macro_use] - mod select; -} - #[macro_use] mod thread_local; -#[macro_use] -mod try_join; +cfg_macros! { + #[macro_use] + mod select; + + #[macro_use] + mod join; + + #[macro_use] + mod try_join; +} // Includes re-exports needed to implement macros #[doc(hidden)] diff --git a/tokio/src/macros/select.rs b/tokio/src/macros/select.rs index ddb16f5d7..30b2b171c 100644 --- a/tokio/src/macros/select.rs +++ b/tokio/src/macros/select.rs @@ -281,6 +281,7 @@ /// } /// ``` #[macro_export] +#[cfg_attr(docsrs, doc(cfg(feature = "macros")))] macro_rules! select { // Uses a declarative macro to do **most** of the work. While it is possible // to implement fully with a declarative macro, a procedural macro is used diff --git a/tokio/src/macros/try_join.rs b/tokio/src/macros/try_join.rs index 9624e7f6f..fa5850ef0 100644 --- a/tokio/src/macros/try_join.rs +++ b/tokio/src/macros/try_join.rs @@ -60,6 +60,7 @@ /// } /// ``` #[macro_export] +#[cfg_attr(docsrs, doc(cfg(feature = "macros")))] macro_rules! try_join { (@ { // One `_` for each branch in the `try_join!` macro. This is not used once