From bfc2ac90c8b59884a1b100806387c7e6c67db3b6 Mon Sep 17 00:00:00 2001 From: Ville Penttinen Date: Sat, 30 Mar 2019 17:11:46 +0200 Subject: Update tests --- .../tests/data/parser/ok/0001_struct_item.txt | 12 +- .../tests/data/parser/ok/0020_type_param_bounds.rs | 1 + .../data/parser/ok/0020_type_param_bounds.txt | 172 +++++++++++++++------ .../tests/data/parser/ok/0032_where_for.txt | 67 ++++---- .../tests/data/parser/ok/0035_weird_exprs.txt | 32 ++-- .../tests/data/parser/ok/0036_fully_qualified.txt | 24 +-- .../tests/data/parser/ok/0038_where_pred_type.txt | 12 +- .../data/parser/ok/0045_block_inner_attrs.txt | 54 +++---- 8 files changed, 231 insertions(+), 143 deletions(-) (limited to 'crates/ra_syntax/tests/data/parser/ok') diff --git a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt index 12497e1a9..b49206d80 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt @@ -11,11 +11,13 @@ SOURCE_FILE@[0; 32) IDENT@[9; 10) "T" COLON@[10; 11) WHITESPACE@[11; 12) - PATH_TYPE@[12; 16) - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "Copy" + TYPE_BOUND_LIST@[12; 16) + TYPE_BOUND@[12; 16) + PATH_TYPE@[12; 16) + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "Copy" R_ANGLE@[16; 17) WHITESPACE@[17; 18) NAMED_FIELD_DEF_LIST@[18; 31) diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs index a1b9f00a4..712898978 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs +++ b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs @@ -7,3 +7,4 @@ struct F; struct G; struct H; struct I; +struct K<'a: 'd, 'd: 'a + 'b, T: 'a + 'd + Clone>; \ No newline at end of file diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt index b70a1d19a..04aaca4c4 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt @@ -1,4 +1,4 @@ -SOURCE_FILE@[0; 200) +SOURCE_FILE@[0; 250) STRUCT_DEF@[0; 12) STRUCT_KW@[0; 6) WHITESPACE@[6; 7) @@ -23,6 +23,7 @@ SOURCE_FILE@[0; 200) NAME@[22; 23) IDENT@[22; 23) "T" COLON@[23; 24) + TYPE_BOUND_LIST@[24; 24) R_ANGLE@[24; 25) SEMI@[25; 26) WHITESPACE@[26; 27) @@ -38,7 +39,9 @@ SOURCE_FILE@[0; 200) IDENT@[36; 37) "T" COLON@[37; 38) WHITESPACE@[38; 39) - LIFETIME@[39; 41) "'a" + TYPE_BOUND_LIST@[39; 41) + TYPE_BOUND@[39; 41) + LIFETIME@[39; 41) "'a" R_ANGLE@[41; 42) SEMI@[42; 43) WHITESPACE@[43; 44) @@ -54,9 +57,11 @@ SOURCE_FILE@[0; 200) IDENT@[53; 54) "T" COLON@[54; 55) WHITESPACE@[55; 56) - LIFETIME@[56; 58) "'a" - WHITESPACE@[58; 59) - PLUS@[59; 60) + TYPE_BOUND_LIST@[56; 60) + TYPE_BOUND@[56; 58) + LIFETIME@[56; 58) "'a" + WHITESPACE@[58; 59) + PLUS@[59; 60) WHITESPACE@[60; 61) R_ANGLE@[61; 62) SEMI@[62; 63) @@ -73,11 +78,14 @@ SOURCE_FILE@[0; 200) IDENT@[73; 74) "T" COLON@[74; 75) WHITESPACE@[75; 76) - LIFETIME@[76; 78) "'a" - WHITESPACE@[78; 79) - PLUS@[79; 80) - WHITESPACE@[80; 81) - LIFETIME@[81; 83) "'d" + TYPE_BOUND_LIST@[76; 83) + TYPE_BOUND@[76; 78) + LIFETIME@[76; 78) "'a" + WHITESPACE@[78; 79) + PLUS@[79; 80) + WHITESPACE@[80; 81) + TYPE_BOUND@[81; 83) + LIFETIME@[81; 83) "'d" WHITESPACE@[83; 84) R_ANGLE@[84; 85) SEMI@[85; 86) @@ -94,19 +102,23 @@ SOURCE_FILE@[0; 200) IDENT@[96; 97) "T" COLON@[97; 98) WHITESPACE@[98; 99) - LIFETIME@[99; 101) "'a" - WHITESPACE@[101; 102) - PLUS@[102; 103) - WHITESPACE@[103; 104) - LIFETIME@[104; 106) "'d" - WHITESPACE@[106; 107) - PLUS@[107; 108) - WHITESPACE@[108; 109) - PATH_TYPE@[109; 114) - PATH@[109; 114) - PATH_SEGMENT@[109; 114) - NAME_REF@[109; 114) - IDENT@[109; 114) "Clone" + TYPE_BOUND_LIST@[99; 114) + TYPE_BOUND@[99; 101) + LIFETIME@[99; 101) "'a" + WHITESPACE@[101; 102) + PLUS@[102; 103) + WHITESPACE@[103; 104) + TYPE_BOUND@[104; 106) + LIFETIME@[104; 106) "'d" + WHITESPACE@[106; 107) + PLUS@[107; 108) + WHITESPACE@[108; 109) + TYPE_BOUND@[109; 114) + PATH_TYPE@[109; 114) + PATH@[109; 114) + PATH_SEGMENT@[109; 114) + NAME_REF@[109; 114) + IDENT@[109; 114) "Clone" R_ANGLE@[114; 115) SEMI@[115; 116) WHITESPACE@[116; 117) @@ -122,19 +134,22 @@ SOURCE_FILE@[0; 200) IDENT@[126; 127) "T" COLON@[127; 128) WHITESPACE@[128; 129) - PATH_TYPE@[129; 141) - PATH@[129; 134) - PATH_SEGMENT@[129; 134) - NAME_REF@[129; 134) - IDENT@[129; 134) "Clone" + TYPE_BOUND_LIST@[129; 141) + TYPE_BOUND@[129; 134) + PATH_TYPE@[129; 134) + PATH@[129; 134) + PATH_SEGMENT@[129; 134) + NAME_REF@[129; 134) + IDENT@[129; 134) "Clone" WHITESPACE@[134; 135) PLUS@[135; 136) WHITESPACE@[136; 137) - PATH_TYPE@[137; 141) - PATH@[137; 141) - PATH_SEGMENT@[137; 141) - NAME_REF@[137; 141) - IDENT@[137; 141) "Copy" + TYPE_BOUND@[137; 141) + PATH_TYPE@[137; 141) + PATH@[137; 141) + PATH_SEGMENT@[137; 141) + NAME_REF@[137; 141) + IDENT@[137; 141) "Copy" R_ANGLE@[141; 142) SEMI@[142; 143) WHITESPACE@[143; 144) @@ -150,27 +165,31 @@ SOURCE_FILE@[0; 200) IDENT@[153; 154) "T" COLON@[154; 155) WHITESPACE@[155; 156) - PATH_TYPE@[156; 178) - PATH@[156; 161) - PATH_SEGMENT@[156; 161) - COLONCOLON@[156; 158) - NAME_REF@[158; 161) - IDENT@[158; 161) "Foo" + TYPE_BOUND_LIST@[156; 178) + TYPE_BOUND@[156; 161) + PATH_TYPE@[156; 161) + PATH@[156; 161) + PATH_SEGMENT@[156; 161) + COLONCOLON@[156; 158) + NAME_REF@[158; 161) + IDENT@[158; 161) "Foo" WHITESPACE@[161; 162) PLUS@[162; 163) WHITESPACE@[163; 164) - PATH_TYPE@[164; 178) - PATH@[164; 173) - PATH@[164; 168) - PATH_SEGMENT@[164; 168) - SELF_KW@[164; 168) - COLONCOLON@[168; 170) - PATH_SEGMENT@[170; 173) - NAME_REF@[170; 173) - IDENT@[170; 173) "Bar" - WHITESPACE@[173; 174) - PLUS@[174; 175) - WHITESPACE@[175; 176) + TYPE_BOUND@[164; 173) + PATH_TYPE@[164; 173) + PATH@[164; 173) + PATH@[164; 168) + PATH_SEGMENT@[164; 168) + SELF_KW@[164; 168) + COLONCOLON@[168; 170) + PATH_SEGMENT@[170; 173) + NAME_REF@[170; 173) + IDENT@[170; 173) "Bar" + WHITESPACE@[173; 174) + PLUS@[174; 175) + WHITESPACE@[175; 176) + TYPE_BOUND@[176; 178) LIFETIME@[176; 178) "'a" R_ANGLE@[178; 179) SEMI@[179; 180) @@ -186,13 +205,64 @@ SOURCE_FILE@[0; 200) NAME@[190; 191) IDENT@[190; 191) "T" COLON@[191; 192) + TYPE_BOUND_LIST@[192; 192) COMMA@[192; 193) WHITESPACE@[193; 194) TYPE_PARAM@[194; 196) NAME@[194; 195) IDENT@[194; 195) "U" COLON@[195; 196) + TYPE_BOUND_LIST@[196; 196) COMMA@[196; 197) R_ANGLE@[197; 198) SEMI@[198; 199) WHITESPACE@[199; 200) + STRUCT_DEF@[200; 250) + STRUCT_KW@[200; 206) + WHITESPACE@[206; 207) + NAME@[207; 208) + IDENT@[207; 208) "K" + TYPE_PARAM_LIST@[208; 249) + L_ANGLE@[208; 209) + LIFETIME_PARAM@[209; 215) + LIFETIME@[209; 211) "'a" + COLON@[211; 212) + WHITESPACE@[212; 213) + LIFETIME@[213; 215) "'d" + COMMA@[215; 216) + WHITESPACE@[216; 217) + LIFETIME_PARAM@[217; 228) + LIFETIME@[217; 219) "'d" + COLON@[219; 220) + WHITESPACE@[220; 221) + LIFETIME@[221; 223) "'a" + WHITESPACE@[223; 224) + PLUS@[224; 225) + WHITESPACE@[225; 226) + LIFETIME@[226; 228) "'b" + COMMA@[228; 229) + WHITESPACE@[229; 230) + TYPE_PARAM@[230; 248) + NAME@[230; 231) + IDENT@[230; 231) "T" + COLON@[231; 232) + WHITESPACE@[232; 233) + TYPE_BOUND_LIST@[233; 248) + TYPE_BOUND@[233; 235) + LIFETIME@[233; 235) "'a" + WHITESPACE@[235; 236) + PLUS@[236; 237) + WHITESPACE@[237; 238) + TYPE_BOUND@[238; 240) + LIFETIME@[238; 240) "'d" + WHITESPACE@[240; 241) + PLUS@[241; 242) + WHITESPACE@[242; 243) + TYPE_BOUND@[243; 248) + PATH_TYPE@[243; 248) + PATH@[243; 248) + PATH_SEGMENT@[243; 248) + NAME_REF@[243; 248) + IDENT@[243; 248) "Clone" + R_ANGLE@[248; 249) + SEMI@[249; 250) diff --git a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt index 150a9e483..7236d9e62 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt @@ -25,43 +25,48 @@ SOURCE_FILE@[0; 116) IDENT@[39; 42) "SER" COLON@[42; 43) WHITESPACE@[43; 44) - PATH_TYPE@[44; 111) - PATH@[44; 53) - PATH_SEGMENT@[44; 53) - NAME_REF@[44; 53) - IDENT@[44; 53) "Serialize" + TYPE_BOUND_LIST@[44; 111) + TYPE_BOUND@[44; 53) + PATH_TYPE@[44; 53) + PATH@[44; 53) + PATH_SEGMENT@[44; 53) + NAME_REF@[44; 53) + IDENT@[44; 53) "Serialize" WHITESPACE@[53; 54) PLUS@[54; 55) WHITESPACE@[55; 56) - FOR_TYPE@[56; 81) - FOR_KW@[56; 59) - TYPE_PARAM_LIST@[59; 64) - L_ANGLE@[59; 60) - LIFETIME_PARAM@[60; 63) - LIFETIME@[60; 63) "'de" - R_ANGLE@[63; 64) - WHITESPACE@[64; 65) - PATH_TYPE@[65; 81) - PATH@[65; 81) - PATH_SEGMENT@[65; 81) - NAME_REF@[65; 76) - IDENT@[65; 76) "Deserialize" - TYPE_ARG_LIST@[76; 81) - L_ANGLE@[76; 77) - LIFETIME_ARG@[77; 80) - LIFETIME@[77; 80) "'de" - R_ANGLE@[80; 81) + TYPE_BOUND@[56; 81) + FOR_TYPE@[56; 81) + FOR_KW@[56; 59) + TYPE_PARAM_LIST@[59; 64) + L_ANGLE@[59; 60) + LIFETIME_PARAM@[60; 63) + LIFETIME@[60; 63) "'de" + R_ANGLE@[63; 64) + WHITESPACE@[64; 65) + PATH_TYPE@[65; 81) + PATH@[65; 81) + PATH_SEGMENT@[65; 81) + NAME_REF@[65; 76) + IDENT@[65; 76) "Deserialize" + TYPE_ARG_LIST@[76; 81) + L_ANGLE@[76; 77) + LIFETIME_ARG@[77; 80) + LIFETIME@[77; 80) "'de" + R_ANGLE@[80; 81) WHITESPACE@[81; 82) PLUS@[82; 83) WHITESPACE@[83; 84) - PATH_TYPE@[84; 111) - PATH@[84; 93) - PATH_SEGMENT@[84; 93) - NAME_REF@[84; 93) - IDENT@[84; 93) "PartialEq" - WHITESPACE@[93; 94) - PLUS@[94; 95) - WHITESPACE@[95; 96) + TYPE_BOUND@[84; 93) + PATH_TYPE@[84; 93) + PATH@[84; 93) + PATH_SEGMENT@[84; 93) + NAME_REF@[84; 93) + IDENT@[84; 93) "PartialEq" + WHITESPACE@[93; 94) + PLUS@[94; 95) + WHITESPACE@[95; 96) + TYPE_BOUND@[96; 111) PATH_TYPE@[96; 111) PATH@[96; 111) PATH@[96; 104) diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt index f3987c3b7..580baaac5 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt @@ -1694,21 +1694,23 @@ SOURCE_FILE@[0; 3813) IMPL_TRAIT_TYPE@[3063; 3083) IMPL_KW@[3063; 3067) WHITESPACE@[3067; 3068) - PATH_TYPE@[3068; 3083) - PATH@[3068; 3083) - PATH@[3068; 3076) - PATH@[3068; 3071) - PATH_SEGMENT@[3068; 3071) - NAME_REF@[3068; 3071) - IDENT@[3068; 3071) "std" - COLONCOLON@[3071; 3073) - PATH_SEGMENT@[3073; 3076) - NAME_REF@[3073; 3076) - IDENT@[3073; 3076) "fmt" - COLONCOLON@[3076; 3078) - PATH_SEGMENT@[3078; 3083) - NAME_REF@[3078; 3083) - IDENT@[3078; 3083) "Debug" + TYPE_BOUND_LIST@[3068; 3083) + TYPE_BOUND@[3068; 3083) + PATH_TYPE@[3068; 3083) + PATH@[3068; 3083) + PATH@[3068; 3076) + PATH@[3068; 3071) + PATH_SEGMENT@[3068; 3071) + NAME_REF@[3068; 3071) + IDENT@[3068; 3071) "std" + COLONCOLON@[3071; 3073) + PATH_SEGMENT@[3073; 3076) + NAME_REF@[3073; 3076) + IDENT@[3073; 3076) "fmt" + COLONCOLON@[3076; 3078) + PATH_SEGMENT@[3078; 3083) + NAME_REF@[3078; 3083) + IDENT@[3078; 3083) "Debug" WHITESPACE@[3083; 3084) BLOCK@[3084; 3514) L_CURLY@[3084; 3085) diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt index 208e5e51c..93e26aaf6 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt @@ -16,11 +16,13 @@ SOURCE_FILE@[0; 157) IDENT@[73; 74) "S" COLON@[74; 75) WHITESPACE@[75; 76) - PATH_TYPE@[76; 84) - PATH@[76; 84) - PATH_SEGMENT@[76; 84) - NAME_REF@[76; 84) - IDENT@[76; 84) "Iterator" + TYPE_BOUND_LIST@[76; 84) + TYPE_BOUND@[76; 84) + PATH_TYPE@[76; 84) + PATH@[76; 84) + PATH_SEGMENT@[76; 84) + NAME_REF@[76; 84) + IDENT@[76; 84) "Iterator" R_ANGLE@[84; 85) PARAM_LIST@[85; 87) L_PAREN@[85; 86) @@ -64,11 +66,13 @@ SOURCE_FILE@[0; 157) IDENT@[125; 129) "Item" COLON@[129; 130) WHITESPACE@[130; 131) - PATH_TYPE@[131; 133) - PATH@[131; 133) - PATH_SEGMENT@[131; 133) - NAME_REF@[131; 133) - IDENT@[131; 133) "Eq" + TYPE_BOUND_LIST@[131; 133) + TYPE_BOUND@[131; 133) + PATH_TYPE@[131; 133) + PATH@[131; 133) + PATH_SEGMENT@[131; 133) + NAME_REF@[131; 133) + IDENT@[131; 133) "Eq" COMMA@[133; 134) WHITESPACE@[134; 135) BLOCK@[135; 156) diff --git a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt index 4842e9b90..fe3fca5cd 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt @@ -29,11 +29,13 @@ SOURCE_FILE@[0; 34) R_PAREN@[25; 26) COLON@[26; 27) WHITESPACE@[27; 28) - PATH_TYPE@[28; 31) - PATH@[28; 31) - PATH_SEGMENT@[28; 31) - NAME_REF@[28; 31) - IDENT@[28; 31) "Foo" + TYPE_BOUND_LIST@[28; 31) + TYPE_BOUND@[28; 31) + PATH_TYPE@[28; 31) + PATH@[28; 31) + PATH_SEGMENT@[28; 31) + NAME_REF@[28; 31) + IDENT@[28; 31) "Foo" WHITESPACE@[31; 32) BLOCK@[32; 34) L_CURLY@[32; 33) diff --git a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt index a1ba645ef..eba587f18 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt @@ -116,32 +116,34 @@ SOURCE_FILE@[0; 686) IMPL_TRAIT_TYPE@[576; 600) IMPL_KW@[576; 580) WHITESPACE@[580; 581) - PATH_TYPE@[581; 600) - PATH@[581; 600) - PATH_SEGMENT@[581; 600) - NAME_REF@[581; 583) - IDENT@[581; 583) "Fn" - PARAM_LIST@[583; 585) - L_PAREN@[583; 584) - R_PAREN@[584; 585) - WHITESPACE@[585; 586) - RET_TYPE@[586; 600) - THIN_ARROW@[586; 588) - WHITESPACE@[588; 589) - PATH_TYPE@[589; 600) - PATH@[589; 600) - PATH_SEGMENT@[589; 600) - NAME_REF@[589; 594) - IDENT@[589; 594) "Event" - TYPE_ARG_LIST@[594; 600) - L_ANGLE@[594; 595) - TYPE_ARG@[595; 599) - PATH_TYPE@[595; 599) - PATH@[595; 599) - PATH_SEGMENT@[595; 599) - NAME_REF@[595; 599) - IDENT@[595; 599) "Self" - R_ANGLE@[599; 600) + TYPE_BOUND_LIST@[581; 600) + TYPE_BOUND@[581; 600) + PATH_TYPE@[581; 600) + PATH@[581; 600) + PATH_SEGMENT@[581; 600) + NAME_REF@[581; 583) + IDENT@[581; 583) "Fn" + PARAM_LIST@[583; 585) + L_PAREN@[583; 584) + R_PAREN@[584; 585) + WHITESPACE@[585; 586) + RET_TYPE@[586; 600) + THIN_ARROW@[586; 588) + WHITESPACE@[588; 589) + PATH_TYPE@[589; 600) + PATH@[589; 600) + PATH_SEGMENT@[589; 600) + NAME_REF@[589; 594) + IDENT@[589; 594) "Event" + TYPE_ARG_LIST@[594; 600) + L_ANGLE@[594; 595) + TYPE_ARG@[595; 599) + PATH_TYPE@[595; 599) + PATH@[595; 599) + PATH_SEGMENT@[595; 599) + NAME_REF@[595; 599) + IDENT@[595; 599) "Self" + R_ANGLE@[599; 600) R_PAREN@[600; 601) WHITESPACE@[601; 602) BLOCK@[602; 683) -- cgit v1.2.3