Detect extra space in keyword for better hint
This commit is contained in:
parent
0ab38e95bb
commit
799d2917e7
5 changed files with 32 additions and 0 deletions
|
@ -605,6 +605,22 @@ impl<'a> Parser<'a> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let TokenKind::Ident(prev, _) = &self.prev_token.kind
|
||||||
|
&& let TokenKind::Ident(cur, _) = &self.token.kind
|
||||||
|
{
|
||||||
|
let concat = Symbol::intern(&format!("{}{}", prev, cur));
|
||||||
|
let ident = Ident::new(concat, DUMMY_SP);
|
||||||
|
if ident.is_used_keyword() || ident.is_reserved() || ident.is_raw_guess() {
|
||||||
|
let span = self.prev_token.span.to(self.token.span);
|
||||||
|
err.span_suggestion_verbose(
|
||||||
|
span,
|
||||||
|
format!("consider removing the space to spell keyword `{}`", concat),
|
||||||
|
concat,
|
||||||
|
Applicability::MachineApplicable,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// `pub` may be used for an item or `pub(crate)`
|
// `pub` may be used for an item or `pub(crate)`
|
||||||
if self.prev_token.is_ident_named(sym::public)
|
if self.prev_token.is_ident_named(sym::public)
|
||||||
&& (self.token.can_begin_item()
|
&& (self.token.can_begin_item()
|
||||||
|
|
Binary file not shown.
Binary file not shown.
3
tests/ui/suggestions/issue-89640.rs
Normal file
3
tests/ui/suggestions/issue-89640.rs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
fn main() {
|
||||||
|
le t x: i32 = 3; //~ ERROR expected one of
|
||||||
|
}
|
13
tests/ui/suggestions/issue-89640.stderr
Normal file
13
tests/ui/suggestions/issue-89640.stderr
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `t`
|
||||||
|
--> $DIR/issue-89640.rs:2:8
|
||||||
|
|
|
||||||
|
LL | le t x: i32 = 3;
|
||||||
|
| ^ expected one of 8 possible tokens
|
||||||
|
|
|
||||||
|
help: consider removing the space to spell keyword `let`
|
||||||
|
|
|
||||||
|
LL | let x: i32 = 3;
|
||||||
|
| ~~~
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue