about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2019-03-08 09:41:58 +0100
committerGitHub <noreply@github.com>2019-03-08 09:41:58 +0100
commitc99a2405ecfe5f38b1a87f0b752cfa611cc304ba (patch)
treef0840a1ae9f0ad954c6e0e6daf1b5144809cba22
parentd9c6908fb7fd5abd89c22352a6dc4d4250cf6c31 (diff)
parent143e7d57321babc6fe993df370e0b54861443c11 (diff)
downloadrust-c99a2405ecfe5f38b1a87f0b752cfa611cc304ba.tar.gz
rust-c99a2405ecfe5f38b1a87f0b752cfa611cc304ba.zip
Rollup merge of #58918 - gilescope:async-await-issue-testcase, r=petrochenkov
Regression test added for an async ICE.

Regression test for #57084 (as suggested in issue).
-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
+        }
+    };
+}