about summary refs log tree commit diff
path: root/tests/ui/issues/issue-39970.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-39970.rs')
-rw-r--r--tests/ui/issues/issue-39970.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/issues/issue-39970.rs b/tests/ui/issues/issue-39970.rs
new file mode 100644
index 00000000000..f51e3b522e1
--- /dev/null
+++ b/tests/ui/issues/issue-39970.rs
@@ -0,0 +1,21 @@
+trait Array<'a> {
+    type Element: 'a;
+}
+
+trait Visit {
+    fn visit() {}
+}
+
+impl<'a> Array<'a> for () {
+    type Element = &'a ();
+}
+
+impl Visit for () where
+    //(): for<'a> Array<'a, Element=&'a ()>, // No ICE
+    (): for<'a> Array<'a, Element=()>, // ICE
+{}
+
+fn main() {
+    <() as Visit>::visit();
+    //~^ ERROR type mismatch resolving `for<'a> <() as Array<'a>>::Element == ()`
+}