about summary refs log tree commit diff
path: root/tests/ui/parser
diff options
context:
space:
mode:
authorsjwang05 <63834813+sjwang05@users.noreply.github.com>2023-12-03 20:43:31 -0800
committersjwang05 <63834813+sjwang05@users.noreply.github.com>2023-12-04 10:40:09 -0800
commitd627e2a4e8317fc11ccd69832d482b9ae591084a (patch)
tree0bb28e61221d07b33879d855a4dc33dc0f6db508 /tests/ui/parser
parentc9808f87028e16d134438787cab3d4cc16d05fe2 (diff)
downloadrust-d627e2a4e8317fc11ccd69832d482b9ae591084a.tar.gz
rust-d627e2a4e8317fc11ccd69832d482b9ae591084a.zip
Fix parser ICE when recovering `dyn`/`impl` after `for<...>`
Diffstat (limited to 'tests/ui/parser')
-rw-r--r--tests/ui/parser/recover-hrtb-before-dyn-impl-kw.rs4
-rw-r--r--tests/ui/parser/recover-hrtb-before-dyn-impl-kw.stderr8
2 files changed, 11 insertions, 1 deletions
diff --git a/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.rs b/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.rs
index fe363a6887f..b9e3c5783eb 100644
--- a/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.rs
+++ b/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.rs
@@ -6,4 +6,8 @@ fn test(_: &for<'a> dyn Trait) {}
 fn test2(_: for<'a> impl Trait) {}
 //~^ ERROR `for<...>` expected after `impl`, not before
 
+// Issue #118564
+type A2 = dyn<for<> dyn>;
+//~^ ERROR expected identifier, found `>`
+
 fn main() {}
diff --git a/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.stderr b/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.stderr
index 6fc1259b910..a012220e8c7 100644
--- a/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.stderr
+++ b/tests/ui/parser/recover-hrtb-before-dyn-impl-kw.stderr
@@ -22,5 +22,11 @@ LL - fn test2(_: for<'a> impl Trait) {}
 LL + fn test2(_: impl for<'a> Trait) {}
    |
 
-error: aborting due to 2 previous errors
+error: expected identifier, found `>`
+  --> $DIR/recover-hrtb-before-dyn-impl-kw.rs:10:24
+   |
+LL | type A2 = dyn<for<> dyn>;
+   |                        ^ expected identifier
+
+error: aborting due to 3 previous errors