about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authoryukang <moorekang@gmail.com>2022-11-12 04:22:47 +0800
committeryukang <moorekang@gmail.com>2022-11-15 08:58:19 +0800
commit9db8e183dc17896ce5f307f6de19c261d746a9bc (patch)
treeb3c6e8b4903ff4d7d55a3d3721e259c97f39921d /src/test/ui/parser
parent101e1822c3e54e63996c8aaa014d55716f3937eb (diff)
fix #104088, Slightly improve error message for invalid identifier
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/issues/issue-104088.rs26
-rw-r--r--src/test/ui/parser/issues/issue-104088.stderr29
2 files changed, 55 insertions, 0 deletions
diff --git a/src/test/ui/parser/issues/issue-104088.rs b/src/test/ui/parser/issues/issue-104088.rs
new file mode 100644
index 00000000000..5f794fe2dc9
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-104088.rs
@@ -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() {}
diff --git a/src/test/ui/parser/issues/issue-104088.stderr b/src/test/ui/parser/issues/issue-104088.stderr
new file mode 100644
index 00000000000..ff4b4bdb695
--- /dev/null
+++ b/src/test/ui/parser/issues/issue-104088.stderr
@@ -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`.