From 5c8aaedef6deff5e110f1ef5d0aecad01d9ec677 Mon Sep 17 00:00:00 2001 From: Takayuki Maeda Date: Sun, 20 Mar 2022 22:39:15 +0900 Subject: [PATCH] fix a not emitted unmatched angle bracket error --- compiler/rustc_parse/src/parser/item.rs | 2 +- ...eld-extra-angle-brackets-in-struct-with-a-field.rs | 6 ++++++ ...extra-angle-brackets-in-struct-with-a-field.stderr | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.rs create mode 100644 src/test/ui/parser/recover-field-extra-angle-brackets-in-struct-with-a-field.stderr 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> + //~^ 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> + | _________________________^ +LL | | +LL | | } + | |_ help: remove extra angle bracket + +error: aborting due to previous error +