Stabilize Future adapters and IntoFuture

pull/884/head
Yoshua Wuyts 4 years ago
parent e8126633a8
commit f867373e90

@ -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;
@ -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,
@ -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>
@ -216,8 +210,6 @@ extension_trait! {
# });
```
"#]
#[cfg(feature = "unstable")]
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
fn race<F>(
self,
other: F,
@ -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
@ -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
@ -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
@ -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
{

@ -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;

@ -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! {
@ -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;

Loading…
Cancel
Save