summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/issues/issue-53249.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/issues/issue-53249.rs')
-rw-r--r--src/test/ui/async-await/issues/issue-53249.rs47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/test/ui/async-await/issues/issue-53249.rs b/src/test/ui/async-await/issues/issue-53249.rs
deleted file mode 100644
index 3a33af2d2..000000000
--- a/src/test/ui/async-await/issues/issue-53249.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-// check-pass
-// edition:2018
-
-#![feature(arbitrary_self_types)]
-
-use std::task::{self, Poll};
-use std::future::Future;
-use std::marker::Unpin;
-use std::pin::Pin;
-
-// This is a regression test for an ICE/unbounded recursion issue relating to async-await.
-
-#[derive(Debug)]
-#[must_use = "futures do nothing unless polled"]
-pub struct Lazy<F> {
- f: Option<F>
-}
-
-impl<F> Unpin for Lazy<F> {}
-
-pub fn lazy<F, R>(f: F) -> Lazy<F>
- where F: FnOnce(&mut task::Context) -> R,
-{
- Lazy { f: Some(f) }
-}
-
-impl<R, F> Future for Lazy<F>
- where F: FnOnce(&mut task::Context) -> R,
-{
- type Output = R;
-
- fn poll(mut self: Pin<&mut Self>, cx: &mut task::Context) -> Poll<R> {
- Poll::Ready((self.f.take().unwrap())(cx))
- }
-}
-
-async fn __receive<WantFn, Fut>(want: WantFn) -> ()
- where Fut: Future<Output = ()>, WantFn: Fn(&Box<dyn Send + 'static>) -> Fut,
-{
- lazy(|_| ()).await;
-}
-
-pub fn basic_spawn_receive() {
- async { __receive(|_| async { () }).await };
-}
-
-fn main() {}