Skip to content

Commit

Permalink
Stabilize Future adapters and IntoFuture
Browse files Browse the repository at this point in the history
  • Loading branch information
yoshuawuyts committed Sep 23, 2020
1 parent e812663 commit f867373
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 43 deletions.
55 changes: 20 additions & 35 deletions src/future/future/mod.rs
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
cfg_unstable! {
mod delay;
mod flatten;
mod race;
mod try_race;
mod join;
mod try_join;

use std::time::Duration;
use delay::DelayFuture;
use flatten::FlattenFuture;
use crate::future::IntoFuture;
use race::Race;
use try_race::TryRace;
use join::Join;
use try_join::TryJoin;
}

cfg_unstable_default! {
use crate::future::timeout::TimeoutFuture;
}
mod delay;
mod flatten;
mod race;
mod try_race;
mod join;
mod try_join;

use std::time::Duration;
use delay::DelayFuture;
use flatten::FlattenFuture;
use race::Race;
use try_race::TryRace;
use join::Join;
use try_join::TryJoin;

#[cfg(feature = "default")]
use crate::future::timeout::TimeoutFuture;

use crate::future::IntoFuture;

extension_trait! {
use core::pin::Pin;
Expand Down Expand Up @@ -151,8 +149,6 @@ extension_trait! {
/// dbg!(a.await);
/// # })
/// ```
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn delay(self, dur: Duration) -> impl Future<Output = Self::Output> [DelayFuture<Self>]
where
Self: Sized,
Expand All @@ -174,8 +170,6 @@ extension_trait! {
/// assert_eq!(future.await, 1);
/// # })
/// ```
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn flatten(
self,
) -> impl Future<Output = <Self::Output as IntoFuture>::Output>
Expand Down Expand Up @@ -216,8 +210,6 @@ extension_trait! {
# });
```
"#]
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn race<F>(
self,
other: F,
Expand Down Expand Up @@ -262,8 +254,6 @@ extension_trait! {
# Ok(()) }) }
```
"#]
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn try_race<F, T, E>(
self,
other: F
Expand Down Expand Up @@ -299,8 +289,6 @@ extension_trait! {
# });
```
"#]
#[cfg(any(feature = "unstable", feature = "docs"))]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn join<F>(
self,
other: F
Expand Down Expand Up @@ -346,8 +334,6 @@ extension_trait! {
# Ok(()) }) }
```
"#]
#[cfg(any(feature = "unstable", feature = "docs"))]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn try_join<F, A, B, E>(
self,
other: F
Expand Down Expand Up @@ -385,8 +371,7 @@ extension_trait! {
# });
```
"#]
#[cfg(any(all(feature = "default", feature = "unstable"), feature = "docs"))]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
#[cfg(feature = "default")]
fn timeout(self, dur: Duration) -> impl Future<Output = Self::Output> [TimeoutFuture<Self>]
where Self: Sized
{
Expand Down
2 changes: 0 additions & 2 deletions src/future/into_future.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ use std::future::Future;
/// }
/// }
/// ```
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
pub trait IntoFuture {
/// The type of value produced on completion.
type Output;
Expand Down
11 changes: 5 additions & 6 deletions src/future/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@
//! [`Future::try_race`]: trait.Future.html#method.try_race

cfg_alloc! {
pub use into_future::IntoFuture;
pub use future::Future;

pub(crate) mod future;
mod into_future;
}

cfg_std! {
Expand All @@ -66,9 +69,5 @@ pub use timeout::{timeout, TimeoutError};
#[cfg(any(feature = "unstable", feature = "default"))]
mod timeout;

cfg_unstable! {
pub use into_future::IntoFuture;
pub(crate) use maybe_done::MaybeDone;
mod into_future;
mod maybe_done;
}
pub(crate) use maybe_done::MaybeDone;
mod maybe_done;

0 comments on commit f867373

Please sign in to comment.