1
Fork 0

Detect extra space in keyword for better hint

This commit is contained in:
yukang 2023-07-03 23:54:49 +08:00
parent 0ab38e95bb
commit 799d2917e7
5 changed files with 32 additions and 0 deletions

View file

@ -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)`
if self.prev_token.is_ident_named(sym::public)
&& (self.token.can_begin_item()