about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-08-06 12:12:59 +0000
committerbors <bors@rust-lang.org>2020-08-06 12:12:59 +0000
commit4b0882cfaa33de2796eac01afeac69097fbccbd2 (patch)
tree9398110074451522d4031b6834b46254aabcd766 /src
parent3cfc7fe78eccc754b16981704a098d7bd520e2fd (diff)
parentcc36c3d140b82757c5ffe94c71232d2f32fcf2a4 (diff)
downloadrust-4b0882cfaa33de2796eac01afeac69097fbccbd2.tar.gz
rust-4b0882cfaa33de2796eac01afeac69097fbccbd2.zip
Auto merge of #74889 - JohnTitor:hrtb-tests, r=nikomatsakis
Add HRTB-related regression test

Closes #59311 and cc #71546
This closes the former but the test is taken from https://github.com/rust-lang/rust/issues/71546#issuecomment-620638437 since it seems they have the same cause and it's simplified.
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/higher-rank-trait-bounds/issue-59311.rs20
-rw-r--r--src/test/ui/higher-rank-trait-bounds/issue-59311.stderr8
2 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/higher-rank-trait-bounds/issue-59311.rs b/src/test/ui/higher-rank-trait-bounds/issue-59311.rs
new file mode 100644
index 00000000000..1e1241c7f83
--- /dev/null
+++ b/src/test/ui/higher-rank-trait-bounds/issue-59311.rs
@@ -0,0 +1,20 @@
+// Regression test for #59311. The test is taken from
+// rust-lang/rust/issues/71546#issuecomment-620638437
+// as they seem to have the same cause.
+
+// FIXME: It's not clear that this code ought to report
+// an error, but the regression test is here to ensure
+// that it does not ICE. See discussion on #74889 for details.
+
+pub trait T {
+    fn t<F: Fn()>(&self, _: F) {}
+}
+
+pub fn crash<V>(v: &V)
+where
+    for<'a> &'a V: T + 'static,
+{
+    v.t(|| {}); //~ ERROR: higher-ranked subtype error
+}
+
+fn main() {}
diff --git a/src/test/ui/higher-rank-trait-bounds/issue-59311.stderr b/src/test/ui/higher-rank-trait-bounds/issue-59311.stderr
new file mode 100644
index 00000000000..ca632629267
--- /dev/null
+++ b/src/test/ui/higher-rank-trait-bounds/issue-59311.stderr
@@ -0,0 +1,8 @@
+error: higher-ranked subtype error
+  --> $DIR/issue-59311.rs:17:9
+   |
+LL |     v.t(|| {});
+   |         ^^^^^
+
+error: aborting due to previous error
+