From 1e19847af361721f0f2b0e1a70cd58559d2ca196 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 13 Mar 2020 12:20:42 +0100 Subject: Move verbose tests out of line --- .../ok/0116_trait_fn_placeholder_parameter.rs | 3 - .../ok/0116_trait_fn_placeholder_parameter.txt | 47 ----- .../test_data/parser/inline/ok/0152_fn_patterns.rs | 6 - .../parser/inline/ok/0152_fn_patterns.txt | 164 ----------------- .../parser/inline/ok/0153_trait_fn_patterns.rs | 6 - .../parser/inline/ok/0153_trait_fn_patterns.txt | 161 ----------------- .../parser/inline/ok/0156_fn_def_param.rs | 1 + .../parser/inline/ok/0156_fn_def_param.txt | 44 +++++ .../test_data/parser/ok/0063_trait_fn_patterns.rs | 7 + .../test_data/parser/ok/0063_trait_fn_patterns.txt | 196 +++++++++++++++++++++ .../test_data/parser/ok/0064_impl_fn_params.rs | 6 + .../test_data/parser/ok/0064_impl_fn_params.txt | 164 +++++++++++++++++ 12 files changed, 418 insertions(+), 387 deletions(-) delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.rs delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.txt delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.rs delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.txt delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.rs delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rs create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rs create mode 100644 crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rs create mode 100644 crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt (limited to 'crates/ra_syntax/test_data/parser') diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.rs b/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.rs deleted file mode 100644 index 472cb8803..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.rs +++ /dev/null @@ -1,3 +0,0 @@ -trait Foo { - fn bar(_: u64, mut x: i32); -} diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.txt b/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.txt deleted file mode 100644 index 158236c5a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0116_trait_fn_placeholder_parameter.txt +++ /dev/null @@ -1,47 +0,0 @@ -SOURCE_FILE@[0; 46) - TRAIT_DEF@[0; 45) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 9) - IDENT@[6; 9) "Foo" - WHITESPACE@[9; 10) " " - ITEM_LIST@[10; 45) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - FN_DEF@[16; 43) - FN_KW@[16; 18) "fn" - WHITESPACE@[18; 19) " " - NAME@[19; 22) - IDENT@[19; 22) "bar" - PARAM_LIST@[22; 42) - L_PAREN@[22; 23) "(" - PARAM@[23; 29) - PLACEHOLDER_PAT@[23; 24) - UNDERSCORE@[23; 24) "_" - COLON@[24; 25) ":" - WHITESPACE@[25; 26) " " - PATH_TYPE@[26; 29) - PATH@[26; 29) - PATH_SEGMENT@[26; 29) - NAME_REF@[26; 29) - IDENT@[26; 29) "u64" - COMMA@[29; 30) "," - WHITESPACE@[30; 31) " " - PARAM@[31; 41) - BIND_PAT@[31; 36) - MUT_KW@[31; 34) "mut" - WHITESPACE@[34; 35) " " - NAME@[35; 36) - IDENT@[35; 36) "x" - COLON@[36; 37) ":" - WHITESPACE@[37; 38) " " - PATH_TYPE@[38; 41) - PATH@[38; 41) - PATH_SEGMENT@[38; 41) - NAME_REF@[38; 41) - IDENT@[38; 41) "i32" - R_PAREN@[41; 42) ")" - SEMI@[42; 43) ";" - WHITESPACE@[43; 44) "\n" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.rs b/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.rs deleted file mode 100644 index b49e872d7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.rs +++ /dev/null @@ -1,6 +0,0 @@ -impl U { - fn f1((a, b): (usize, usize)) {} - fn f2(S { a, b }: S) {} - fn f3(NewType(a): NewType) {} - fn f4(&&a: &&usize) {} -} diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.txt deleted file mode 100644 index b30030de3..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0152_fn_patterns.txt +++ /dev/null @@ -1,164 +0,0 @@ -SOURCE_FILE@[0; 137) - IMPL_DEF@[0; 136) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - PATH_TYPE@[5; 6) - PATH@[5; 6) - PATH_SEGMENT@[5; 6) - NAME_REF@[5; 6) - IDENT@[5; 6) "U" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 136) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - FN_DEF@[13; 45) - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 18) - IDENT@[16; 18) "f1" - PARAM_LIST@[18; 42) - L_PAREN@[18; 19) "(" - PARAM@[19; 41) - TUPLE_PAT@[19; 25) - L_PAREN@[19; 20) "(" - BIND_PAT@[20; 21) - NAME@[20; 21) - IDENT@[20; 21) "a" - COMMA@[21; 22) "," - WHITESPACE@[22; 23) " " - BIND_PAT@[23; 24) - NAME@[23; 24) - IDENT@[23; 24) "b" - R_PAREN@[24; 25) ")" - COLON@[25; 26) ":" - WHITESPACE@[26; 27) " " - TUPLE_TYPE@[27; 41) - L_PAREN@[27; 28) "(" - PATH_TYPE@[28; 33) - PATH@[28; 33) - PATH_SEGMENT@[28; 33) - NAME_REF@[28; 33) - IDENT@[28; 33) "usize" - COMMA@[33; 34) "," - WHITESPACE@[34; 35) " " - PATH_TYPE@[35; 40) - PATH@[35; 40) - PATH_SEGMENT@[35; 40) - NAME_REF@[35; 40) - IDENT@[35; 40) "usize" - R_PAREN@[40; 41) ")" - R_PAREN@[41; 42) ")" - WHITESPACE@[42; 43) " " - BLOCK_EXPR@[43; 45) - BLOCK@[43; 45) - L_CURLY@[43; 44) "{" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 50) "\n " - FN_DEF@[50; 73) - FN_KW@[50; 52) "fn" - WHITESPACE@[52; 53) " " - NAME@[53; 55) - IDENT@[53; 55) "f2" - PARAM_LIST@[55; 70) - L_PAREN@[55; 56) "(" - PARAM@[56; 69) - RECORD_PAT@[56; 66) - PATH@[56; 57) - PATH_SEGMENT@[56; 57) - NAME_REF@[56; 57) - IDENT@[56; 57) "S" - WHITESPACE@[57; 58) " " - RECORD_FIELD_PAT_LIST@[58; 66) - L_CURLY@[58; 59) "{" - WHITESPACE@[59; 60) " " - BIND_PAT@[60; 61) - NAME@[60; 61) - IDENT@[60; 61) "a" - COMMA@[61; 62) "," - WHITESPACE@[62; 63) " " - BIND_PAT@[63; 64) - NAME@[63; 64) - IDENT@[63; 64) "b" - WHITESPACE@[64; 65) " " - R_CURLY@[65; 66) "}" - COLON@[66; 67) ":" - WHITESPACE@[67; 68) " " - PATH_TYPE@[68; 69) - PATH@[68; 69) - PATH_SEGMENT@[68; 69) - NAME_REF@[68; 69) - IDENT@[68; 69) "S" - R_PAREN@[69; 70) ")" - WHITESPACE@[70; 71) " " - BLOCK_EXPR@[71; 73) - BLOCK@[71; 73) - L_CURLY@[71; 72) "{" - R_CURLY@[72; 73) "}" - WHITESPACE@[73; 78) "\n " - FN_DEF@[78; 107) - FN_KW@[78; 80) "fn" - WHITESPACE@[80; 81) " " - NAME@[81; 83) - IDENT@[81; 83) "f3" - PARAM_LIST@[83; 104) - L_PAREN@[83; 84) "(" - PARAM@[84; 103) - TUPLE_STRUCT_PAT@[84; 94) - PATH@[84; 91) - PATH_SEGMENT@[84; 91) - NAME_REF@[84; 91) - IDENT@[84; 91) "NewType" - L_PAREN@[91; 92) "(" - BIND_PAT@[92; 93) - NAME@[92; 93) - IDENT@[92; 93) "a" - R_PAREN@[93; 94) ")" - COLON@[94; 95) ":" - WHITESPACE@[95; 96) " " - PATH_TYPE@[96; 103) - PATH@[96; 103) - PATH_SEGMENT@[96; 103) - NAME_REF@[96; 103) - IDENT@[96; 103) "NewType" - R_PAREN@[103; 104) ")" - WHITESPACE@[104; 105) " " - BLOCK_EXPR@[105; 107) - BLOCK@[105; 107) - L_CURLY@[105; 106) "{" - R_CURLY@[106; 107) "}" - WHITESPACE@[107; 112) "\n " - FN_DEF@[112; 134) - FN_KW@[112; 114) "fn" - WHITESPACE@[114; 115) " " - NAME@[115; 117) - IDENT@[115; 117) "f4" - PARAM_LIST@[117; 131) - L_PAREN@[117; 118) "(" - PARAM@[118; 130) - REF_PAT@[118; 121) - AMP@[118; 119) "&" - REF_PAT@[119; 121) - AMP@[119; 120) "&" - BIND_PAT@[120; 121) - NAME@[120; 121) - IDENT@[120; 121) "a" - COLON@[121; 122) ":" - WHITESPACE@[122; 123) " " - REFERENCE_TYPE@[123; 130) - AMP@[123; 124) "&" - REFERENCE_TYPE@[124; 130) - AMP@[124; 125) "&" - PATH_TYPE@[125; 130) - PATH@[125; 130) - PATH_SEGMENT@[125; 130) - NAME_REF@[125; 130) - IDENT@[125; 130) "usize" - R_PAREN@[130; 131) ")" - WHITESPACE@[131; 132) " " - BLOCK_EXPR@[132; 134) - BLOCK@[132; 134) - L_CURLY@[132; 133) "{" - R_CURLY@[133; 134) "}" - WHITESPACE@[134; 135) "\n" - R_CURLY@[135; 136) "}" - WHITESPACE@[136; 137) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.rs b/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.rs deleted file mode 100644 index a94bf378a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.rs +++ /dev/null @@ -1,6 +0,0 @@ -trait T { - fn f1((a, b): (usize, usize)) {} - fn f2(S { a, b }: S) {} - fn f3(NewType(a): NewType) {} - fn f4(&&a: &&usize) {} -} diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.txt deleted file mode 100644 index b22df8dbe..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0153_trait_fn_patterns.txt +++ /dev/null @@ -1,161 +0,0 @@ -SOURCE_FILE@[0; 138) - TRAIT_DEF@[0; 137) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "T" - WHITESPACE@[7; 8) " " - ITEM_LIST@[8; 137) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 14) "\n " - FN_DEF@[14; 46) - FN_KW@[14; 16) "fn" - WHITESPACE@[16; 17) " " - NAME@[17; 19) - IDENT@[17; 19) "f1" - PARAM_LIST@[19; 43) - L_PAREN@[19; 20) "(" - PARAM@[20; 42) - TUPLE_PAT@[20; 26) - L_PAREN@[20; 21) "(" - BIND_PAT@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "a" - COMMA@[22; 23) "," - WHITESPACE@[23; 24) " " - BIND_PAT@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "b" - R_PAREN@[25; 26) ")" - COLON@[26; 27) ":" - WHITESPACE@[27; 28) " " - TUPLE_TYPE@[28; 42) - L_PAREN@[28; 29) "(" - PATH_TYPE@[29; 34) - PATH@[29; 34) - PATH_SEGMENT@[29; 34) - NAME_REF@[29; 34) - IDENT@[29; 34) "usize" - COMMA@[34; 35) "," - WHITESPACE@[35; 36) " " - PATH_TYPE@[36; 41) - PATH@[36; 41) - PATH_SEGMENT@[36; 41) - NAME_REF@[36; 41) - IDENT@[36; 41) "usize" - R_PAREN@[41; 42) ")" - R_PAREN@[42; 43) ")" - WHITESPACE@[43; 44) " " - BLOCK_EXPR@[44; 46) - BLOCK@[44; 46) - L_CURLY@[44; 45) "{" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 51) "\n " - FN_DEF@[51; 74) - FN_KW@[51; 53) "fn" - WHITESPACE@[53; 54) " " - NAME@[54; 56) - IDENT@[54; 56) "f2" - PARAM_LIST@[56; 71) - L_PAREN@[56; 57) "(" - PARAM@[57; 70) - RECORD_PAT@[57; 67) - PATH@[57; 58) - PATH_SEGMENT@[57; 58) - NAME_REF@[57; 58) - IDENT@[57; 58) "S" - WHITESPACE@[58; 59) " " - RECORD_FIELD_PAT_LIST@[59; 67) - L_CURLY@[59; 60) "{" - WHITESPACE@[60; 61) " " - BIND_PAT@[61; 62) - NAME@[61; 62) - IDENT@[61; 62) "a" - COMMA@[62; 63) "," - WHITESPACE@[63; 64) " " - BIND_PAT@[64; 65) - NAME@[64; 65) - IDENT@[64; 65) "b" - WHITESPACE@[65; 66) " " - R_CURLY@[66; 67) "}" - COLON@[67; 68) ":" - WHITESPACE@[68; 69) " " - PATH_TYPE@[69; 70) - PATH@[69; 70) - PATH_SEGMENT@[69; 70) - NAME_REF@[69; 70) - IDENT@[69; 70) "S" - R_PAREN@[70; 71) ")" - WHITESPACE@[71; 72) " " - BLOCK_EXPR@[72; 74) - BLOCK@[72; 74) - L_CURLY@[72; 73) "{" - R_CURLY@[73; 74) "}" - WHITESPACE@[74; 79) "\n " - FN_DEF@[79; 108) - FN_KW@[79; 81) "fn" - WHITESPACE@[81; 82) " " - NAME@[82; 84) - IDENT@[82; 84) "f3" - PARAM_LIST@[84; 105) - L_PAREN@[84; 85) "(" - PARAM@[85; 104) - TUPLE_STRUCT_PAT@[85; 95) - PATH@[85; 92) - PATH_SEGMENT@[85; 92) - NAME_REF@[85; 92) - IDENT@[85; 92) "NewType" - L_PAREN@[92; 93) "(" - BIND_PAT@[93; 94) - NAME@[93; 94) - IDENT@[93; 94) "a" - R_PAREN@[94; 95) ")" - COLON@[95; 96) ":" - WHITESPACE@[96; 97) " " - PATH_TYPE@[97; 104) - PATH@[97; 104) - PATH_SEGMENT@[97; 104) - NAME_REF@[97; 104) - IDENT@[97; 104) "NewType" - R_PAREN@[104; 105) ")" - WHITESPACE@[105; 106) " " - BLOCK_EXPR@[106; 108) - BLOCK@[106; 108) - L_CURLY@[106; 107) "{" - R_CURLY@[107; 108) "}" - WHITESPACE@[108; 113) "\n " - FN_DEF@[113; 135) - FN_KW@[113; 115) "fn" - WHITESPACE@[115; 116) " " - NAME@[116; 118) - IDENT@[116; 118) "f4" - PARAM_LIST@[118; 132) - L_PAREN@[118; 119) "(" - PARAM@[119; 131) - REF_PAT@[119; 122) - AMP@[119; 120) "&" - REF_PAT@[120; 122) - AMP@[120; 121) "&" - BIND_PAT@[121; 122) - NAME@[121; 122) - IDENT@[121; 122) "a" - COLON@[122; 123) ":" - WHITESPACE@[123; 124) " " - REFERENCE_TYPE@[124; 131) - AMP@[124; 125) "&" - REFERENCE_TYPE@[125; 131) - AMP@[125; 126) "&" - PATH_TYPE@[126; 131) - PATH@[126; 131) - PATH_SEGMENT@[126; 131) - NAME_REF@[126; 131) - IDENT@[126; 131) "usize" - R_PAREN@[131; 132) ")" - WHITESPACE@[132; 133) " " - BLOCK_EXPR@[133; 135) - BLOCK@[133; 135) - L_CURLY@[133; 134) "{" - R_CURLY@[134; 135) "}" - WHITESPACE@[135; 136) "\n" - R_CURLY@[136; 137) "}" - WHITESPACE@[137; 138) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rs b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rs new file mode 100644 index 000000000..7b277c16b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rs @@ -0,0 +1 @@ +fn foo((x, y): (i32, i32)) {} diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt new file mode 100644 index 000000000..103e254a6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt @@ -0,0 +1,44 @@ +SOURCE_FILE@[0; 30) + FN_DEF@[0; 29) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 26) + L_PAREN@[6; 7) "(" + PARAM@[7; 25) + TUPLE_PAT@[7; 13) + L_PAREN@[7; 8) "(" + BIND_PAT@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "x" + COMMA@[9; 10) "," + WHITESPACE@[10; 11) " " + BIND_PAT@[11; 12) + NAME@[11; 12) + IDENT@[11; 12) "y" + R_PAREN@[12; 13) ")" + COLON@[13; 14) ":" + WHITESPACE@[14; 15) " " + TUPLE_TYPE@[15; 25) + L_PAREN@[15; 16) "(" + PATH_TYPE@[16; 19) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "i32" + COMMA@[19; 20) "," + WHITESPACE@[20; 21) " " + PATH_TYPE@[21; 24) + PATH@[21; 24) + PATH_SEGMENT@[21; 24) + NAME_REF@[21; 24) + IDENT@[21; 24) "i32" + R_PAREN@[24; 25) ")" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rs b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rs new file mode 100644 index 000000000..3b666af8e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rs @@ -0,0 +1,7 @@ +trait T { + fn f1((a, b): (usize, usize)) {} + fn f2(S { a, b }: S) {} + fn f3(NewType(a): NewType) {} + fn f4(&&a: &&usize) {} + fn bar(_: u64, mut x: i32); +} diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt new file mode 100644 index 000000000..eb2e3a503 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt @@ -0,0 +1,196 @@ +SOURCE_FILE@[0; 170) + TRAIT_DEF@[0; 169) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "T" + WHITESPACE@[7; 8) " " + ITEM_LIST@[8; 169) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 14) "\n " + FN_DEF@[14; 46) + FN_KW@[14; 16) "fn" + WHITESPACE@[16; 17) " " + NAME@[17; 19) + IDENT@[17; 19) "f1" + PARAM_LIST@[19; 43) + L_PAREN@[19; 20) "(" + PARAM@[20; 42) + TUPLE_PAT@[20; 26) + L_PAREN@[20; 21) "(" + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) "," + WHITESPACE@[23; 24) " " + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + R_PAREN@[25; 26) ")" + COLON@[26; 27) ":" + WHITESPACE@[27; 28) " " + TUPLE_TYPE@[28; 42) + L_PAREN@[28; 29) "(" + PATH_TYPE@[29; 34) + PATH@[29; 34) + PATH_SEGMENT@[29; 34) + NAME_REF@[29; 34) + IDENT@[29; 34) "usize" + COMMA@[34; 35) "," + WHITESPACE@[35; 36) " " + PATH_TYPE@[36; 41) + PATH@[36; 41) + PATH_SEGMENT@[36; 41) + NAME_REF@[36; 41) + IDENT@[36; 41) "usize" + R_PAREN@[41; 42) ")" + R_PAREN@[42; 43) ")" + WHITESPACE@[43; 44) " " + BLOCK_EXPR@[44; 46) + BLOCK@[44; 46) + L_CURLY@[44; 45) "{" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 51) "\n " + FN_DEF@[51; 74) + FN_KW@[51; 53) "fn" + WHITESPACE@[53; 54) " " + NAME@[54; 56) + IDENT@[54; 56) "f2" + PARAM_LIST@[56; 71) + L_PAREN@[56; 57) "(" + PARAM@[57; 70) + RECORD_PAT@[57; 67) + PATH@[57; 58) + PATH_SEGMENT@[57; 58) + NAME_REF@[57; 58) + IDENT@[57; 58) "S" + WHITESPACE@[58; 59) " " + RECORD_FIELD_PAT_LIST@[59; 67) + L_CURLY@[59; 60) "{" + WHITESPACE@[60; 61) " " + BIND_PAT@[61; 62) + NAME@[61; 62) + IDENT@[61; 62) "a" + COMMA@[62; 63) "," + WHITESPACE@[63; 64) " " + BIND_PAT@[64; 65) + NAME@[64; 65) + IDENT@[64; 65) "b" + WHITESPACE@[65; 66) " " + R_CURLY@[66; 67) "}" + COLON@[67; 68) ":" + WHITESPACE@[68; 69) " " + PATH_TYPE@[69; 70) + PATH@[69; 70) + PATH_SEGMENT@[69; 70) + NAME_REF@[69; 70) + IDENT@[69; 70) "S" + R_PAREN@[70; 71) ")" + WHITESPACE@[71; 72) " " + BLOCK_EXPR@[72; 74) + BLOCK@[72; 74) + L_CURLY@[72; 73) "{" + R_CURLY@[73; 74) "}" + WHITESPACE@[74; 79) "\n " + FN_DEF@[79; 108) + FN_KW@[79; 81) "fn" + WHITESPACE@[81; 82) " " + NAME@[82; 84) + IDENT@[82; 84) "f3" + PARAM_LIST@[84; 105) + L_PAREN@[84; 85) "(" + PARAM@[85; 104) + TUPLE_STRUCT_PAT@[85; 95) + PATH@[85; 92) + PATH_SEGMENT@[85; 92) + NAME_REF@[85; 92) + IDENT@[85; 92) "NewType" + L_PAREN@[92; 93) "(" + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "a" + R_PAREN@[94; 95) ")" + COLON@[95; 96) ":" + WHITESPACE@[96; 97) " " + PATH_TYPE@[97; 104) + PATH@[97; 104) + PATH_SEGMENT@[97; 104) + NAME_REF@[97; 104) + IDENT@[97; 104) "NewType" + R_PAREN@[104; 105) ")" + WHITESPACE@[105; 106) " " + BLOCK_EXPR@[106; 108) + BLOCK@[106; 108) + L_CURLY@[106; 107) "{" + R_CURLY@[107; 108) "}" + WHITESPACE@[108; 113) "\n " + FN_DEF@[113; 135) + FN_KW@[113; 115) "fn" + WHITESPACE@[115; 116) " " + NAME@[116; 118) + IDENT@[116; 118) "f4" + PARAM_LIST@[118; 132) + L_PAREN@[118; 119) "(" + PARAM@[119; 131) + REF_PAT@[119; 122) + AMP@[119; 120) "&" + REF_PAT@[120; 122) + AMP@[120; 121) "&" + BIND_PAT@[121; 122) + NAME@[121; 122) + IDENT@[121; 122) "a" + COLON@[122; 123) ":" + WHITESPACE@[123; 124) " " + REFERENCE_TYPE@[124; 131) + AMP@[124; 125) "&" + REFERENCE_TYPE@[125; 131) + AMP@[125; 126) "&" + PATH_TYPE@[126; 131) + PATH@[126; 131) + PATH_SEGMENT@[126; 131) + NAME_REF@[126; 131) + IDENT@[126; 131) "usize" + R_PAREN@[131; 132) ")" + WHITESPACE@[132; 133) " " + BLOCK_EXPR@[133; 135) + BLOCK@[133; 135) + L_CURLY@[133; 134) "{" + R_CURLY@[134; 135) "}" + WHITESPACE@[135; 140) "\n " + FN_DEF@[140; 167) + FN_KW@[140; 142) "fn" + WHITESPACE@[142; 143) " " + NAME@[143; 146) + IDENT@[143; 146) "bar" + PARAM_LIST@[146; 166) + L_PAREN@[146; 147) "(" + PARAM@[147; 153) + PLACEHOLDER_PAT@[147; 148) + UNDERSCORE@[147; 148) "_" + COLON@[148; 149) ":" + WHITESPACE@[149; 150) " " + PATH_TYPE@[150; 153) + PATH@[150; 153) + PATH_SEGMENT@[150; 153) + NAME_REF@[150; 153) + IDENT@[150; 153) "u64" + COMMA@[153; 154) "," + WHITESPACE@[154; 155) " " + PARAM@[155; 165) + BIND_PAT@[155; 160) + MUT_KW@[155; 158) "mut" + WHITESPACE@[158; 159) " " + NAME@[159; 160) + IDENT@[159; 160) "x" + COLON@[160; 161) ":" + WHITESPACE@[161; 162) " " + PATH_TYPE@[162; 165) + PATH@[162; 165) + PATH_SEGMENT@[162; 165) + NAME_REF@[162; 165) + IDENT@[162; 165) "i32" + R_PAREN@[165; 166) ")" + SEMI@[166; 167) ";" + WHITESPACE@[167; 168) "\n" + R_CURLY@[168; 169) "}" + WHITESPACE@[169; 170) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rs b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rs new file mode 100644 index 000000000..b49e872d7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rs @@ -0,0 +1,6 @@ +impl U { + fn f1((a, b): (usize, usize)) {} + fn f2(S { a, b }: S) {} + fn f3(NewType(a): NewType) {} + fn f4(&&a: &&usize) {} +} diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt new file mode 100644 index 000000000..b30030de3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt @@ -0,0 +1,164 @@ +SOURCE_FILE@[0; 137) + IMPL_DEF@[0; 136) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "U" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 136) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 45) + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 18) + IDENT@[16; 18) "f1" + PARAM_LIST@[18; 42) + L_PAREN@[18; 19) "(" + PARAM@[19; 41) + TUPLE_PAT@[19; 25) + L_PAREN@[19; 20) "(" + BIND_PAT@[20; 21) + NAME@[20; 21) + IDENT@[20; 21) "a" + COMMA@[21; 22) "," + WHITESPACE@[22; 23) " " + BIND_PAT@[23; 24) + NAME@[23; 24) + IDENT@[23; 24) "b" + R_PAREN@[24; 25) ")" + COLON@[25; 26) ":" + WHITESPACE@[26; 27) " " + TUPLE_TYPE@[27; 41) + L_PAREN@[27; 28) "(" + PATH_TYPE@[28; 33) + PATH@[28; 33) + PATH_SEGMENT@[28; 33) + NAME_REF@[28; 33) + IDENT@[28; 33) "usize" + COMMA@[33; 34) "," + WHITESPACE@[34; 35) " " + PATH_TYPE@[35; 40) + PATH@[35; 40) + PATH_SEGMENT@[35; 40) + NAME_REF@[35; 40) + IDENT@[35; 40) "usize" + R_PAREN@[40; 41) ")" + R_PAREN@[41; 42) ")" + WHITESPACE@[42; 43) " " + BLOCK_EXPR@[43; 45) + BLOCK@[43; 45) + L_CURLY@[43; 44) "{" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 50) "\n " + FN_DEF@[50; 73) + FN_KW@[50; 52) "fn" + WHITESPACE@[52; 53) " " + NAME@[53; 55) + IDENT@[53; 55) "f2" + PARAM_LIST@[55; 70) + L_PAREN@[55; 56) "(" + PARAM@[56; 69) + RECORD_PAT@[56; 66) + PATH@[56; 57) + PATH_SEGMENT@[56; 57) + NAME_REF@[56; 57) + IDENT@[56; 57) "S" + WHITESPACE@[57; 58) " " + RECORD_FIELD_PAT_LIST@[58; 66) + L_CURLY@[58; 59) "{" + WHITESPACE@[59; 60) " " + BIND_PAT@[60; 61) + NAME@[60; 61) + IDENT@[60; 61) "a" + COMMA@[61; 62) "," + WHITESPACE@[62; 63) " " + BIND_PAT@[63; 64) + NAME@[63; 64) + IDENT@[63; 64) "b" + WHITESPACE@[64; 65) " " + R_CURLY@[65; 66) "}" + COLON@[66; 67) ":" + WHITESPACE@[67; 68) " " + PATH_TYPE@[68; 69) + PATH@[68; 69) + PATH_SEGMENT@[68; 69) + NAME_REF@[68; 69) + IDENT@[68; 69) "S" + R_PAREN@[69; 70) ")" + WHITESPACE@[70; 71) " " + BLOCK_EXPR@[71; 73) + BLOCK@[71; 73) + L_CURLY@[71; 72) "{" + R_CURLY@[72; 73) "}" + WHITESPACE@[73; 78) "\n " + FN_DEF@[78; 107) + FN_KW@[78; 80) "fn" + WHITESPACE@[80; 81) " " + NAME@[81; 83) + IDENT@[81; 83) "f3" + PARAM_LIST@[83; 104) + L_PAREN@[83; 84) "(" + PARAM@[84; 103) + TUPLE_STRUCT_PAT@[84; 94) + PATH@[84; 91) + PATH_SEGMENT@[84; 91) + NAME_REF@[84; 91) + IDENT@[84; 91) "NewType" + L_PAREN@[91; 92) "(" + BIND_PAT@[92; 93) + NAME@[92; 93) + IDENT@[92; 93) "a" + R_PAREN@[93; 94) ")" + COLON@[94; 95) ":" + WHITESPACE@[95; 96) " " + PATH_TYPE@[96; 103) + PATH@[96; 103) + PATH_SEGMENT@[96; 103) + NAME_REF@[96; 103) + IDENT@[96; 103) "NewType" + R_PAREN@[103; 104) ")" + WHITESPACE@[104; 105) " " + BLOCK_EXPR@[105; 107) + BLOCK@[105; 107) + L_CURLY@[105; 106) "{" + R_CURLY@[106; 107) "}" + WHITESPACE@[107; 112) "\n " + FN_DEF@[112; 134) + FN_KW@[112; 114) "fn" + WHITESPACE@[114; 115) " " + NAME@[115; 117) + IDENT@[115; 117) "f4" + PARAM_LIST@[117; 131) + L_PAREN@[117; 118) "(" + PARAM@[118; 130) + REF_PAT@[118; 121) + AMP@[118; 119) "&" + REF_PAT@[119; 121) + AMP@[119; 120) "&" + BIND_PAT@[120; 121) + NAME@[120; 121) + IDENT@[120; 121) "a" + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " + REFERENCE_TYPE@[123; 130) + AMP@[123; 124) "&" + REFERENCE_TYPE@[124; 130) + AMP@[124; 125) "&" + PATH_TYPE@[125; 130) + PATH@[125; 130) + PATH_SEGMENT@[125; 130) + NAME_REF@[125; 130) + IDENT@[125; 130) "usize" + R_PAREN@[130; 131) ")" + WHITESPACE@[131; 132) " " + BLOCK_EXPR@[132; 134) + BLOCK@[132; 134) + L_CURLY@[132; 133) "{" + R_CURLY@[133; 134) "}" + WHITESPACE@[134; 135) "\n" + R_CURLY@[135; 136) "}" + WHITESPACE@[136; 137) "\n" -- cgit v1.2.3