suggest const or static for global variable

This commit is contained in:
chenyukang 2022-08-11 22:26:26 +08:00
parent 1603a70f82
commit 98518c2379
3 changed files with 20 additions and 1 deletions

View File

@ -68,7 +68,12 @@ impl<'a> Parser<'a> {
if !self.maybe_consume_incorrect_semicolon(&items) {
let msg = &format!("expected item, found {token_str}");
let mut err = self.struct_span_err(self.token.span, msg);
err.span_label(self.token.span, "expected item");
let label = if self.is_kw_followed_by_ident(kw::Let) {
"consider using `const` or `static` instead of `let` for global variables"
} else {
"expected item"
};
err.span_label(self.token.span, label);
return Err(err);
}
}

View File

@ -0,0 +1,6 @@
let X: i32 = 12;
//~^ ERROR expected item, found keyword `let`
fn main() {
println!("{}", X);
}

View File

@ -0,0 +1,8 @@
error: expected item, found keyword `let`
--> $DIR/suggest-const-for-global-var.rs:1:1
|
LL | let X: i32 = 12;
| ^^^ consider using `const` or `static` instead of `let` for global variables
error: aborting due to previous error