From 5325417694881d044a0b8335fd8cea3e96e41e1e Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Tue, 5 Nov 2019 18:13:14 +0900 Subject: [PATCH] Revert "Move AtomicWaker from futures-core to futures-task" This reverts commit dd664a39a7d3b384c30ecc436cd8279b9c7713fd. --- futures-channel/Cargo.toml | 5 ++--- futures-channel/src/mpsc/mod.rs | 2 +- .../src/task/__internal}/atomic_waker.rs | 0 futures-core/src/task/__internal/mod.rs | 4 ++++ futures-core/src/task/mod.rs | 9 +++++++++ futures-core/src/{task.rs => task/poll.rs} | 4 ---- futures-task/src/lib.rs | 5 ----- futures-util/src/stream/futures_unordered/mod.rs | 3 ++- futures-util/src/task/mod.rs | 2 +- 9 files changed, 19 insertions(+), 15 deletions(-) rename {futures-task/src => futures-core/src/task/__internal}/atomic_waker.rs (100%) create mode 100644 futures-core/src/task/__internal/mod.rs create mode 100644 futures-core/src/task/mod.rs rename futures-core/src/{task.rs => task/poll.rs} (80%) diff --git a/futures-channel/Cargo.toml b/futures-channel/Cargo.toml index cc6a68db40..d45d946c84 100644 --- a/futures-channel/Cargo.toml +++ b/futures-channel/Cargo.toml @@ -23,12 +23,11 @@ sink = ["futures-sink-preview"] # Unstable features # These features are outside of the normal semver guarantees and require the # `unstable` feature as an explicit opt-in to unstable API. -unstable = ["futures-core-preview/unstable", "futures-task-preview/unstable"] -cfg-target-has-atomic = ["futures-core-preview/cfg-target-has-atomic", "futures-task-preview/cfg-target-has-atomic"] +unstable = ["futures-core-preview/unstable"] +cfg-target-has-atomic = ["futures-core-preview/cfg-target-has-atomic"] [dependencies] futures-core-preview = { path = "../futures-core", version = "=0.3.0-alpha.19", default-features = false } -futures-task-preview = { path = "../futures-task", version = "=0.3.0-alpha.19", default-features = false } futures-sink-preview = { path = "../futures-sink", version = "=0.3.0-alpha.19", default-features = false, optional = true } [dev-dependencies] diff --git a/futures-channel/src/mpsc/mod.rs b/futures-channel/src/mpsc/mod.rs index f731ed3bc3..e9961e522c 100644 --- a/futures-channel/src/mpsc/mod.rs +++ b/futures-channel/src/mpsc/mod.rs @@ -80,7 +80,7 @@ use futures_core::stream::{FusedStream, Stream}; use futures_core::task::{Context, Poll, Waker}; -use futures_task::AtomicWaker; +use futures_core::task::__internal::AtomicWaker; use std::fmt; use std::pin::Pin; use std::sync::{Arc, Mutex}; diff --git a/futures-task/src/atomic_waker.rs b/futures-core/src/task/__internal/atomic_waker.rs similarity index 100% rename from futures-task/src/atomic_waker.rs rename to futures-core/src/task/__internal/atomic_waker.rs diff --git a/futures-core/src/task/__internal/mod.rs b/futures-core/src/task/__internal/mod.rs new file mode 100644 index 0000000000..77e3678075 --- /dev/null +++ b/futures-core/src/task/__internal/mod.rs @@ -0,0 +1,4 @@ +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] +mod atomic_waker; +#[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] +pub use self::atomic_waker::AtomicWaker; diff --git a/futures-core/src/task/mod.rs b/futures-core/src/task/mod.rs new file mode 100644 index 0000000000..362b376e04 --- /dev/null +++ b/futures-core/src/task/mod.rs @@ -0,0 +1,9 @@ +//! Task notification. + +#[macro_use] +mod poll; + +#[doc(hidden)] +pub mod __internal; + +pub use core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable}; diff --git a/futures-core/src/task.rs b/futures-core/src/task/poll.rs similarity index 80% rename from futures-core/src/task.rs rename to futures-core/src/task/poll.rs index 3b7aa04114..fc61683e76 100644 --- a/futures-core/src/task.rs +++ b/futures-core/src/task/poll.rs @@ -1,7 +1,3 @@ -//! Task notification. - -pub use core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable}; - /// Extracts the successful type of a `Poll`. /// /// This macro bakes in propagation of `Pending` signals by returning early. diff --git a/futures-task/src/lib.rs b/futures-task/src/lib.rs index 7efc685e59..18e6c02fda 100644 --- a/futures-task/src/lib.rs +++ b/futures-task/src/lib.rs @@ -30,11 +30,6 @@ mod spawn; pub use crate::spawn::{Spawn, SpawnError, LocalSpawn}; cfg_target_has_atomic! { - #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] - mod atomic_waker; - #[cfg_attr(feature = "cfg-target-has-atomic", cfg(target_has_atomic = "ptr"))] - pub use crate::atomic_waker::AtomicWaker; - #[cfg(feature = "alloc")] mod arc_wake; #[cfg(feature = "alloc")] diff --git a/futures-util/src/stream/futures_unordered/mod.rs b/futures-util/src/stream/futures_unordered/mod.rs index 9be98b91ad..ff4efa8321 100644 --- a/futures-util/src/stream/futures_unordered/mod.rs +++ b/futures-util/src/stream/futures_unordered/mod.rs @@ -6,7 +6,8 @@ use futures_core::future::Future; use futures_core::stream::{FusedStream, Stream}; use futures_core::task::{Context, Poll}; -use futures_task::{FutureObj, LocalFutureObj, AtomicWaker, Spawn, LocalSpawn, SpawnError}; +use futures_task::{FutureObj, LocalFutureObj, Spawn, LocalSpawn, SpawnError}; +use crate::task::AtomicWaker; use core::cell::UnsafeCell; use core::fmt::{self, Debug}; use core::iter::FromIterator; diff --git a/futures-util/src/task/mod.rs b/futures-util/src/task/mod.rs index 1a1d1cab30..fb3b7adacd 100644 --- a/futures-util/src/task/mod.rs +++ b/futures-util/src/task/mod.rs @@ -10,7 +10,7 @@ cfg_target_has_atomic! { #[cfg(feature = "alloc")] pub use futures_task::{waker_ref, WakerRef}; - pub use futures_task::AtomicWaker; + pub use futures_core::task::__internal::AtomicWaker; } mod spawn;