From e44a6bcc8208f9d906febf9278120b75a6af67f9 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 4 Sep 2018 12:25:23 +0300 Subject: for types in bounds --- .../tests/data/parser/ok/0001_struct_item.txt | 9 ++- .../data/parser/ok/0020_type_param_bounds.txt | 75 ++++++++++--------- .../tests/data/parser/ok/0032_where_for.rs | 4 + .../tests/data/parser/ok/0032_where_for.txt | 85 ++++++++++++++++++++++ 4 files changed, 134 insertions(+), 39 deletions(-) create mode 100644 crates/libsyntax2/tests/data/parser/ok/0032_where_for.rs create mode 100644 crates/libsyntax2/tests/data/parser/ok/0032_where_for.txt (limited to 'crates/libsyntax2/tests/data/parser/ok') diff --git a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt index 90df3416a..aa2f1b712 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0001_struct_item.txt @@ -11,10 +11,11 @@ ROOT@[0; 32) IDENT@[9; 10) "T" COLON@[10; 11) WHITESPACE@[11; 12) - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "Copy" + 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/libsyntax2/tests/data/parser/ok/0020_type_param_bounds.txt b/crates/libsyntax2/tests/data/parser/ok/0020_type_param_bounds.txt index eb01dc8f1..ac1a58e9a 100644 --- a/crates/libsyntax2/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/crates/libsyntax2/tests/data/parser/ok/0020_type_param_bounds.txt @@ -102,10 +102,11 @@ ROOT@[0; 200) WHITESPACE@[106; 107) PLUS@[107; 108) WHITESPACE@[108; 109) - PATH@[109; 114) - PATH_SEGMENT@[109; 114) - NAME_REF@[109; 114) - IDENT@[109; 114) "Clone" + 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) @@ -121,17 +122,19 @@ ROOT@[0; 200) IDENT@[126; 127) "T" COLON@[127; 128) WHITESPACE@[128; 129) - 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@[137; 141) - PATH_SEGMENT@[137; 141) - NAME_REF@[137; 141) - IDENT@[137; 141) "Copy" + PATH_TYPE@[129; 141) + 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" R_ANGLE@[141; 142) SEMI@[142; 143) WHITESPACE@[143; 144) @@ -147,26 +150,28 @@ ROOT@[0; 200) IDENT@[153; 154) "T" COLON@[154; 155) WHITESPACE@[155; 156) - 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@[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) - LIFETIME@[176; 178) "'a" + PATH_TYPE@[156; 178) + 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) + LIFETIME@[176; 178) "'a" R_ANGLE@[178; 179) SEMI@[179; 180) WHITESPACE@[180; 181) diff --git a/crates/libsyntax2/tests/data/parser/ok/0032_where_for.rs b/crates/libsyntax2/tests/data/parser/ok/0032_where_for.rs new file mode 100644 index 000000000..588170fbe --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/ok/0032_where_for.rs @@ -0,0 +1,4 @@ +fn test_serialization() +where + SER: Serialize + for<'de> Deserialize<'de> + PartialEq + std::fmt::Debug, +{} diff --git a/crates/libsyntax2/tests/data/parser/ok/0032_where_for.txt b/crates/libsyntax2/tests/data/parser/ok/0032_where_for.txt new file mode 100644 index 000000000..e3b9386a8 --- /dev/null +++ b/crates/libsyntax2/tests/data/parser/ok/0032_where_for.txt @@ -0,0 +1,85 @@ +ROOT@[0; 116) + FN_DEF@[0; 115) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 21) + IDENT@[3; 21) "test_serialization" + TYPE_PARAM_LIST@[21; 26) + L_ANGLE@[21; 22) + TYPE_PARAM@[22; 25) + NAME@[22; 25) + IDENT@[22; 25) "SER" + R_ANGLE@[25; 26) + PARAM_LIST@[26; 28) + L_PAREN@[26; 27) + R_PAREN@[27; 28) + WHITESPACE@[28; 29) + WHERE_CLAUSE@[29; 112) + WHERE_KW@[29; 34) + WHITESPACE@[34; 39) + WHERE_PRED@[39; 111) + PATH_TYPE@[39; 42) + PATH@[39; 42) + PATH_SEGMENT@[39; 42) + NAME_REF@[39; 42) + 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" + 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) + 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) + PATH_TYPE@[96; 111) + PATH@[96; 111) + PATH@[96; 104) + PATH@[96; 99) + PATH_SEGMENT@[96; 99) + NAME_REF@[96; 99) + IDENT@[96; 99) "std" + COLONCOLON@[99; 101) + PATH_SEGMENT@[101; 104) + NAME_REF@[101; 104) + IDENT@[101; 104) "fmt" + COLONCOLON@[104; 106) + PATH_SEGMENT@[106; 111) + NAME_REF@[106; 111) + IDENT@[106; 111) "Debug" + COMMA@[111; 112) + WHITESPACE@[112; 113) + BLOCK@[113; 115) + L_CURLY@[113; 114) + R_CURLY@[114; 115) + WHITESPACE@[115; 116) -- cgit v1.2.3