]> git.lizzy.rs Git - rust.git/commitdiff
Move tests around
authorGeoffry Song <goffrie@gmail.com>
Sat, 5 Oct 2019 23:30:10 +0000 (16:30 -0700)
committerGeoffry Song <goffrie@gmail.com>
Sat, 5 Oct 2019 23:33:05 +0000 (16:33 -0700)
crates/ra_parser/src/grammar/expressions.rs
crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rs
crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.txt
crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rs
crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.txt
crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rs [new file with mode: 0644]
crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt [new file with mode: 0644]
crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rs [new file with mode: 0644]
crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt [new file with mode: 0644]

index 448b87505770c70001f36dd2ce809315587d9688..c2a2060eb6345a39276af0a723ca684fa8431c04 100644 (file)
@@ -279,6 +279,10 @@ fn expr_bp(p: &mut Parser, r: Restrictions, bp: u8) -> (Option<CompletedMarker>,
         if op_bp < bp {
             break;
         }
+        // test as_precedence
+        // fn foo() {
+        //     let _ = &1 as *const i32;
+        // }
         if p.at(T![as]) {
             lhs = cast_expr(p, lhs);
             continue;
@@ -301,7 +305,6 @@ fn lhs(p: &mut Parser, r: Restrictions) -> Option<(CompletedMarker, BlockLike)>
         // fn foo() {
         //     let _ = &1;
         //     let _ = &mut &f();
-        //     let _ = &1 as *const i32;
         // }
         T![&] => {
             m = p.start();
@@ -311,13 +314,9 @@ fn lhs(p: &mut Parser, r: Restrictions) -> Option<(CompletedMarker, BlockLike)>
         }
         // test unary_expr
         // fn foo() {
-        //     **&1 + 1;
+        //     **&1;
         //     !!true;
         //     --1;
-        //     *&1 as u64;
-        //     *x(1);
-        //     &x[1];
-        //     -1..2;
         // }
         T![*] | T![!] | T![-] => {
             m = p.start();
index 1080b48a1e3106ab97dd11654e4ac7628a1fd023..f1c3f7118b2daeba6d316a3a33ae4704e045fcd6 100644 (file)
@@ -1,9 +1,5 @@
 fn foo() {
-    **&1 + 1;
+    **&1;
     !!true;
     --1;
-    *&1 as u64;
-    *x(1);
-    &x[1];
-    -1..2;
 }
index e2b60d99f4658c1a942606888da1f0a25262e5db..2d71efd86fff1a5c7c5686ee3bd5b0e0ee4ea318 100644 (file)
@@ -1,5 +1,5 @@
-SOURCE_FILE@[0; 97)
-  FN_DEF@[0; 96)
+SOURCE_FILE@[0; 44)
+  FN_DEF@[0; 43)
     FN_KW@[0; 2) "fn"
     WHITESPACE@[2; 3) " "
     NAME@[3; 6)
@@ -8,104 +8,38 @@ SOURCE_FILE@[0; 97)
       L_PAREN@[6; 7) "("
       R_PAREN@[7; 8) ")"
     WHITESPACE@[8; 9) " "
-    BLOCK_EXPR@[9; 96)
-      BLOCK@[9; 96)
+    BLOCK_EXPR@[9; 43)
+      BLOCK@[9; 43)
         L_CURLY@[9; 10) "{"
         WHITESPACE@[10; 15) "\n    "
-        EXPR_STMT@[15; 24)
-          BIN_EXPR@[15; 23)
-            PREFIX_EXPR@[15; 19)
-              STAR@[15; 16) "*"
-              PREFIX_EXPR@[16; 19)
-                STAR@[16; 17) "*"
-                REF_EXPR@[17; 19)
-                  AMP@[17; 18) "&"
-                  LITERAL@[18; 19)
-                    INT_NUMBER@[18; 19) "1"
-            WHITESPACE@[19; 20) " "
-            PLUS@[20; 21) "+"
-            WHITESPACE@[21; 22) " "
-            LITERAL@[22; 23)
-              INT_NUMBER@[22; 23) "1"
-          SEMI@[23; 24) ";"
-        WHITESPACE@[24; 29) "\n    "
-        EXPR_STMT@[29; 36)
-          PREFIX_EXPR@[29; 35)
-            EXCL@[29; 30) "!"
-            PREFIX_EXPR@[30; 35)
-              EXCL@[30; 31) "!"
-              LITERAL@[31; 35)
-                TRUE_KW@[31; 35) "true"
-          SEMI@[35; 36) ";"
-        WHITESPACE@[36; 41) "\n    "
-        EXPR_STMT@[41; 45)
-          PREFIX_EXPR@[41; 44)
-            MINUS@[41; 42) "-"
-            PREFIX_EXPR@[42; 44)
-              MINUS@[42; 43) "-"
-              LITERAL@[43; 44)
-                INT_NUMBER@[43; 44) "1"
-          SEMI@[44; 45) ";"
-        WHITESPACE@[45; 50) "\n    "
-        EXPR_STMT@[50; 61)
-          CAST_EXPR@[50; 60)
-            PREFIX_EXPR@[50; 53)
-              STAR@[50; 51) "*"
-              REF_EXPR@[51; 53)
-                AMP@[51; 52) "&"
-                LITERAL@[52; 53)
-                  INT_NUMBER@[52; 53) "1"
-            WHITESPACE@[53; 54) " "
-            AS_KW@[54; 56) "as"
-            WHITESPACE@[56; 57) " "
-            PATH_TYPE@[57; 60)
-              PATH@[57; 60)
-                PATH_SEGMENT@[57; 60)
-                  NAME_REF@[57; 60)
-                    IDENT@[57; 60) "u64"
-          SEMI@[60; 61) ";"
-        WHITESPACE@[61; 66) "\n    "
-        EXPR_STMT@[66; 72)
-          PREFIX_EXPR@[66; 71)
-            STAR@[66; 67) "*"
-            CALL_EXPR@[67; 71)
-              PATH_EXPR@[67; 68)
-                PATH@[67; 68)
-                  PATH_SEGMENT@[67; 68)
-                    NAME_REF@[67; 68)
-                      IDENT@[67; 68) "x"
-              ARG_LIST@[68; 71)
-                L_PAREN@[68; 69) "("
-                LITERAL@[69; 70)
-                  INT_NUMBER@[69; 70) "1"
-                R_PAREN@[70; 71) ")"
-          SEMI@[71; 72) ";"
-        WHITESPACE@[72; 77) "\n    "
-        EXPR_STMT@[77; 83)
-          REF_EXPR@[77; 82)
-            AMP@[77; 78) "&"
-            INDEX_EXPR@[78; 82)
-              PATH_EXPR@[78; 79)
-                PATH@[78; 79)
-                  PATH_SEGMENT@[78; 79)
-                    NAME_REF@[78; 79)
-                      IDENT@[78; 79) "x"
-              L_BRACK@[79; 80) "["
-              LITERAL@[80; 81)
-                INT_NUMBER@[80; 81) "1"
-              R_BRACK@[81; 82) "]"
-          SEMI@[82; 83) ";"
-        WHITESPACE@[83; 88) "\n    "
-        EXPR_STMT@[88; 94)
-          RANGE_EXPR@[88; 93)
-            PREFIX_EXPR@[88; 90)
-              MINUS@[88; 89) "-"
-              LITERAL@[89; 90)
-                INT_NUMBER@[89; 90) "1"
-            DOTDOT@[90; 92) ".."
-            LITERAL@[92; 93)
-              INT_NUMBER@[92; 93) "2"
-          SEMI@[93; 94) ";"
-        WHITESPACE@[94; 95) "\n"
-        R_CURLY@[95; 96) "}"
-  WHITESPACE@[96; 97) "\n"
+        EXPR_STMT@[15; 20)
+          PREFIX_EXPR@[15; 19)
+            STAR@[15; 16) "*"
+            PREFIX_EXPR@[16; 19)
+              STAR@[16; 17) "*"
+              REF_EXPR@[17; 19)
+                AMP@[17; 18) "&"
+                LITERAL@[18; 19)
+                  INT_NUMBER@[18; 19) "1"
+          SEMI@[19; 20) ";"
+        WHITESPACE@[20; 25) "\n    "
+        EXPR_STMT@[25; 32)
+          PREFIX_EXPR@[25; 31)
+            EXCL@[25; 26) "!"
+            PREFIX_EXPR@[26; 31)
+              EXCL@[26; 27) "!"
+              LITERAL@[27; 31)
+                TRUE_KW@[27; 31) "true"
+          SEMI@[31; 32) ";"
+        WHITESPACE@[32; 37) "\n    "
+        EXPR_STMT@[37; 41)
+          PREFIX_EXPR@[37; 40)
+            MINUS@[37; 38) "-"
+            PREFIX_EXPR@[38; 40)
+              MINUS@[38; 39) "-"
+              LITERAL@[39; 40)
+                INT_NUMBER@[39; 40) "1"
+          SEMI@[40; 41) ";"
+        WHITESPACE@[41; 42) "\n"
+        R_CURLY@[42; 43) "}"
+  WHITESPACE@[43; 44) "\n"
index 050638f56094fb00dbfbbbea59d776203340ae8b..2dac6be95e753f696d9264e10970cc508b72a12c 100644 (file)
@@ -1,5 +1,4 @@
 fn foo() {
     let _ = &1;
     let _ = &mut &f();
-    let _ = &1 as *const i32;
 }
index d6334e55bbba41214e4fd15cbbca35fe6a67676a..8f34afe768ebb9b30ca748eae1af4a9a67539920 100644 (file)
@@ -1,5 +1,5 @@
-SOURCE_FILE@[0; 82)
-  FN_DEF@[0; 81)
+SOURCE_FILE@[0; 52)
+  FN_DEF@[0; 51)
     FN_KW@[0; 2) "fn"
     WHITESPACE@[2; 3) " "
     NAME@[3; 6)
@@ -8,8 +8,8 @@ SOURCE_FILE@[0; 82)
       L_PAREN@[6; 7) "("
       R_PAREN@[7; 8) ")"
     WHITESPACE@[8; 9) " "
-    BLOCK_EXPR@[9; 81)
-      BLOCK@[9; 81)
+    BLOCK_EXPR@[9; 51)
+      BLOCK@[9; 51)
         L_CURLY@[9; 10) "{"
         WHITESPACE@[10; 15) "\n    "
         LET_STMT@[15; 26)
@@ -50,33 +50,6 @@ SOURCE_FILE@[0; 82)
                   L_PAREN@[46; 47) "("
                   R_PAREN@[47; 48) ")"
           SEMI@[48; 49) ";"
-        WHITESPACE@[49; 54) "\n    "
-        LET_STMT@[54; 79)
-          LET_KW@[54; 57) "let"
-          WHITESPACE@[57; 58) " "
-          PLACEHOLDER_PAT@[58; 59)
-            UNDERSCORE@[58; 59) "_"
-          WHITESPACE@[59; 60) " "
-          EQ@[60; 61) "="
-          WHITESPACE@[61; 62) " "
-          CAST_EXPR@[62; 78)
-            REF_EXPR@[62; 64)
-              AMP@[62; 63) "&"
-              LITERAL@[63; 64)
-                INT_NUMBER@[63; 64) "1"
-            WHITESPACE@[64; 65) " "
-            AS_KW@[65; 67) "as"
-            WHITESPACE@[67; 68) " "
-            POINTER_TYPE@[68; 78)
-              STAR@[68; 69) "*"
-              CONST_KW@[69; 74) "const"
-              WHITESPACE@[74; 75) " "
-              PATH_TYPE@[75; 78)
-                PATH@[75; 78)
-                  PATH_SEGMENT@[75; 78)
-                    NAME_REF@[75; 78)
-                      IDENT@[75; 78) "i32"
-          SEMI@[78; 79) ";"
-        WHITESPACE@[79; 80) "\n"
-        R_CURLY@[80; 81) "}"
-  WHITESPACE@[81; 82) "\n"
+        WHITESPACE@[49; 50) "\n"
+        R_CURLY@[50; 51) "}"
+  WHITESPACE@[51; 52) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rs b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rs
new file mode 100644 (file)
index 0000000..a06dec1
--- /dev/null
@@ -0,0 +1,3 @@
+fn foo() {
+    let _ = &1 as *const i32;
+}
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt
new file mode 100644 (file)
index 0000000..9e3767f
--- /dev/null
@@ -0,0 +1,43 @@
+SOURCE_FILE@[0; 43)
+  FN_DEF@[0; 42)
+    FN_KW@[0; 2) "fn"
+    WHITESPACE@[2; 3) " "
+    NAME@[3; 6)
+      IDENT@[3; 6) "foo"
+    PARAM_LIST@[6; 8)
+      L_PAREN@[6; 7) "("
+      R_PAREN@[7; 8) ")"
+    WHITESPACE@[8; 9) " "
+    BLOCK_EXPR@[9; 42)
+      BLOCK@[9; 42)
+        L_CURLY@[9; 10) "{"
+        WHITESPACE@[10; 15) "\n    "
+        LET_STMT@[15; 40)
+          LET_KW@[15; 18) "let"
+          WHITESPACE@[18; 19) " "
+          PLACEHOLDER_PAT@[19; 20)
+            UNDERSCORE@[19; 20) "_"
+          WHITESPACE@[20; 21) " "
+          EQ@[21; 22) "="
+          WHITESPACE@[22; 23) " "
+          CAST_EXPR@[23; 39)
+            REF_EXPR@[23; 25)
+              AMP@[23; 24) "&"
+              LITERAL@[24; 25)
+                INT_NUMBER@[24; 25) "1"
+            WHITESPACE@[25; 26) " "
+            AS_KW@[26; 28) "as"
+            WHITESPACE@[28; 29) " "
+            POINTER_TYPE@[29; 39)
+              STAR@[29; 30) "*"
+              CONST_KW@[30; 35) "const"
+              WHITESPACE@[35; 36) " "
+              PATH_TYPE@[36; 39)
+                PATH@[36; 39)
+                  PATH_SEGMENT@[36; 39)
+                    NAME_REF@[36; 39)
+                      IDENT@[36; 39) "i32"
+          SEMI@[39; 40) ";"
+        WHITESPACE@[40; 41) "\n"
+        R_CURLY@[41; 42) "}"
+  WHITESPACE@[42; 43) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rs b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rs
new file mode 100644 (file)
index 0000000..100fccc
--- /dev/null
@@ -0,0 +1,7 @@
+fn foo() {
+    1 + *&2 + 3;
+    *&1 as u64;
+    *x(1);
+    &x[1];
+    -1..2;
+}
diff --git a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt
new file mode 100644 (file)
index 0000000..d30cb63
--- /dev/null
@@ -0,0 +1,97 @@
+SOURCE_FILE@[0; 79)
+  FN_DEF@[0; 78)
+    FN_KW@[0; 2) "fn"
+    WHITESPACE@[2; 3) " "
+    NAME@[3; 6)
+      IDENT@[3; 6) "foo"
+    PARAM_LIST@[6; 8)
+      L_PAREN@[6; 7) "("
+      R_PAREN@[7; 8) ")"
+    WHITESPACE@[8; 9) " "
+    BLOCK_EXPR@[9; 78)
+      BLOCK@[9; 78)
+        L_CURLY@[9; 10) "{"
+        WHITESPACE@[10; 15) "\n    "
+        EXPR_STMT@[15; 27)
+          BIN_EXPR@[15; 26)
+            BIN_EXPR@[15; 22)
+              LITERAL@[15; 16)
+                INT_NUMBER@[15; 16) "1"
+              WHITESPACE@[16; 17) " "
+              PLUS@[17; 18) "+"
+              WHITESPACE@[18; 19) " "
+              PREFIX_EXPR@[19; 22)
+                STAR@[19; 20) "*"
+                REF_EXPR@[20; 22)
+                  AMP@[20; 21) "&"
+                  LITERAL@[21; 22)
+                    INT_NUMBER@[21; 22) "2"
+            WHITESPACE@[22; 23) " "
+            PLUS@[23; 24) "+"
+            WHITESPACE@[24; 25) " "
+            LITERAL@[25; 26)
+              INT_NUMBER@[25; 26) "3"
+          SEMI@[26; 27) ";"
+        WHITESPACE@[27; 32) "\n    "
+        EXPR_STMT@[32; 43)
+          CAST_EXPR@[32; 42)
+            PREFIX_EXPR@[32; 35)
+              STAR@[32; 33) "*"
+              REF_EXPR@[33; 35)
+                AMP@[33; 34) "&"
+                LITERAL@[34; 35)
+                  INT_NUMBER@[34; 35) "1"
+            WHITESPACE@[35; 36) " "
+            AS_KW@[36; 38) "as"
+            WHITESPACE@[38; 39) " "
+            PATH_TYPE@[39; 42)
+              PATH@[39; 42)
+                PATH_SEGMENT@[39; 42)
+                  NAME_REF@[39; 42)
+                    IDENT@[39; 42) "u64"
+          SEMI@[42; 43) ";"
+        WHITESPACE@[43; 48) "\n    "
+        EXPR_STMT@[48; 54)
+          PREFIX_EXPR@[48; 53)
+            STAR@[48; 49) "*"
+            CALL_EXPR@[49; 53)
+              PATH_EXPR@[49; 50)
+                PATH@[49; 50)
+                  PATH_SEGMENT@[49; 50)
+                    NAME_REF@[49; 50)
+                      IDENT@[49; 50) "x"
+              ARG_LIST@[50; 53)
+                L_PAREN@[50; 51) "("
+                LITERAL@[51; 52)
+                  INT_NUMBER@[51; 52) "1"
+                R_PAREN@[52; 53) ")"
+          SEMI@[53; 54) ";"
+        WHITESPACE@[54; 59) "\n    "
+        EXPR_STMT@[59; 65)
+          REF_EXPR@[59; 64)
+            AMP@[59; 60) "&"
+            INDEX_EXPR@[60; 64)
+              PATH_EXPR@[60; 61)
+                PATH@[60; 61)
+                  PATH_SEGMENT@[60; 61)
+                    NAME_REF@[60; 61)
+                      IDENT@[60; 61) "x"
+              L_BRACK@[61; 62) "["
+              LITERAL@[62; 63)
+                INT_NUMBER@[62; 63) "1"
+              R_BRACK@[63; 64) "]"
+          SEMI@[64; 65) ";"
+        WHITESPACE@[65; 70) "\n    "
+        EXPR_STMT@[70; 76)
+          RANGE_EXPR@[70; 75)
+            PREFIX_EXPR@[70; 72)
+              MINUS@[70; 71) "-"
+              LITERAL@[71; 72)
+                INT_NUMBER@[71; 72) "1"
+            DOTDOT@[72; 74) ".."
+            LITERAL@[74; 75)
+              INT_NUMBER@[74; 75) "2"
+          SEMI@[75; 76) ";"
+        WHITESPACE@[76; 77) "\n"
+        R_CURLY@[77; 78) "}"
+  WHITESPACE@[78; 79) "\n"