Skip to content

Commit

Permalink
Pluralize error messages.
Browse files Browse the repository at this point in the history
This commit pluralizes error messages when more than a single trailing
`>` character is present.
  • Loading branch information
davidtwco committed Jan 21, 2019
1 parent 6c399d1 commit 3f0fc9b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
11 changes: 9 additions & 2 deletions src/libsyntax/parse/parser.rs
Expand Up @@ -2869,11 +2869,18 @@ impl<'a> Parser<'a> {
self.eat_to_tokens(&[&token::OpenDelim(token::Paren)]);
let span = lo.until(self.span);

// We needn't check `encountered_gt` to determine if we should pluralize "bracket".
// `encountered_gt` can only represent a single `>` character, if `number_of_shr >= 1`
// then there is either `>>` or `>>>` - in either case a plural is warranted.
let plural = number_of_shr >= 1;
self.diagnostic()
.struct_span_err(span, "unmatched angle bracket")
.struct_span_err(
span,
&format!("unmatched angle bracket{}", if plural { "s" } else { "" }),
)
.span_suggestion_with_applicability(
span,
"remove extra angle bracket",
&format!("remove extra angle bracket{}", if plural { "s" } else { "" }),
String::new(),
Applicability::MachineApplicable,
)
Expand Down
12 changes: 6 additions & 6 deletions src/test/ui/issues/issue-54521.stderr
@@ -1,20 +1,20 @@
error: unmatched angle bracket
error: unmatched angle brackets
--> $DIR/issue-54521.rs:11:60
|
LL | let _ = vec![1, 2, 3].into_iter().collect::<Vec<usize>>>>>>();
| ^^^^ help: remove extra angle bracket
| ^^^^ help: remove extra angle brackets

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

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

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

0 comments on commit 3f0fc9b

Please sign in to comment.