27 lines
784 B
Rust
27 lines
784 B
Rust
use crate::future::Future;
|
|
|
|
/// Conversion into a `Future`.
|
|
#[unstable(feature = "into_future", issue = "67644")]
|
|
pub trait IntoFuture {
|
|
/// The output that the future will produce on completion.
|
|
#[unstable(feature = "into_future", issue = "67644")]
|
|
type Output;
|
|
|
|
/// Which kind of future are we turning this into?
|
|
#[unstable(feature = "into_future", issue = "67644")]
|
|
type Future: Future<Output = Self::Output>;
|
|
|
|
/// Creates a future from a value.
|
|
#[unstable(feature = "into_future", issue = "67644")]
|
|
fn into_future(self) -> Self::Future;
|
|
}
|
|
|
|
#[unstable(feature = "into_future", issue = "67644")]
|
|
impl<F: Future> IntoFuture for F {
|
|
type Output = F::Output;
|
|
type Future = F;
|
|
|
|
fn into_future(self) -> Self::Future {
|
|
self
|
|
}
|
|
}
|