about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/run-pass/generator/issue-57084.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/run-pass/generator/issue-57084.rs b/src/test/run-pass/generator/issue-57084.rs
new file mode 100644
index 00000000000..8aaa6a0e427
--- /dev/null
+++ b/src/test/run-pass/generator/issue-57084.rs
@@ -0,0 +1,28 @@
+// This issue reproduces an ICE on compile (E.g. fails on 2018-12-19 nightly).
+// "cannot relate bound region: ReLateBound(DebruijnIndex(1), BrAnon(1)) <= '_#1r"
+// run-pass
+// edition:2018
+#![feature(generators,generator_trait)]
+use std::ops::Generator;
+
+fn with<F>(f: F) -> impl Generator<Yield=(), Return=()>
+where F: Fn() -> ()
+{
+    move || {
+        loop {
+            match f() {
+                _ => yield,
+            }
+        }
+    }
+}
+
+fn main() {
+    let data = &vec![1];
+    || {
+        let _to_pin = with(move || println!("{:p}", data));
+        loop {
+            yield
+        }
+    };
+}