| 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 | |
| } | |
| } |