about summary refs log tree commit diff
diff options
context:
space:
mode:
authorroife <roifewu@gmail.com>2024-03-06 22:51:22 +0800
committerroife <roifewu@gmail.com>2024-03-06 22:51:22 +0800
commite2daee61bcc15dde70c9d2ee4d1c86207a5e83ea (patch)
treee1c275f7d0fbb3f217c4abb52815e50b94bb1b5f
parent03420c330eae38c36ecf5adf82d6b89cc6e94cb8 (diff)
downloadrust-e2daee61bcc15dde70c9d2ee4d1c86207a5e83ea.tar.gz
rust-e2daee61bcc15dde70c9d2ee4d1c86207a5e83ea.zip
test: add test for float_split_scientific_notation
-rw-r--r--crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rast88
-rw-r--r--crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rs5
2 files changed, 93 insertions, 0 deletions
diff --git a/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rast b/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rast
new file mode 100644
index 00000000000..d6ad7334839
--- /dev/null
+++ b/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rast
@@ -0,0 +1,88 @@
+SOURCE_FILE
+  STRUCT
+    STRUCT_KW "struct"
+    WHITESPACE " "
+    NAME
+      IDENT "S"
+    TUPLE_FIELD_LIST
+      L_PAREN "("
+      TUPLE_FIELD
+        PATH_TYPE
+          PATH
+            PATH_SEGMENT
+              NAME_REF
+                IDENT "i32"
+      COMMA ","
+      WHITESPACE " "
+      TUPLE_FIELD
+        PATH_TYPE
+          PATH
+            PATH_SEGMENT
+              NAME_REF
+                IDENT "i32"
+      R_PAREN ")"
+    SEMICOLON ";"
+  WHITESPACE "\n"
+  FN
+    FN_KW "fn"
+    WHITESPACE " "
+    NAME
+      IDENT "f"
+    PARAM_LIST
+      L_PAREN "("
+      R_PAREN ")"
+    WHITESPACE " "
+    BLOCK_EXPR
+      STMT_LIST
+        L_CURLY "{"
+        WHITESPACE "\n    "
+        LET_STMT
+          LET_KW "let"
+          WHITESPACE " "
+          IDENT_PAT
+            NAME
+              IDENT "s"
+          WHITESPACE " "
+          EQ "="
+          WHITESPACE " "
+          CALL_EXPR
+            PATH_EXPR
+              PATH
+                PATH_SEGMENT
+                  NAME_REF
+                    IDENT "S"
+            ARG_LIST
+              L_PAREN "("
+              LITERAL
+                INT_NUMBER "1"
+              COMMA ","
+              WHITESPACE " "
+              LITERAL
+                INT_NUMBER "2"
+              R_PAREN ")"
+          SEMICOLON ";"
+        WHITESPACE "\n    "
+        LET_STMT
+          LET_KW "let"
+          WHITESPACE " "
+          IDENT_PAT
+            NAME
+              IDENT "a"
+          WHITESPACE " "
+          EQ "="
+          WHITESPACE " "
+          FIELD_EXPR
+            FIELD_EXPR
+              PATH_EXPR
+                PATH
+                  PATH_SEGMENT
+                    NAME_REF
+                      IDENT "s"
+              DOT "."
+              ERROR
+                FLOAT_NUMBER "1e0"
+          SEMICOLON ";"
+        WHITESPACE "\n"
+        R_CURLY "}"
+  WHITESPACE "\n"
+error 42: illegal float literal
diff --git a/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rs b/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rs
new file mode 100644
index 00000000000..648ef5e0430
--- /dev/null
+++ b/crates/parser/test_data/parser/err/0054_float_split_scientific_notation.rs
@@ -0,0 +1,5 @@
+struct S(i32, i32);
+fn f() {
+    let s = S(1, 2);
+    let a = s.1e0;
+}