diff options
Diffstat (limited to '')
-rw-r--r-- | src/tools/rust-analyzer/crates/test-utils/src/minicore.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/test-utils/src/minicore.rs b/src/tools/rust-analyzer/crates/test-utils/src/minicore.rs index f48d1ec66..6df29db47 100644 --- a/src/tools/rust-analyzer/crates/test-utils/src/minicore.rs +++ b/src/tools/rust-analyzer/crates/test-utils/src/minicore.rs @@ -471,6 +471,21 @@ pub mod future { #[lang = "poll"] fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>; } + + pub trait IntoFuture { + type Output; + type IntoFuture: Future<Output = Self::Output>; + #[lang = "into_future"] + fn into_future(self) -> Self::IntoFuture; + } + + impl<F: Future> IntoFuture for F { + type Output = F::Output; + type IntoFuture = F; + fn into_future(self) -> F { + self + } + } } pub mod task { pub enum Poll<T> { |