Skip to content

Commit 048ae29

Browse files
committed
Emit unclosed delimiters during recovery
1 parent b2bada2 commit 048ae29

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,7 @@ impl<'a> Parser<'a> {
778778
// leave it in the input
779779
Ok(false)
780780
} else if self.last_unexpected_token_span == Some(self.span) {
781+
emit_unclosed_delims(&self.unclosed_delims, self.diagnostic());
781782
FatalError.raise();
782783
} else {
783784
let mut expected = edible.iter()

src/test/ui/issues/issue-58856-1.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ impl A {
55
//~^ ERROR expected one of `)`, `,`, or `:`, found `>`
66
}
77

8+
// verify that mismatched delimiters get emitted
9+
fn foo(] {}
10+
//~^ ERROR incorrect close delimiter
11+
812
fn main() {}

src/test/ui/issues/issue-58856-1.stderr

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,13 @@ LL | fn b(self> {}
77
| | help: `)` may belong here
88
| unclosed delimiter
99

10-
error: aborting due to previous error
10+
error: incorrect close delimiter: `]`
11+
--> $DIR/issue-58856-1.rs:9:8
12+
|
13+
LL | fn foo(] {}
14+
| -^ incorrect close delimiter
15+
| |
16+
| un-closed delimiter
17+
18+
error: aborting due to 2 previous errors
1119

0 commit comments

Comments
 (0)