Skip to content

Commit 3f0fc9b

Browse files
committed
Pluralize error messages.
This commit pluralizes error messages when more than a single trailing `>` character is present.
1 parent 6c399d1 commit 3f0fc9b

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

src/libsyntax/parse/parser.rs

+9-2
Original file line numberDiff line numberDiff line change
@@ -2869,11 +2869,18 @@ impl<'a> Parser<'a> {
28692869
self.eat_to_tokens(&[&token::OpenDelim(token::Paren)]);
28702870
let span = lo.until(self.span);
28712871

2872+
// We needn't check `encountered_gt` to determine if we should pluralize "bracket".
2873+
// `encountered_gt` can only represent a single `>` character, if `number_of_shr >= 1`
2874+
// then there is either `>>` or `>>>` - in either case a plural is warranted.
2875+
let plural = number_of_shr >= 1;
28722876
self.diagnostic()
2873-
.struct_span_err(span, "unmatched angle bracket")
2877+
.struct_span_err(
2878+
span,
2879+
&format!("unmatched angle bracket{}", if plural { "s" } else { "" }),
2880+
)
28742881
.span_suggestion_with_applicability(
28752882
span,
2876-
"remove extra angle bracket",
2883+
&format!("remove extra angle bracket{}", if plural { "s" } else { "" }),
28772884
String::new(),
28782885
Applicability::MachineApplicable,
28792886
)

src/test/ui/issues/issue-54521.stderr

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
error: unmatched angle bracket
1+
error: unmatched angle brackets
22
--> $DIR/issue-54521.rs:11:60
33
|
44
LL | let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>>>>>();
5-
| ^^^^ help: remove extra angle bracket
5+
| ^^^^ help: remove extra angle brackets
66

7-
error: unmatched angle bracket
7+
error: unmatched angle brackets
88
--> $DIR/issue-54521.rs:14:60
99
|
1010
LL | let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>>>>();
11-
| ^^^ help: remove extra angle bracket
11+
| ^^^ help: remove extra angle brackets
1212

13-
error: unmatched angle bracket
13+
error: unmatched angle brackets
1414
--> $DIR/issue-54521.rs:17:60
1515
|
1616
LL | let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>>>();
17-
| ^^ help: remove extra angle bracket
17+
| ^^ help: remove extra angle brackets
1818

1919
error: unmatched angle bracket
2020
--> $DIR/issue-54521.rs:20:60

0 commit comments

Comments
 (0)