Skip to content

Commit

Permalink
Move FutureObj from futures-core to futures-task
Browse files Browse the repository at this point in the history
  • Loading branch information
taiki-e authored and cramertj committed Nov 5, 2019
1 parent 6323794 commit cc31f31
Show file tree
Hide file tree
Showing 15 changed files with 30 additions and 28 deletions.
3 changes: 0 additions & 3 deletions futures-core/src/future/mod.rs → futures-core/src/future.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ use core::task::{Context, Poll};

pub use core::future::Future;

mod future_obj;
pub use self::future_obj::{FutureObj, LocalFutureObj, UnsafeFutureObj};

/// An owned dynamically typed [`Future`] for use in cases where you can't
/// statically type your result or need to add some indirection.
#[cfg(feature = "alloc")]
Expand Down
8 changes: 4 additions & 4 deletions futures-executor/src/local_pool.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
use crate::enter;
use futures_core::future::{Future, FutureObj, LocalFutureObj};
use futures_core::stream::{Stream};
use futures_core::future::Future;
use futures_core::stream::Stream;
use futures_core::task::{Context, Poll};
use futures_task::{Spawn, LocalSpawn, SpawnError};
use futures_util::task::{waker_ref, ArcWake};
use futures_task::{FutureObj, LocalFutureObj, Spawn, LocalSpawn, SpawnError};
use futures_task::{waker_ref, ArcWake};
use futures_util::stream::FuturesUnordered;
use futures_util::stream::StreamExt;
use futures_util::pin_mut;
Expand Down
6 changes: 3 additions & 3 deletions futures-executor/src/thread_pool.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use crate::enter;
use crate::unpark_mutex::UnparkMutex;
use futures_core::future::{Future, FutureObj};
use futures_core::future::Future;
use futures_core::task::{Context, Poll};
use futures_task::{Spawn, SpawnError};
use futures_task::{FutureObj, Spawn, SpawnError};
use futures_task::{ArcWake, waker_ref};
use futures_util::future::FutureExt;
use futures_util::task::{ArcWake, waker_ref};
use std::cmp;
use std::fmt;
use std::io;
Expand Down
File renamed without changes.
4 changes: 3 additions & 1 deletion futures-task/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,12 @@ cfg_target_has_atomic! {
pub use crate::waker_ref::{waker_ref, WakerRef};
}

mod future_obj;
pub use crate::future_obj::{FutureObj, LocalFutureObj, UnsafeFutureObj};

mod noop_waker;
pub use crate::noop_waker::noop_waker;
#[cfg(feature = "std")]
pub use crate::noop_waker::noop_waker_ref;

pub use futures_core::future::{FutureObj, LocalFutureObj};
pub use futures_core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable};
2 changes: 1 addition & 1 deletion futures-task/src/spawn.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::{FutureObj, LocalFutureObj};
use core::fmt;
use futures_core::future::{FutureObj, LocalFutureObj};

/// The `Spawn` trait allows for pushing futures onto an executor that will
/// run them to completion.
Expand Down
3 changes: 1 addition & 2 deletions futures-test/src/task/noop_spawner.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use futures_core::future::FutureObj;
use futures_task::{Spawn, SpawnError};
use futures_task::{Spawn, SpawnError, FutureObj};

/// An implementation of [`Spawn`](futures_core::task::Spawn) that
/// discards spawned futures when used.
Expand Down
3 changes: 1 addition & 2 deletions futures-test/src/task/panic_spawner.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use futures_core::future::FutureObj;
use futures_task::{Spawn, SpawnError};
use futures_task::{Spawn, SpawnError, FutureObj};

/// An implementation of [`Spawn`](futures_core::task::Spawn) that panics
/// when used.
Expand Down
3 changes: 1 addition & 2 deletions futures-test/src/task/record_spawner.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use futures_core::future::FutureObj;
use futures_task::{Spawn, SpawnError};
use futures_task::{Spawn, SpawnError, FutureObj};

/// An implementation of [`Spawn`](futures_core::task::Spawn) that records
/// any [`Future`](futures_core::future::Future)s spawned on it.
Expand Down
3 changes: 1 addition & 2 deletions futures-util/src/compat/executor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ use crate::{
};
use futures_01::Future as Future01;
use futures_01::future::{Executor as Executor01, ExecuteError as ExecuteError01};
use futures_core::future::FutureObj;
use futures_task::{Spawn as Spawn03, SpawnError as SpawnError03};
use futures_task::{FutureObj, Spawn as Spawn03, SpawnError as SpawnError03};

/// A future that can run on a futures 0.1
/// [`Executor`](futures_01::future::Executor).
Expand Down
1 change: 1 addition & 0 deletions futures-util/src/future/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#[cfg(feature = "alloc")]
pub use futures_core::future::{BoxFuture, LocalBoxFuture};
pub use futures_core::future::{FusedFuture, Future, TryFuture};
pub use futures_task::{FutureObj, LocalFutureObj, UnsafeFutureObj};

// Extension traits and combinators

Expand Down
5 changes: 2 additions & 3 deletions futures-util/src/stream/futures_unordered/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
//! This module is only available when the `std` or `alloc` feature of this
//! library is activated, and it is activated by default.

use crate::task::{AtomicWaker};
use futures_core::future::{Future, FutureObj, LocalFutureObj};
use futures_core::future::Future;
use futures_core::stream::{FusedStream, Stream};
use futures_core::task::{Context, Poll};
use futures_task::{Spawn, LocalSpawn, SpawnError};
use futures_task::{FutureObj, LocalFutureObj, AtomicWaker, Spawn, LocalSpawn, SpawnError};
use core::cell::UnsafeCell;
use core::fmt::{self, Debug};
use core::iter::FromIterator;
Expand Down
5 changes: 4 additions & 1 deletion futures-util/src/task/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ pub use self::spawn::{SpawnExt, LocalSpawnExt};

pub use futures_core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable};

pub use futures_task::{Spawn, LocalSpawn, SpawnError};
pub use futures_task::{
Spawn, LocalSpawn, SpawnError,
FutureObj, LocalFutureObj, UnsafeFutureObj,
};

pub use futures_task::noop_waker;
#[cfg(feature = "std")]
Expand Down
4 changes: 2 additions & 2 deletions futures-util/src/task/spawn.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ use futures_task::{LocalSpawn, Spawn};
#[cfg(feature = "std")]
use crate::future::{FutureExt, RemoteHandle};
#[cfg(feature = "alloc")]
use futures_core::future::{Future, FutureObj, LocalFutureObj};
use futures_core::future::Future;
#[cfg(feature = "alloc")]
use futures_task::SpawnError;
use futures_task::{SpawnError, FutureObj, LocalFutureObj};
#[cfg(feature = "alloc")]
use alloc::boxed::Box;

Expand Down
8 changes: 6 additions & 2 deletions futures/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -184,12 +184,13 @@ pub mod future {

pub use futures_core::future::{
Future, TryFuture, FusedFuture,
FutureObj, LocalFutureObj, UnsafeFutureObj,
};

#[cfg(feature = "alloc")]
pub use futures_core::future::{BoxFuture, LocalBoxFuture};

pub use futures_task::{FutureObj, LocalFutureObj, UnsafeFutureObj};

pub use futures_util::future::{
lazy, Lazy,
maybe_done, MaybeDone,
Expand Down Expand Up @@ -447,7 +448,10 @@ pub mod task {

pub use futures_core::task::{Context, Poll, Waker, RawWaker, RawWakerVTable};

pub use futures_task::{Spawn, LocalSpawn, SpawnError};
pub use futures_task::{
Spawn, LocalSpawn, SpawnError,
FutureObj, LocalFutureObj, UnsafeFutureObj,
};

pub use futures_util::task::noop_waker;

Expand Down

0 comments on commit cc31f31

Please sign in to comment.