From c6f4a06b4297f498da4bc2cd747aa38effb855b0 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 18 Feb 2018 01:06:48 +0300 Subject: G: value_parameters, patterns & let statement --- tests/data/parser/inline/0001_const_unsafe_fn.txt | 9 +- tests/data/parser/inline/0002_const_fn.txt | 9 +- tests/data/parser/inline/0004_extern_fn.txt | 9 +- tests/data/parser/inline/0011_unsafe_fn.txt | 9 +- tests/data/parser/inline/0012_unsafe_extern_fn.txt | 9 +- .../parser/inline/0013_unsafe_block_in_mod.txt | 14 ++-- .../data/parser/inline/0033_fn_value_parameters.rs | 4 + .../parser/inline/0033_fn_value_parameters.txt | 95 ++++++++++++++++++++++ tests/data/parser/inline/0034_bind_pat.rs | 6 ++ tests/data/parser/inline/0034_bind_pat.txt | 81 ++++++++++++++++++ tests/data/parser/inline/0035_ref_pat.rs | 4 + tests/data/parser/inline/0035_ref_pat.txt | 48 +++++++++++ tests/data/parser/inline/0036_placeholder_pat.rs | 1 + tests/data/parser/inline/0036_placeholder_pat.txt | 27 ++++++ 14 files changed, 299 insertions(+), 26 deletions(-) create mode 100644 tests/data/parser/inline/0033_fn_value_parameters.rs create mode 100644 tests/data/parser/inline/0033_fn_value_parameters.txt create mode 100644 tests/data/parser/inline/0034_bind_pat.rs create mode 100644 tests/data/parser/inline/0034_bind_pat.txt create mode 100644 tests/data/parser/inline/0035_ref_pat.rs create mode 100644 tests/data/parser/inline/0035_ref_pat.txt create mode 100644 tests/data/parser/inline/0036_placeholder_pat.rs create mode 100644 tests/data/parser/inline/0036_placeholder_pat.txt (limited to 'tests/data/parser/inline') diff --git a/tests/data/parser/inline/0001_const_unsafe_fn.txt b/tests/data/parser/inline/0001_const_unsafe_fn.txt index 59bf89ddb..48de02284 100644 --- a/tests/data/parser/inline/0001_const_unsafe_fn.txt +++ b/tests/data/parser/inline/0001_const_unsafe_fn.txt @@ -10,7 +10,8 @@ FILE@[0; 25) IDENT@[16; 19) "foo" L_PAREN@[19; 20) R_PAREN@[20; 21) - WHITESPACE@[21; 22) - L_CURLY@[22; 23) - R_CURLY@[23; 24) - WHITESPACE@[24; 25) + BLOCK@[21; 25) + WHITESPACE@[21; 22) + L_CURLY@[22; 23) + R_CURLY@[23; 24) + WHITESPACE@[24; 25) diff --git a/tests/data/parser/inline/0002_const_fn.txt b/tests/data/parser/inline/0002_const_fn.txt index 2e9d18f7f..733e47656 100644 --- a/tests/data/parser/inline/0002_const_fn.txt +++ b/tests/data/parser/inline/0002_const_fn.txt @@ -8,7 +8,8 @@ FILE@[0; 18) IDENT@[9; 12) "foo" L_PAREN@[12; 13) R_PAREN@[13; 14) - WHITESPACE@[14; 15) - L_CURLY@[15; 16) - R_CURLY@[16; 17) - WHITESPACE@[17; 18) + BLOCK@[14; 18) + WHITESPACE@[14; 15) + L_CURLY@[15; 16) + R_CURLY@[16; 17) + WHITESPACE@[17; 18) diff --git a/tests/data/parser/inline/0004_extern_fn.txt b/tests/data/parser/inline/0004_extern_fn.txt index 70a909ccf..1caeffe3b 100644 --- a/tests/data/parser/inline/0004_extern_fn.txt +++ b/tests/data/parser/inline/0004_extern_fn.txt @@ -9,7 +9,8 @@ FILE@[0; 19) IDENT@[10; 13) "foo" L_PAREN@[13; 14) R_PAREN@[14; 15) - WHITESPACE@[15; 16) - L_CURLY@[16; 17) - R_CURLY@[17; 18) - WHITESPACE@[18; 19) + BLOCK@[15; 19) + WHITESPACE@[15; 16) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) diff --git a/tests/data/parser/inline/0011_unsafe_fn.txt b/tests/data/parser/inline/0011_unsafe_fn.txt index ed790fe22..d89ad451f 100644 --- a/tests/data/parser/inline/0011_unsafe_fn.txt +++ b/tests/data/parser/inline/0011_unsafe_fn.txt @@ -8,7 +8,8 @@ FILE@[0; 19) IDENT@[10; 13) "foo" L_PAREN@[13; 14) R_PAREN@[14; 15) - WHITESPACE@[15; 16) - L_CURLY@[16; 17) - R_CURLY@[17; 18) - WHITESPACE@[18; 19) + BLOCK@[15; 19) + WHITESPACE@[15; 16) + L_CURLY@[16; 17) + R_CURLY@[17; 18) + WHITESPACE@[18; 19) diff --git a/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/tests/data/parser/inline/0012_unsafe_extern_fn.txt index 3c8a15d12..b4c602380 100644 --- a/tests/data/parser/inline/0012_unsafe_extern_fn.txt +++ b/tests/data/parser/inline/0012_unsafe_extern_fn.txt @@ -13,7 +13,8 @@ FILE@[0; 30) IDENT@[21; 24) "foo" L_PAREN@[24; 25) R_PAREN@[25; 26) - WHITESPACE@[26; 27) - L_CURLY@[27; 28) - R_CURLY@[28; 29) - WHITESPACE@[29; 30) + BLOCK@[26; 30) + WHITESPACE@[26; 27) + L_CURLY@[27; 28) + R_CURLY@[28; 29) + WHITESPACE@[29; 30) diff --git a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt index 305e3058d..5ddc1736c 100644 --- a/tests/data/parser/inline/0013_unsafe_block_in_mod.txt +++ b/tests/data/parser/inline/0013_unsafe_block_in_mod.txt @@ -6,9 +6,10 @@ FILE@[0; 33) IDENT@[3; 6) "foo" L_PAREN@[6; 7) R_PAREN@[7; 8) - L_CURLY@[8; 9) - R_CURLY@[9; 10) - WHITESPACE@[10; 11) + BLOCK@[8; 11) + L_CURLY@[8; 9) + R_CURLY@[9; 10) + WHITESPACE@[10; 11) UNSAFE_KW@[11; 17) ERROR@[17; 22) err: `expected `trait`, `impl` or `fn`` @@ -24,6 +25,7 @@ FILE@[0; 33) IDENT@[25; 28) "bar" L_PAREN@[28; 29) R_PAREN@[29; 30) - L_CURLY@[30; 31) - R_CURLY@[31; 32) - WHITESPACE@[32; 33) + BLOCK@[30; 33) + L_CURLY@[30; 31) + R_CURLY@[31; 32) + WHITESPACE@[32; 33) diff --git a/tests/data/parser/inline/0033_fn_value_parameters.rs b/tests/data/parser/inline/0033_fn_value_parameters.rs new file mode 100644 index 000000000..9d55bedbb --- /dev/null +++ b/tests/data/parser/inline/0033_fn_value_parameters.rs @@ -0,0 +1,4 @@ +fn a() {} +fn b(x: i32) {} +fn c(x: i32, ) {} +fn d(x: i32, y: ()) {} diff --git a/tests/data/parser/inline/0033_fn_value_parameters.txt b/tests/data/parser/inline/0033_fn_value_parameters.txt new file mode 100644 index 000000000..b0a5ff6b4 --- /dev/null +++ b/tests/data/parser/inline/0033_fn_value_parameters.txt @@ -0,0 +1,95 @@ +FILE@[0; 67) + FN_ITEM@[0; 10) + FN_KW@[0; 2) + NAME@[2; 4) + WHITESPACE@[2; 3) + IDENT@[3; 4) "a" + L_PAREN@[4; 5) + R_PAREN@[5; 6) + BLOCK@[6; 10) + WHITESPACE@[6; 7) + L_CURLY@[7; 8) + R_CURLY@[8; 9) + WHITESPACE@[9; 10) + FN_ITEM@[10; 26) + FN_KW@[10; 12) + NAME@[12; 14) + WHITESPACE@[12; 13) + IDENT@[13; 14) "b" + L_PAREN@[14; 15) + VALUE_PARAMETER@[15; 21) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "x" + COLON@[16; 17) + PATH_TYPE@[17; 21) + PATH@[17; 21) + PATH_SEGMENT@[17; 21) + NAME_REF@[17; 21) + WHITESPACE@[17; 18) + IDENT@[18; 21) "i32" + R_PAREN@[21; 22) + BLOCK@[22; 26) + WHITESPACE@[22; 23) + L_CURLY@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) + FN_ITEM@[26; 44) + FN_KW@[26; 28) + NAME@[28; 30) + WHITESPACE@[28; 29) + IDENT@[29; 30) "c" + L_PAREN@[30; 31) + VALUE_PARAMETER@[31; 37) + BIND_PAT@[31; 32) + NAME@[31; 32) + IDENT@[31; 32) "x" + COLON@[32; 33) + PATH_TYPE@[33; 37) + PATH@[33; 37) + PATH_SEGMENT@[33; 37) + NAME_REF@[33; 37) + WHITESPACE@[33; 34) + IDENT@[34; 37) "i32" + COMMA@[37; 38) + WHITESPACE@[38; 39) + R_PAREN@[39; 40) + BLOCK@[40; 44) + WHITESPACE@[40; 41) + L_CURLY@[41; 42) + R_CURLY@[42; 43) + WHITESPACE@[43; 44) + FN_ITEM@[44; 67) + FN_KW@[44; 46) + NAME@[46; 48) + WHITESPACE@[46; 47) + IDENT@[47; 48) "d" + L_PAREN@[48; 49) + VALUE_PARAMETER@[49; 55) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + COLON@[50; 51) + PATH_TYPE@[51; 55) + PATH@[51; 55) + PATH_SEGMENT@[51; 55) + NAME_REF@[51; 55) + WHITESPACE@[51; 52) + IDENT@[52; 55) "i32" + COMMA@[55; 56) + VALUE_PARAMETER@[56; 62) + BIND_PAT@[56; 58) + NAME@[56; 58) + WHITESPACE@[56; 57) + IDENT@[57; 58) "y" + COLON@[58; 59) + TUPLE_TYPE@[59; 62) + WHITESPACE@[59; 60) + L_PAREN@[60; 61) + R_PAREN@[61; 62) + R_PAREN@[62; 63) + BLOCK@[63; 67) + WHITESPACE@[63; 64) + L_CURLY@[64; 65) + R_CURLY@[65; 66) + WHITESPACE@[66; 67) diff --git a/tests/data/parser/inline/0034_bind_pat.rs b/tests/data/parser/inline/0034_bind_pat.rs new file mode 100644 index 000000000..604db2407 --- /dev/null +++ b/tests/data/parser/inline/0034_bind_pat.rs @@ -0,0 +1,6 @@ +fn main() { + let a = (); + let ref b = (); + let ref mut c = (); + let d @ _ = (); +} diff --git a/tests/data/parser/inline/0034_bind_pat.txt b/tests/data/parser/inline/0034_bind_pat.txt new file mode 100644 index 000000000..426e37e97 --- /dev/null +++ b/tests/data/parser/inline/0034_bind_pat.txt @@ -0,0 +1,81 @@ +FILE@[0; 94) + FN_ITEM@[0; 94) + FN_KW@[0; 2) + NAME@[2; 7) + WHITESPACE@[2; 3) + IDENT@[3; 7) "main" + L_PAREN@[7; 8) + R_PAREN@[8; 9) + BLOCK@[9; 94) + WHITESPACE@[9; 10) + L_CURLY@[10; 11) + LET_STMT@[11; 32) + WHITESPACE@[11; 16) + LET_KW@[16; 19) + BIND_PAT@[19; 22) + NAME@[19; 22) + WHITESPACE@[19; 20) + IDENT@[20; 21) "a" + WHITESPACE@[21; 22) + EQ@[22; 23) + TUPLE_EXPR@[23; 26) + WHITESPACE@[23; 24) + L_PAREN@[24; 25) + R_PAREN@[25; 26) + SEMI@[26; 27) + WHITESPACE@[27; 32) + LET_STMT@[32; 52) + LET_KW@[32; 35) + BIND_PAT@[35; 42) + WHITESPACE@[35; 36) + REF_KW@[36; 39) + NAME@[39; 42) + WHITESPACE@[39; 40) + IDENT@[40; 41) "b" + WHITESPACE@[41; 42) + EQ@[42; 43) + TUPLE_EXPR@[43; 46) + WHITESPACE@[43; 44) + L_PAREN@[44; 45) + R_PAREN@[45; 46) + SEMI@[46; 47) + WHITESPACE@[47; 52) + LET_STMT@[52; 76) + LET_KW@[52; 55) + BIND_PAT@[55; 66) + WHITESPACE@[55; 56) + REF_KW@[56; 59) + WHITESPACE@[59; 60) + MUT_KW@[60; 63) + NAME@[63; 66) + WHITESPACE@[63; 64) + IDENT@[64; 65) "c" + WHITESPACE@[65; 66) + EQ@[66; 67) + TUPLE_EXPR@[67; 70) + WHITESPACE@[67; 68) + L_PAREN@[68; 69) + R_PAREN@[69; 70) + SEMI@[70; 71) + WHITESPACE@[71; 76) + LET_STMT@[76; 92) + LET_KW@[76; 79) + BIND_PAT@[79; 86) + NAME@[79; 82) + WHITESPACE@[79; 80) + IDENT@[80; 81) "d" + WHITESPACE@[81; 82) + AT@[82; 83) + PLACEHOLDER_PAT@[83; 86) + WHITESPACE@[83; 84) + UNDERSCORE@[84; 85) + WHITESPACE@[85; 86) + EQ@[86; 87) + TUPLE_EXPR@[87; 90) + WHITESPACE@[87; 88) + L_PAREN@[88; 89) + R_PAREN@[89; 90) + SEMI@[90; 91) + WHITESPACE@[91; 92) + R_CURLY@[92; 93) + WHITESPACE@[93; 94) diff --git a/tests/data/parser/inline/0035_ref_pat.rs b/tests/data/parser/inline/0035_ref_pat.rs new file mode 100644 index 000000000..de41f5cae --- /dev/null +++ b/tests/data/parser/inline/0035_ref_pat.rs @@ -0,0 +1,4 @@ +fn main() { + let &a = (); + let &mut b = (); +} diff --git a/tests/data/parser/inline/0035_ref_pat.txt b/tests/data/parser/inline/0035_ref_pat.txt new file mode 100644 index 000000000..57623f31c --- /dev/null +++ b/tests/data/parser/inline/0035_ref_pat.txt @@ -0,0 +1,48 @@ +FILE@[0; 52) + FN_ITEM@[0; 52) + FN_KW@[0; 2) + NAME@[2; 7) + WHITESPACE@[2; 3) + IDENT@[3; 7) "main" + L_PAREN@[7; 8) + R_PAREN@[8; 9) + BLOCK@[9; 52) + WHITESPACE@[9; 10) + L_CURLY@[10; 11) + LET_STMT@[11; 33) + WHITESPACE@[11; 16) + LET_KW@[16; 19) + REF_PAT@[19; 23) + WHITESPACE@[19; 20) + AMPERSAND@[20; 21) + BIND_PAT@[21; 23) + NAME@[21; 23) + IDENT@[21; 22) "a" + WHITESPACE@[22; 23) + EQ@[23; 24) + TUPLE_EXPR@[24; 27) + WHITESPACE@[24; 25) + L_PAREN@[25; 26) + R_PAREN@[26; 27) + SEMI@[27; 28) + WHITESPACE@[28; 33) + LET_STMT@[33; 50) + LET_KW@[33; 36) + REF_PAT@[36; 44) + WHITESPACE@[36; 37) + AMPERSAND@[37; 38) + MUT_KW@[38; 41) + BIND_PAT@[41; 44) + NAME@[41; 44) + WHITESPACE@[41; 42) + IDENT@[42; 43) "b" + WHITESPACE@[43; 44) + EQ@[44; 45) + TUPLE_EXPR@[45; 48) + WHITESPACE@[45; 46) + L_PAREN@[46; 47) + R_PAREN@[47; 48) + SEMI@[48; 49) + WHITESPACE@[49; 50) + R_CURLY@[50; 51) + WHITESPACE@[51; 52) diff --git a/tests/data/parser/inline/0036_placeholder_pat.rs b/tests/data/parser/inline/0036_placeholder_pat.rs new file mode 100644 index 000000000..4d719c433 --- /dev/null +++ b/tests/data/parser/inline/0036_placeholder_pat.rs @@ -0,0 +1 @@ +fn main() { let _ = (); } diff --git a/tests/data/parser/inline/0036_placeholder_pat.txt b/tests/data/parser/inline/0036_placeholder_pat.txt new file mode 100644 index 000000000..06b84c2b5 --- /dev/null +++ b/tests/data/parser/inline/0036_placeholder_pat.txt @@ -0,0 +1,27 @@ +FILE@[0; 26) + FN_ITEM@[0; 26) + FN_KW@[0; 2) + NAME@[2; 7) + WHITESPACE@[2; 3) + IDENT@[3; 7) "main" + L_PAREN@[7; 8) + R_PAREN@[8; 9) + BLOCK@[9; 26) + WHITESPACE@[9; 10) + L_CURLY@[10; 11) + LET_STMT@[11; 24) + WHITESPACE@[11; 12) + LET_KW@[12; 15) + PLACEHOLDER_PAT@[15; 18) + WHITESPACE@[15; 16) + UNDERSCORE@[16; 17) + WHITESPACE@[17; 18) + EQ@[18; 19) + TUPLE_EXPR@[19; 22) + WHITESPACE@[19; 20) + L_PAREN@[20; 21) + R_PAREN@[21; 22) + SEMI@[22; 23) + WHITESPACE@[23; 24) + R_CURLY@[24; 25) + WHITESPACE@[25; 26) -- cgit v1.2.3