fix #104088, Slightly improve error message for invalid identifier

This commit is contained in:
yukang 2022-11-12 04:22:47 +08:00
parent 101e1822c3
commit 9db8e183dc
5 changed files with 81 additions and 2 deletions

View file

@ -0,0 +1,26 @@
fn test() {
if let 123 = 123 { println!("yes"); }
}
fn test_2() {
let 1x = 123;
//~^ ERROR expected identifier, found number literal
}
fn test_3() {
let 2x: i32 = 123;
//~^ ERROR expected identifier, found number literal
}
fn test_4() {
if let 2e1 = 123 {
//~^ ERROR mismatched types
}
}
fn test_5() {
let 23name = 123;
//~^ ERROR expected identifier, found number literal
}
fn main() {}

View file

@ -0,0 +1,29 @@
error: expected identifier, found number literal
--> $DIR/issue-104088.rs:6:9
|
LL | let 1x = 123;
| ^^ identifiers cannot start with a number
error: expected identifier, found number literal
--> $DIR/issue-104088.rs:11:9
|
LL | let 2x: i32 = 123;
| ^^ identifiers cannot start with a number
error: expected identifier, found number literal
--> $DIR/issue-104088.rs:22:9
|
LL | let 23name = 123;
| ^^^^^^ identifiers cannot start with a number
error[E0308]: mismatched types
--> $DIR/issue-104088.rs:16:12
|
LL | if let 2e1 = 123 {
| ^^^ --- this expression has type `{integer}`
| |
| expected integer, found floating-point number
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0308`.