From 916e1a5185cfd3e1a6947d9629f0294f099d996c Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Wed, 16 Oct 2019 16:48:18 +0900 Subject: [PATCH] Fix breakage with cfg-target-has-atomic feature --- futures-channel/src/lib.rs | 5 +--- futures-core/src/task/__internal/mod.rs | 10 ++----- futures-util/src/lib.rs | 5 +--- futures-util/src/stream/mod.rs | 20 +++----------- futures-util/src/try_stream/mod.rs | 10 ++----- futures/src/lib.rs | 35 +++++-------------------- 6 files changed, 17 insertions(+), 68 deletions(-) diff --git a/futures-channel/src/lib.rs b/futures-channel/src/lib.rs index ba8503e58e..9a16727e82 100644 --- a/futures-channel/src/lib.rs +++ b/futures-channel/src/lib.rs @@ -24,10 +24,7 @@ compile_error!("The `cfg-target-has-atomic` feature requires the `unstable` feat macro_rules! cfg_target_has_atomic { ($($item:item)*) => {$( - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] $item )*}; } diff --git a/futures-core/src/task/__internal/mod.rs b/futures-core/src/task/__internal/mod.rs index 24dd5d414f..77e3678075 100644 --- a/futures-core/src/task/__internal/mod.rs +++ b/futures-core/src/task/__internal/mod.rs @@ -1,10 +1,4 @@ -#[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] mod atomic_waker; -#[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] pub use self::atomic_waker::AtomicWaker; diff --git a/futures-util/src/lib.rs b/futures-util/src/lib.rs index 7c9faf83d0..b8fea1c4df 100644 --- a/futures-util/src/lib.rs +++ b/futures-util/src/lib.rs @@ -48,10 +48,7 @@ pub use futures_core::core_reexport; macro_rules! cfg_target_has_atomic { ($($item:item)*) => {$( - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] $item )*}; } diff --git a/futures-util/src/stream/mod.rs b/futures-util/src/stream/mod.rs index 39ea5e7663..82efe0d98b 100644 --- a/futures-util/src/stream/mod.rs +++ b/futures-util/src/stream/mod.rs @@ -685,10 +685,7 @@ pub trait StreamExt: Stream { /// fut.await; /// # }) /// ``` - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn for_each_concurrent( self, @@ -904,10 +901,7 @@ pub trait StreamExt: Stream { /// /// This method is only available when the `std` or `alloc` feature of this /// library is activated, and it is activated by default. - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn buffered(self, n: usize) -> Buffered where Self::Item: Future, @@ -951,10 +945,7 @@ pub trait StreamExt: Stream { /// assert_eq!(buffered.next().await, None); /// # Ok::<(), i32>(()) }).unwrap(); /// ``` - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn buffer_unordered(self, n: usize) -> BufferUnordered where Self::Item: Future, @@ -1085,10 +1076,7 @@ pub trait StreamExt: Stream { /// This method is only available when the `std` or `alloc` feature of this /// library is activated, and it is activated by default. #[cfg(feature = "sink")] - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn split(self) -> (SplitSink, SplitStream) where Self: Sink + Sized diff --git a/futures-util/src/try_stream/mod.rs b/futures-util/src/try_stream/mod.rs index d1f46117f2..dc353bc794 100644 --- a/futures-util/src/try_stream/mod.rs +++ b/futures-util/src/try_stream/mod.rs @@ -420,10 +420,7 @@ pub trait TryStreamExt: TryStream { /// assert_eq!(Err(oneshot::Canceled), fut.await); /// # }) /// ``` - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn try_for_each_concurrent( self, @@ -732,10 +729,7 @@ pub trait TryStreamExt: TryStream { /// assert_eq!(buffered.next().await, Some(Err("error in the stream"))); /// # Ok::<(), Box>(()) }).unwrap(); /// ``` - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] fn try_buffer_unordered(self, n: usize) -> TryBufferUnordered where Self::Ok: TryFuture, diff --git a/futures/src/lib.rs b/futures/src/lib.rs index 2a3df8ead8..56e65a9952 100644 --- a/futures/src/lib.rs +++ b/futures/src/lib.rs @@ -75,10 +75,7 @@ pub use futures_util::pin_mut; #[cfg(feature = "async-await")] pub use futures_util::{pending, poll}; // Async-await -#[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub mod channel { //! Cross-task communication. @@ -243,10 +240,7 @@ pub mod future { select_all, SelectAll, }; - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub use futures_util::future::{ abortable, Abortable, AbortHandle, AbortRegistration, Aborted, @@ -319,10 +313,7 @@ pub mod io { }; } -#[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub mod lock { //! Futures-powered synchronization primitives. @@ -438,10 +429,7 @@ pub mod stream { Chunks, }; - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub use futures_util::stream::{ FuturesOrdered, @@ -469,10 +457,7 @@ pub mod stream { IntoStream, }; - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub use futures_util::try_stream::{ // For TryStreamExt: @@ -509,17 +494,11 @@ pub mod task { #[cfg(feature = "alloc")] pub use futures_util::task::{SpawnExt, LocalSpawnExt}; - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] #[cfg(feature = "alloc")] pub use futures_util::task::{waker, waker_ref, WakerRef, ArcWake}; - #[cfg_attr( - feature = "cfg-target-has-atomic", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) - )] + #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] pub use futures_util::task::AtomicWaker; }