about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_parse/src/parser/item.rs2
-rw-r--r--src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.rs6
-rw-r--r--src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.stderr11
3 files changed, 18 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/item.rs b/compiler/rustc_parse/src/parser/item.rs
index e949059099c..e55bdb0e553 100644
--- a/compiler/rustc_parse/src/parser/item.rs
+++ b/compiler/rustc_parse/src/parser/item.rs
@@ -1486,7 +1486,7 @@ impl<'a> Parser<'a> {
                             // `check_trailing_angle_brackets` already emitted a nicer error
                             // NOTE(eddyb) this was `.cancel()`, but `err`
                             // gets returned, so we can't fully defuse it.
-                            err.downgrade_to_delayed_bug();
+                            err.delay_as_bug();
                         }
                     }
                 }
diff --git a/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.rs b/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.rs
new file mode 100644
index 00000000000..e815c7611c0
--- /dev/null
+++ b/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.rs
@@ -0,0 +1,6 @@
+struct TypedArenaChunk {
+    next: Option<String>>
+    //~^ ERROR unmatched angle bracket
+}
+
+fn main() {}
diff --git a/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.stderr b/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.stderr
new file mode 100644
index 00000000000..17237c93097
--- /dev/null
+++ b/src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.stderr
@@ -0,0 +1,11 @@
+error: unmatched angle bracket
+  --> $DIR/recover-field-extra-angle-brackets-in-struct-with-a-field.rs:2:25
+   |
+LL |       next: Option<String>>
+   |  _________________________^
+LL | |
+LL | | }
+   | |_ help: remove extra angle bracket
+
+error: aborting due to previous error
+