From d40fe5f23dd390c56f65cf2df8201734fac75b75 Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Wed, 21 Aug 2019 01:42:31 +0900 Subject: [PATCH] Make async-await feature not depend on std feature --- .travis.yml | 3 ++- futures-util/Cargo.toml | 2 +- futures-util/src/lib.rs | 3 +++ futures/src/lib.rs | 5 +++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 93debacc12..6703227ce9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -126,7 +126,7 @@ matrix: - cargo build --manifest-path futures/Cargo.toml --target thumbv7m-none-eabi --no-default-features - --features nightly,alloc + --features alloc - name: cargo check (futures-util) rust: nightly @@ -150,6 +150,7 @@ matrix: - cargo check --manifest-path futures-util/Cargo.toml --no-default-features - cargo check --manifest-path futures-util/Cargo.toml --no-default-features --features sink - cargo check --manifest-path futures-util/Cargo.toml --no-default-features --features alloc,sink + - cargo check --manifest-path futures-util/Cargo.toml --no-default-features --features nightly,async-await - name: cargo doc rust: nightly diff --git a/futures-util/Cargo.toml b/futures-util/Cargo.toml index 617fcff471..3e25e62160 100644 --- a/futures-util/Cargo.toml +++ b/futures-util/Cargo.toml @@ -18,7 +18,7 @@ name = "futures_util" default = ["std"] std = ["alloc", "futures-core-preview/std", "slab"] alloc = ["futures-core-preview/alloc"] -async-await = ["std"] +async-await = [] compat = ["std", "futures_01"] io-compat = ["io", "compat", "tokio-io"] bench = [] diff --git a/futures-util/src/lib.rs b/futures-util/src/lib.rs index 4c52fe7c3f..b67594cc91 100644 --- a/futures-util/src/lib.rs +++ b/futures-util/src/lib.rs @@ -30,14 +30,17 @@ extern crate futures_core; pub use futures_core::ready; pub use pin_utils::pin_mut; +#[cfg(feature = "std")] #[cfg(feature = "async-await")] #[macro_use] #[doc(hidden)] pub mod async_await; +#[cfg(feature = "std")] #[cfg(feature = "async-await")] #[doc(hidden)] pub use self::async_await::*; +#[cfg(feature = "std")] #[cfg(feature = "select-macro")] #[doc(hidden)] pub mod rand_reexport { // used by select! diff --git a/futures/src/lib.rs b/futures/src/lib.rs index 9a9815912c..4bad774acc 100644 --- a/futures/src/lib.rs +++ b/futures/src/lib.rs @@ -67,6 +67,7 @@ compile_error!("The `cfg-target-has-atomic` feature requires the `nightly` featu // Macro reexports pub use futures_core::ready; // Readiness propagation pub use futures_util::pin_mut; +#[cfg(feature = "std")] #[cfg(feature = "async-await")] pub use futures_util::{pending, poll}; // Async-await @@ -515,10 +516,12 @@ pub mod never { // proc-macro re-export -------------------------------------- +#[cfg(feature = "std")] #[cfg(feature = "async-await")] #[doc(hidden)] pub use futures_util::rand_reexport; +#[cfg(feature = "std")] #[cfg(feature = "async-await")] #[doc(hidden)] pub mod inner_macro { @@ -527,6 +530,7 @@ pub mod inner_macro { pub use futures_util::select; } +#[cfg(feature = "std")] #[cfg(feature = "async-await")] futures_util::document_join_macro! { #[macro_export] @@ -550,6 +554,7 @@ futures_util::document_join_macro! { } } +#[cfg(feature = "std")] #[cfg(feature = "async-await")] futures_util::document_select_macro! { #[macro_export]