From 8908e51aeaee91d6b63684a21ed1ca16de49916f Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 7 Aug 2018 14:24:03 +0300 Subject: full precedence --- .../data/parser/inline/0074_expr_binding_power.rs | 4 - .../data/parser/inline/0074_expr_binding_power.txt | 72 -------- tests/data/parser/inline/0079_compound_ops.txt | 72 -------- .../data/parser/inline/0082_range_binding_power.rs | 5 - .../parser/inline/0082_range_binding_power.txt | 72 -------- tests/data/parser/inline/0084_compound_ops.rs | 6 - tests/data/parser/inline/0084_compound_ops.txt | 89 ---------- tests/data/parser/inline/0085_neg_expr.rs | 3 + tests/data/parser/inline/0085_neg_expr.txt | 24 +++ .../data/parser/ok/0028_operator_binding_power.rs | 14 ++ .../data/parser/ok/0028_operator_binding_power.txt | 185 +++++++++++++++++++++ tests/data/parser/ok/0029_range_forms.rs | 5 + tests/data/parser/ok/0029_range_forms.txt | 68 ++++++++ 13 files changed, 299 insertions(+), 320 deletions(-) delete mode 100644 tests/data/parser/inline/0074_expr_binding_power.rs delete mode 100644 tests/data/parser/inline/0074_expr_binding_power.txt delete mode 100644 tests/data/parser/inline/0079_compound_ops.txt delete mode 100644 tests/data/parser/inline/0082_range_binding_power.rs delete mode 100644 tests/data/parser/inline/0082_range_binding_power.txt delete mode 100644 tests/data/parser/inline/0084_compound_ops.rs delete mode 100644 tests/data/parser/inline/0084_compound_ops.txt create mode 100644 tests/data/parser/inline/0085_neg_expr.rs create mode 100644 tests/data/parser/inline/0085_neg_expr.txt create mode 100644 tests/data/parser/ok/0028_operator_binding_power.rs create mode 100644 tests/data/parser/ok/0028_operator_binding_power.txt create mode 100644 tests/data/parser/ok/0029_range_forms.rs create mode 100644 tests/data/parser/ok/0029_range_forms.txt (limited to 'tests') diff --git a/tests/data/parser/inline/0074_expr_binding_power.rs b/tests/data/parser/inline/0074_expr_binding_power.rs deleted file mode 100644 index 87afb036e..000000000 --- a/tests/data/parser/inline/0074_expr_binding_power.rs +++ /dev/null @@ -1,4 +0,0 @@ -fn foo() { - 1 + 2 * 3 == 1 * 2 + 3; - *x = 1 + 1; -} diff --git a/tests/data/parser/inline/0074_expr_binding_power.txt b/tests/data/parser/inline/0074_expr_binding_power.txt deleted file mode 100644 index fc0831d18..000000000 --- a/tests/data/parser/inline/0074_expr_binding_power.txt +++ /dev/null @@ -1,72 +0,0 @@ -FILE@[0; 57) - FN_ITEM@[0; 56) - FN_KW@[0; 2) - 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; 56) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - EXPR_STMT@[15; 38) - BIN_EXPR@[15; 37) - BIN_EXPR@[15; 24) - LITERAL@[15; 16) - INT_NUMBER@[15; 16) "1" - WHITESPACE@[16; 17) - PLUS@[17; 18) - WHITESPACE@[18; 19) - BIN_EXPR@[19; 24) - LITERAL@[19; 20) - INT_NUMBER@[19; 20) "2" - WHITESPACE@[20; 21) - STAR@[21; 22) - WHITESPACE@[22; 23) - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "3" - WHITESPACE@[24; 25) - EQEQ@[25; 27) - WHITESPACE@[27; 28) - BIN_EXPR@[28; 37) - BIN_EXPR@[28; 33) - LITERAL@[28; 29) - INT_NUMBER@[28; 29) "1" - WHITESPACE@[29; 30) - STAR@[30; 31) - WHITESPACE@[31; 32) - LITERAL@[32; 33) - INT_NUMBER@[32; 33) "2" - WHITESPACE@[33; 34) - PLUS@[34; 35) - WHITESPACE@[35; 36) - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "3" - SEMI@[37; 38) - WHITESPACE@[38; 43) - EXPR_STMT@[43; 54) - BIN_EXPR@[43; 53) - DEREF_EXPR@[43; 45) - STAR@[43; 44) - PATH_EXPR@[44; 45) - PATH@[44; 45) - PATH_SEGMENT@[44; 45) - NAME_REF@[44; 45) - IDENT@[44; 45) "x" - WHITESPACE@[45; 46) - EQ@[46; 47) - WHITESPACE@[47; 48) - BIN_EXPR@[48; 53) - LITERAL@[48; 49) - INT_NUMBER@[48; 49) "1" - WHITESPACE@[49; 50) - PLUS@[50; 51) - WHITESPACE@[51; 52) - LITERAL@[52; 53) - INT_NUMBER@[52; 53) "1" - SEMI@[53; 54) - WHITESPACE@[54; 55) - R_CURLY@[55; 56) - WHITESPACE@[56; 57) diff --git a/tests/data/parser/inline/0079_compound_ops.txt b/tests/data/parser/inline/0079_compound_ops.txt deleted file mode 100644 index 6eaed8c75..000000000 --- a/tests/data/parser/inline/0079_compound_ops.txt +++ /dev/null @@ -1,72 +0,0 @@ -FILE@[0; 62) - FN_ITEM@[0; 62) - FN_KW@[0; 2) - NAME@[2; 6) - WHITESPACE@[2; 3) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 9) - L_PAREN@[6; 7) - R_PAREN@[7; 8) - WHITESPACE@[8; 9) - BLOCK_EXPR@[9; 62) - L_CURLY@[9; 10) - EXPR_STMT@[10; 27) - BIN_EXPR@[10; 21) - PATH_EXPR@[10; 17) - PATH@[10; 17) - PATH_SEGMENT@[10; 17) - NAME_REF@[10; 17) - WHITESPACE@[10; 15) - IDENT@[15; 16) "x" - WHITESPACE@[16; 17) - PLUSEQ@[17; 19) - LITERAL@[19; 21) - WHITESPACE@[19; 20) - INT_NUMBER@[20; 21) "1" - SEMI@[21; 22) - WHITESPACE@[22; 27) - EXPR_STMT@[27; 47) - BIN_EXPR@[27; 41) - BIN_EXPR@[27; 33) - LITERAL@[27; 29) - INT_NUMBER@[27; 28) "1" - WHITESPACE@[28; 29) - PLUS@[29; 30) - LITERAL@[30; 33) - WHITESPACE@[30; 31) - INT_NUMBER@[31; 32) "1" - WHITESPACE@[32; 33) - LTEQ@[33; 35) - BIN_EXPR@[35; 41) - LITERAL@[35; 38) - WHITESPACE@[35; 36) - INT_NUMBER@[36; 37) "2" - WHITESPACE@[37; 38) - STAR@[38; 39) - LITERAL@[39; 41) - WHITESPACE@[39; 40) - INT_NUMBER@[40; 41) "3" - SEMI@[41; 42) - WHITESPACE@[42; 47) - EXPR_STMT@[47; 60) - BIN_EXPR@[47; 58) - PATH_EXPR@[47; 49) - PATH@[47; 49) - PATH_SEGMENT@[47; 49) - NAME_REF@[47; 49) - IDENT@[47; 48) "z" - WHITESPACE@[48; 49) - MINUSEQ@[49; 51) - BIN_EXPR@[51; 58) - LITERAL@[51; 54) - WHITESPACE@[51; 52) - INT_NUMBER@[52; 53) "3" - WHITESPACE@[53; 54) - GTEQ@[54; 56) - LITERAL@[56; 58) - WHITESPACE@[56; 57) - INT_NUMBER@[57; 58) "0" - SEMI@[58; 59) - WHITESPACE@[59; 60) - R_CURLY@[60; 61) - WHITESPACE@[61; 62) diff --git a/tests/data/parser/inline/0082_range_binding_power.rs b/tests/data/parser/inline/0082_range_binding_power.rs deleted file mode 100644 index 259ec31e2..000000000 --- a/tests/data/parser/inline/0082_range_binding_power.rs +++ /dev/null @@ -1,5 +0,0 @@ -fn foo() { - .. 1 + 1; - .. z = 2; - x = false .. 1 == 1; -} diff --git a/tests/data/parser/inline/0082_range_binding_power.txt b/tests/data/parser/inline/0082_range_binding_power.txt deleted file mode 100644 index 72666d8f8..000000000 --- a/tests/data/parser/inline/0082_range_binding_power.txt +++ /dev/null @@ -1,72 +0,0 @@ -FILE@[0; 66) - FN_ITEM@[0; 65) - FN_KW@[0; 2) - 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; 65) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - EXPR_STMT@[15; 24) - RANGE_EXPR@[15; 23) - DOTDOT@[15; 17) - WHITESPACE@[17; 18) - BIN_EXPR@[18; 23) - 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) - EXPR_STMT@[29; 38) - BIN_EXPR@[29; 37) - RANGE_EXPR@[29; 33) - DOTDOT@[29; 31) - WHITESPACE@[31; 32) - PATH_EXPR@[32; 33) - PATH@[32; 33) - PATH_SEGMENT@[32; 33) - NAME_REF@[32; 33) - IDENT@[32; 33) "z" - WHITESPACE@[33; 34) - EQ@[34; 35) - WHITESPACE@[35; 36) - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "2" - SEMI@[37; 38) - WHITESPACE@[38; 43) - EXPR_STMT@[43; 63) - BIN_EXPR@[43; 62) - PATH_EXPR@[43; 44) - PATH@[43; 44) - PATH_SEGMENT@[43; 44) - NAME_REF@[43; 44) - IDENT@[43; 44) "x" - WHITESPACE@[44; 45) - EQ@[45; 46) - WHITESPACE@[46; 47) - BIN_EXPR@[47; 62) - LITERAL@[47; 52) - FALSE_KW@[47; 52) - WHITESPACE@[52; 53) - DOTDOT@[53; 55) - WHITESPACE@[55; 56) - BIN_EXPR@[56; 62) - LITERAL@[56; 57) - INT_NUMBER@[56; 57) "1" - WHITESPACE@[57; 58) - EQEQ@[58; 60) - WHITESPACE@[60; 61) - LITERAL@[61; 62) - INT_NUMBER@[61; 62) "1" - SEMI@[62; 63) - WHITESPACE@[63; 64) - R_CURLY@[64; 65) - WHITESPACE@[65; 66) diff --git a/tests/data/parser/inline/0084_compound_ops.rs b/tests/data/parser/inline/0084_compound_ops.rs deleted file mode 100644 index 04b1764f1..000000000 --- a/tests/data/parser/inline/0084_compound_ops.rs +++ /dev/null @@ -1,6 +0,0 @@ -fn foo() { - x += 1; - 1 + 1 <= 2 * 3; - z -= 3 >= 0; - true || true && false; -} diff --git a/tests/data/parser/inline/0084_compound_ops.txt b/tests/data/parser/inline/0084_compound_ops.txt deleted file mode 100644 index d51f638a2..000000000 --- a/tests/data/parser/inline/0084_compound_ops.txt +++ /dev/null @@ -1,89 +0,0 @@ -FILE@[0; 89) - FN_ITEM@[0; 88) - FN_KW@[0; 2) - 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; 88) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) - EXPR_STMT@[15; 22) - BIN_EXPR@[15; 21) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - WHITESPACE@[16; 17) - PLUSEQ@[17; 19) - WHITESPACE@[19; 20) - LITERAL@[20; 21) - INT_NUMBER@[20; 21) "1" - SEMI@[21; 22) - WHITESPACE@[22; 27) - EXPR_STMT@[27; 42) - BIN_EXPR@[27; 41) - BIN_EXPR@[27; 32) - LITERAL@[27; 28) - INT_NUMBER@[27; 28) "1" - WHITESPACE@[28; 29) - PLUS@[29; 30) - WHITESPACE@[30; 31) - LITERAL@[31; 32) - INT_NUMBER@[31; 32) "1" - WHITESPACE@[32; 33) - LTEQ@[33; 35) - WHITESPACE@[35; 36) - BIN_EXPR@[36; 41) - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "2" - WHITESPACE@[37; 38) - STAR@[38; 39) - WHITESPACE@[39; 40) - LITERAL@[40; 41) - INT_NUMBER@[40; 41) "3" - SEMI@[41; 42) - WHITESPACE@[42; 47) - EXPR_STMT@[47; 59) - BIN_EXPR@[47; 58) - PATH_EXPR@[47; 48) - PATH@[47; 48) - PATH_SEGMENT@[47; 48) - NAME_REF@[47; 48) - IDENT@[47; 48) "z" - WHITESPACE@[48; 49) - MINUSEQ@[49; 51) - WHITESPACE@[51; 52) - BIN_EXPR@[52; 58) - LITERAL@[52; 53) - INT_NUMBER@[52; 53) "3" - WHITESPACE@[53; 54) - GTEQ@[54; 56) - WHITESPACE@[56; 57) - LITERAL@[57; 58) - INT_NUMBER@[57; 58) "0" - SEMI@[58; 59) - WHITESPACE@[59; 64) - EXPR_STMT@[64; 86) - BIN_EXPR@[64; 85) - LITERAL@[64; 68) - TRUE_KW@[64; 68) - WHITESPACE@[68; 69) - PIPEPIPE@[69; 71) - WHITESPACE@[71; 72) - BIN_EXPR@[72; 85) - LITERAL@[72; 76) - TRUE_KW@[72; 76) - WHITESPACE@[76; 77) - AMPAMP@[77; 79) - WHITESPACE@[79; 80) - LITERAL@[80; 85) - FALSE_KW@[80; 85) - SEMI@[85; 86) - WHITESPACE@[86; 87) - R_CURLY@[87; 88) - WHITESPACE@[88; 89) diff --git a/tests/data/parser/inline/0085_neg_expr.rs b/tests/data/parser/inline/0085_neg_expr.rs new file mode 100644 index 000000000..45149d222 --- /dev/null +++ b/tests/data/parser/inline/0085_neg_expr.rs @@ -0,0 +1,3 @@ +fn foo() { + --1; +} diff --git a/tests/data/parser/inline/0085_neg_expr.txt b/tests/data/parser/inline/0085_neg_expr.txt new file mode 100644 index 000000000..8eeb0b1e6 --- /dev/null +++ b/tests/data/parser/inline/0085_neg_expr.txt @@ -0,0 +1,24 @@ +FILE@[0; 22) + FN_ITEM@[0; 21) + FN_KW@[0; 2) + 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; 21) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 19) + NEG_EXPR@[15; 18) + MINUS@[15; 16) + NEG_EXPR@[16; 18) + MINUS@[16; 17) + LITERAL@[17; 18) + INT_NUMBER@[17; 18) "1" + SEMI@[18; 19) + WHITESPACE@[19; 20) + R_CURLY@[20; 21) + WHITESPACE@[21; 22) diff --git a/tests/data/parser/ok/0028_operator_binding_power.rs b/tests/data/parser/ok/0028_operator_binding_power.rs new file mode 100644 index 000000000..cc9598470 --- /dev/null +++ b/tests/data/parser/ok/0028_operator_binding_power.rs @@ -0,0 +1,14 @@ +fn binding_power() { + let x = 1 + 2 * 3 % 4 - 5 / 6; + 1 + 2 * 3; + 1 << 2 + 3; + 1 & 2 >> 3; + 1 ^ 2 & 3; + 1 | 2 ^ 3; + 1 == 2 | 3; + 1 && 2 == 3; + //1 || 2 && 2; + //1 .. 2 || 3; + //1 = 2 .. 3; + //---&*1 - --2 * 9; +} diff --git a/tests/data/parser/ok/0028_operator_binding_power.txt b/tests/data/parser/ok/0028_operator_binding_power.txt new file mode 100644 index 000000000..2cabd289e --- /dev/null +++ b/tests/data/parser/ok/0028_operator_binding_power.txt @@ -0,0 +1,185 @@ +FILE@[0; 248) + FN_ITEM@[0; 247) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 16) + IDENT@[3; 16) "binding_power" + PARAM_LIST@[16; 18) + L_PAREN@[16; 17) + R_PAREN@[17; 18) + WHITESPACE@[18; 19) + BLOCK_EXPR@[19; 247) + L_CURLY@[19; 20) + WHITESPACE@[20; 25) + LET_STMT@[25; 55) + LET_KW@[25; 28) + WHITESPACE@[28; 29) + BIND_PAT@[29; 30) + NAME@[29; 30) + IDENT@[29; 30) "x" + WHITESPACE@[30; 31) + EQ@[31; 32) + WHITESPACE@[32; 33) + BIN_EXPR@[33; 54) + BIN_EXPR@[33; 46) + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + WHITESPACE@[34; 35) + PLUS@[35; 36) + WHITESPACE@[36; 37) + BIN_EXPR@[37; 46) + BIN_EXPR@[37; 42) + LITERAL@[37; 38) + INT_NUMBER@[37; 38) "2" + WHITESPACE@[38; 39) + STAR@[39; 40) + WHITESPACE@[40; 41) + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "3" + WHITESPACE@[42; 43) + PERCENT@[43; 44) + WHITESPACE@[44; 45) + LITERAL@[45; 46) + INT_NUMBER@[45; 46) "4" + WHITESPACE@[46; 47) + MINUS@[47; 48) + WHITESPACE@[48; 49) + BIN_EXPR@[49; 54) + LITERAL@[49; 50) + INT_NUMBER@[49; 50) "5" + WHITESPACE@[50; 51) + SLASH@[51; 52) + WHITESPACE@[52; 53) + LITERAL@[53; 54) + INT_NUMBER@[53; 54) "6" + SEMI@[54; 55) + WHITESPACE@[55; 60) + EXPR_STMT@[60; 70) + BIN_EXPR@[60; 69) + LITERAL@[60; 61) + INT_NUMBER@[60; 61) "1" + WHITESPACE@[61; 62) + PLUS@[62; 63) + WHITESPACE@[63; 64) + BIN_EXPR@[64; 69) + LITERAL@[64; 65) + INT_NUMBER@[64; 65) "2" + WHITESPACE@[65; 66) + STAR@[66; 67) + WHITESPACE@[67; 68) + LITERAL@[68; 69) + INT_NUMBER@[68; 69) "3" + SEMI@[69; 70) + WHITESPACE@[70; 75) + EXPR_STMT@[75; 86) + BIN_EXPR@[75; 85) + LITERAL@[75; 76) + INT_NUMBER@[75; 76) "1" + WHITESPACE@[76; 77) + SHL@[77; 79) + WHITESPACE@[79; 80) + BIN_EXPR@[80; 85) + LITERAL@[80; 81) + INT_NUMBER@[80; 81) "2" + WHITESPACE@[81; 82) + PLUS@[82; 83) + WHITESPACE@[83; 84) + LITERAL@[84; 85) + INT_NUMBER@[84; 85) "3" + SEMI@[85; 86) + WHITESPACE@[86; 91) + EXPR_STMT@[91; 102) + BIN_EXPR@[91; 101) + LITERAL@[91; 92) + INT_NUMBER@[91; 92) "1" + WHITESPACE@[92; 93) + AMP@[93; 94) + WHITESPACE@[94; 95) + BIN_EXPR@[95; 101) + LITERAL@[95; 96) + INT_NUMBER@[95; 96) "2" + WHITESPACE@[96; 97) + SHR@[97; 99) + WHITESPACE@[99; 100) + LITERAL@[100; 101) + INT_NUMBER@[100; 101) "3" + SEMI@[101; 102) + WHITESPACE@[102; 107) + EXPR_STMT@[107; 117) + BIN_EXPR@[107; 116) + LITERAL@[107; 108) + INT_NUMBER@[107; 108) "1" + WHITESPACE@[108; 109) + CARET@[109; 110) + WHITESPACE@[110; 111) + BIN_EXPR@[111; 116) + LITERAL@[111; 112) + INT_NUMBER@[111; 112) "2" + WHITESPACE@[112; 113) + AMP@[113; 114) + WHITESPACE@[114; 115) + LITERAL@[115; 116) + INT_NUMBER@[115; 116) "3" + SEMI@[116; 117) + WHITESPACE@[117; 122) + EXPR_STMT@[122; 132) + BIN_EXPR@[122; 131) + LITERAL@[122; 123) + INT_NUMBER@[122; 123) "1" + WHITESPACE@[123; 124) + PIPE@[124; 125) + WHITESPACE@[125; 126) + BIN_EXPR@[126; 131) + LITERAL@[126; 127) + INT_NUMBER@[126; 127) "2" + WHITESPACE@[127; 128) + CARET@[128; 129) + WHITESPACE@[129; 130) + LITERAL@[130; 131) + INT_NUMBER@[130; 131) "3" + SEMI@[131; 132) + WHITESPACE@[132; 137) + EXPR_STMT@[137; 148) + BIN_EXPR@[137; 147) + LITERAL@[137; 138) + INT_NUMBER@[137; 138) "1" + WHITESPACE@[138; 139) + EQEQ@[139; 141) + WHITESPACE@[141; 142) + BIN_EXPR@[142; 147) + LITERAL@[142; 143) + INT_NUMBER@[142; 143) "2" + WHITESPACE@[143; 144) + PIPE@[144; 145) + WHITESPACE@[145; 146) + LITERAL@[146; 147) + INT_NUMBER@[146; 147) "3" + SEMI@[147; 148) + WHITESPACE@[148; 153) + EXPR_STMT@[153; 165) + BIN_EXPR@[153; 164) + LITERAL@[153; 154) + INT_NUMBER@[153; 154) "1" + WHITESPACE@[154; 155) + AMPAMP@[155; 157) + WHITESPACE@[157; 158) + BIN_EXPR@[158; 164) + LITERAL@[158; 159) + INT_NUMBER@[158; 159) "2" + WHITESPACE@[159; 160) + EQEQ@[160; 162) + WHITESPACE@[162; 163) + LITERAL@[163; 164) + INT_NUMBER@[163; 164) "3" + SEMI@[164; 165) + WHITESPACE@[165; 170) + COMMENT@[170; 184) + WHITESPACE@[184; 189) + COMMENT@[189; 203) + WHITESPACE@[203; 208) + COMMENT@[208; 221) + WHITESPACE@[221; 226) + COMMENT@[226; 245) + WHITESPACE@[245; 246) + R_CURLY@[246; 247) + WHITESPACE@[247; 248) diff --git a/tests/data/parser/ok/0029_range_forms.rs b/tests/data/parser/ok/0029_range_forms.rs new file mode 100644 index 000000000..74de11a7e --- /dev/null +++ b/tests/data/parser/ok/0029_range_forms.rs @@ -0,0 +1,5 @@ +fn foo() { + ..1 + 1; + ..z = 2; + x = false..1 == 1; +} diff --git a/tests/data/parser/ok/0029_range_forms.txt b/tests/data/parser/ok/0029_range_forms.txt new file mode 100644 index 000000000..8599f7dfc --- /dev/null +++ b/tests/data/parser/ok/0029_range_forms.txt @@ -0,0 +1,68 @@ +FILE@[0; 62) + FN_ITEM@[0; 61) + FN_KW@[0; 2) + 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; 61) + L_CURLY@[9; 10) + WHITESPACE@[10; 15) + EXPR_STMT@[15; 23) + RANGE_EXPR@[15; 22) + DOTDOT@[15; 17) + BIN_EXPR@[17; 22) + LITERAL@[17; 18) + INT_NUMBER@[17; 18) "1" + WHITESPACE@[18; 19) + PLUS@[19; 20) + WHITESPACE@[20; 21) + LITERAL@[21; 22) + INT_NUMBER@[21; 22) "1" + SEMI@[22; 23) + WHITESPACE@[23; 28) + EXPR_STMT@[28; 36) + BIN_EXPR@[28; 35) + RANGE_EXPR@[28; 31) + DOTDOT@[28; 30) + PATH_EXPR@[30; 31) + PATH@[30; 31) + PATH_SEGMENT@[30; 31) + NAME_REF@[30; 31) + IDENT@[30; 31) "z" + WHITESPACE@[31; 32) + EQ@[32; 33) + WHITESPACE@[33; 34) + LITERAL@[34; 35) + INT_NUMBER@[34; 35) "2" + SEMI@[35; 36) + WHITESPACE@[36; 41) + EXPR_STMT@[41; 59) + BIN_EXPR@[41; 58) + PATH_EXPR@[41; 42) + PATH@[41; 42) + PATH_SEGMENT@[41; 42) + NAME_REF@[41; 42) + IDENT@[41; 42) "x" + WHITESPACE@[42; 43) + EQ@[43; 44) + WHITESPACE@[44; 45) + BIN_EXPR@[45; 58) + LITERAL@[45; 50) + FALSE_KW@[45; 50) + DOTDOT@[50; 52) + BIN_EXPR@[52; 58) + LITERAL@[52; 53) + INT_NUMBER@[52; 53) "1" + WHITESPACE@[53; 54) + EQEQ@[54; 56) + WHITESPACE@[56; 57) + LITERAL@[57; 58) + INT_NUMBER@[57; 58) "1" + SEMI@[58; 59) + WHITESPACE@[59; 60) + R_CURLY@[60; 61) + WHITESPACE@[61; 62) -- cgit v1.2.3