From b23bebebc0a5dd974b42c45eaac224bc420da4e2 Mon Sep 17 00:00:00 2001 From: Laurențiu Nicola Date: Tue, 16 Nov 2021 19:59:36 +0200 Subject: Remove validation of `super` in use paths --- .../err/0041_illegal_self_keyword_location.rast | 29 +++ .../err/0041_illegal_self_keyword_location.rs | 2 + .../err/0041_illegal_super_keyword_location.rast | 75 ------ .../err/0041_illegal_super_keyword_location.rs | 4 - .../err/0042_illegal_self_keyword_location.rast | 29 --- .../err/0042_illegal_self_keyword_location.rs | 2 - .../test_data/parser/err/0042_weird_blocks.rast | 75 ++++++ .../test_data/parser/err/0042_weird_blocks.rs | 6 + .../parser/err/0043_unexpected_for_type.rast | 256 +++++++++++++++++++++ .../parser/err/0043_unexpected_for_type.rs | 9 + .../test_data/parser/err/0043_weird_blocks.rast | 75 ------ .../test_data/parser/err/0043_weird_blocks.rs | 6 - .../test_data/parser/err/0044_item_modifiers.rast | 48 ++++ .../test_data/parser/err/0044_item_modifiers.rs | 2 + .../parser/err/0044_unexpected_for_type.rast | 256 --------------------- .../parser/err/0044_unexpected_for_type.rs | 9 - .../parser/err/0045_ambiguous_trait_object.rast | 196 ++++++++++++++++ .../parser/err/0045_ambiguous_trait_object.rs | 6 + .../test_data/parser/err/0045_item_modifiers.rast | 48 ---- .../test_data/parser/err/0045_item_modifiers.rs | 2 - .../parser/err/0046_ambiguous_trait_object.rast | 196 ---------------- .../parser/err/0046_ambiguous_trait_object.rs | 6 - .../parser/err/0046_mutable_const_item.rast | 22 ++ .../parser/err/0046_mutable_const_item.rs | 1 + .../parser/err/0047_mutable_const_item.rast | 22 -- .../parser/err/0047_mutable_const_item.rs | 1 - .../parser/err/0047_repated_extern_modifier.rast | 15 ++ .../parser/err/0047_repated_extern_modifier.rs | 1 + .../test_data/parser/err/0048_double_fish.rast | 123 ++++++++++ .../test_data/parser/err/0048_double_fish.rs | 7 + .../parser/err/0048_repated_extern_modifier.rast | 15 -- .../parser/err/0048_repated_extern_modifier.rs | 1 - .../test_data/parser/err/0049_double_fish.rast | 123 ---------- .../test_data/parser/err/0049_double_fish.rs | 7 - 34 files changed, 798 insertions(+), 877 deletions(-) create mode 100644 crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rast create mode 100644 crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rs delete mode 100644 crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast delete mode 100644 crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs delete mode 100644 crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast delete mode 100644 crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs create mode 100644 crates/syntax/test_data/parser/err/0042_weird_blocks.rast create mode 100644 crates/syntax/test_data/parser/err/0042_weird_blocks.rs create mode 100644 crates/syntax/test_data/parser/err/0043_unexpected_for_type.rast create mode 100644 crates/syntax/test_data/parser/err/0043_unexpected_for_type.rs delete mode 100644 crates/syntax/test_data/parser/err/0043_weird_blocks.rast delete mode 100644 crates/syntax/test_data/parser/err/0043_weird_blocks.rs create mode 100644 crates/syntax/test_data/parser/err/0044_item_modifiers.rast create mode 100644 crates/syntax/test_data/parser/err/0044_item_modifiers.rs delete mode 100644 crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast delete mode 100644 crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs create mode 100644 crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rast create mode 100644 crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rs delete mode 100644 crates/syntax/test_data/parser/err/0045_item_modifiers.rast delete mode 100644 crates/syntax/test_data/parser/err/0045_item_modifiers.rs delete mode 100644 crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rast delete mode 100644 crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rs create mode 100644 crates/syntax/test_data/parser/err/0046_mutable_const_item.rast create mode 100644 crates/syntax/test_data/parser/err/0046_mutable_const_item.rs delete mode 100644 crates/syntax/test_data/parser/err/0047_mutable_const_item.rast delete mode 100644 crates/syntax/test_data/parser/err/0047_mutable_const_item.rs create mode 100644 crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rast create mode 100644 crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rs create mode 100644 crates/syntax/test_data/parser/err/0048_double_fish.rast create mode 100644 crates/syntax/test_data/parser/err/0048_double_fish.rs delete mode 100644 crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rast delete mode 100644 crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rs delete mode 100644 crates/syntax/test_data/parser/err/0049_double_fish.rast delete mode 100644 crates/syntax/test_data/parser/err/0049_double_fish.rs (limited to 'crates/syntax/test_data/parser') diff --git a/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rast b/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rast new file mode 100644 index 00000000000..01f60109144 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@0..25 + USE@0..11 + USE_KW@0..3 "use" + WHITESPACE@3..4 " " + USE_TREE@4..10 + PATH@4..10 + PATH_SEGMENT@4..10 + COLON2@4..6 "::" + NAME_REF@6..10 + SELF_KW@6..10 "self" + SEMICOLON@10..11 ";" + WHITESPACE@11..12 "\n" + USE@12..24 + USE_KW@12..15 "use" + WHITESPACE@15..16 " " + USE_TREE@16..23 + PATH@16..23 + PATH@16..17 + PATH_SEGMENT@16..17 + NAME_REF@16..17 + IDENT@16..17 "a" + COLON2@17..19 "::" + PATH_SEGMENT@19..23 + NAME_REF@19..23 + SELF_KW@19..23 "self" + SEMICOLON@23..24 ";" + WHITESPACE@24..25 "\n" +error 6..10: The `self` keyword is only allowed as the first segment of a path +error 19..23: The `self` keyword is only allowed as the first segment of a path diff --git a/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rs b/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rs new file mode 100644 index 00000000000..b9e1d7d8be2 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0041_illegal_self_keyword_location.rs @@ -0,0 +1,2 @@ +use ::self; +use a::self; diff --git a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast deleted file mode 100644 index 271f8d78038..00000000000 --- a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast +++ /dev/null @@ -1,75 +0,0 @@ -SOURCE_FILE@0..67 - USE@0..12 - USE_KW@0..3 "use" - WHITESPACE@3..4 " " - USE_TREE@4..11 - PATH@4..11 - PATH_SEGMENT@4..11 - COLON2@4..6 "::" - NAME_REF@6..11 - SUPER_KW@6..11 "super" - SEMICOLON@11..12 ";" - WHITESPACE@12..13 "\n" - USE@13..26 - USE_KW@13..16 "use" - WHITESPACE@16..17 " " - USE_TREE@17..25 - PATH@17..25 - PATH@17..18 - PATH_SEGMENT@17..18 - NAME_REF@17..18 - IDENT@17..18 "a" - COLON2@18..20 "::" - PATH_SEGMENT@20..25 - NAME_REF@20..25 - SUPER_KW@20..25 "super" - SEMICOLON@25..26 ";" - WHITESPACE@26..27 "\n" - USE@27..47 - USE_KW@27..30 "use" - WHITESPACE@30..31 " " - USE_TREE@31..46 - PATH@31..46 - PATH@31..39 - PATH@31..36 - PATH_SEGMENT@31..36 - NAME_REF@31..36 - SUPER_KW@31..36 "super" - COLON2@36..38 "::" - PATH_SEGMENT@38..39 - NAME_REF@38..39 - IDENT@38..39 "a" - COLON2@39..41 "::" - PATH_SEGMENT@41..46 - NAME_REF@41..46 - SUPER_KW@41..46 "super" - SEMICOLON@46..47 ";" - WHITESPACE@47..48 "\n" - USE@48..66 - USE_KW@48..51 "use" - WHITESPACE@51..52 " " - USE_TREE@52..65 - PATH@52..53 - PATH_SEGMENT@52..53 - NAME_REF@52..53 - IDENT@52..53 "a" - COLON2@53..55 "::" - USE_TREE_LIST@55..65 - L_CURLY@55..56 "{" - USE_TREE@56..64 - PATH@56..64 - PATH@56..61 - PATH_SEGMENT@56..61 - NAME_REF@56..61 - SUPER_KW@56..61 "super" - COLON2@61..63 "::" - PATH_SEGMENT@63..64 - NAME_REF@63..64 - IDENT@63..64 "b" - R_CURLY@64..65 "}" - SEMICOLON@65..66 ";" - WHITESPACE@66..67 "\n" -error 6..11: The `super` keyword may only be preceded by other `super`s -error 20..25: The `super` keyword may only be preceded by other `super`s -error 41..46: The `super` keyword may only be preceded by other `super`s -error 56..61: The `super` keyword may only be preceded by other `super`s diff --git a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs b/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs deleted file mode 100644 index bd4d5804263..00000000000 --- a/crates/syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs +++ /dev/null @@ -1,4 +0,0 @@ -use ::super; -use a::super; -use super::a::super; -use a::{super::b}; diff --git a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast deleted file mode 100644 index 01f60109144..00000000000 --- a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast +++ /dev/null @@ -1,29 +0,0 @@ -SOURCE_FILE@0..25 - USE@0..11 - USE_KW@0..3 "use" - WHITESPACE@3..4 " " - USE_TREE@4..10 - PATH@4..10 - PATH_SEGMENT@4..10 - COLON2@4..6 "::" - NAME_REF@6..10 - SELF_KW@6..10 "self" - SEMICOLON@10..11 ";" - WHITESPACE@11..12 "\n" - USE@12..24 - USE_KW@12..15 "use" - WHITESPACE@15..16 " " - USE_TREE@16..23 - PATH@16..23 - PATH@16..17 - PATH_SEGMENT@16..17 - NAME_REF@16..17 - IDENT@16..17 "a" - COLON2@17..19 "::" - PATH_SEGMENT@19..23 - NAME_REF@19..23 - SELF_KW@19..23 "self" - SEMICOLON@23..24 ";" - WHITESPACE@24..25 "\n" -error 6..10: The `self` keyword is only allowed as the first segment of a path -error 19..23: The `self` keyword is only allowed as the first segment of a path diff --git a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs b/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs deleted file mode 100644 index b9e1d7d8be2..00000000000 --- a/crates/syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs +++ /dev/null @@ -1,2 +0,0 @@ -use ::self; -use a::self; diff --git a/crates/syntax/test_data/parser/err/0042_weird_blocks.rast b/crates/syntax/test_data/parser/err/0042_weird_blocks.rast new file mode 100644 index 00000000000..25910cb4052 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0042_weird_blocks.rast @@ -0,0 +1,75 @@ +SOURCE_FILE@0..83 + FN@0..82 + FN_KW@0..2 "fn" + WHITESPACE@2..3 " " + NAME@3..7 + IDENT@3..7 "main" + PARAM_LIST@7..9 + L_PAREN@7..8 "(" + R_PAREN@8..9 ")" + WHITESPACE@9..10 " " + BLOCK_EXPR@10..82 + STMT_LIST@10..82 + L_CURLY@10..11 "{" + WHITESPACE@11..16 "\n " + EXPR_STMT@16..29 + BLOCK_EXPR@16..29 + STMT_LIST@16..29 + L_CURLY@16..17 "{" + WHITESPACE@17..18 " " + ERROR@18..24 + UNSAFE_KW@18..24 "unsafe" + WHITESPACE@24..25 " " + LITERAL@25..27 + INT_NUMBER@25..27 "92" + WHITESPACE@27..28 " " + R_CURLY@28..29 "}" + WHITESPACE@29..34 "\n " + EXPR_STMT@34..46 + BLOCK_EXPR@34..46 + STMT_LIST@34..46 + L_CURLY@34..35 "{" + WHITESPACE@35..36 " " + ERROR@36..41 + ASYNC_KW@36..41 "async" + WHITESPACE@41..42 " " + LITERAL@42..44 + INT_NUMBER@42..44 "92" + WHITESPACE@44..45 " " + R_CURLY@45..46 "}" + WHITESPACE@46..51 "\n " + EXPR_STMT@51..61 + BLOCK_EXPR@51..61 + STMT_LIST@51..61 + L_CURLY@51..52 "{" + WHITESPACE@52..53 " " + EXPR_STMT@53..56 + BLOCK_EXPR@53..56 + TRY_KW@53..56 "try" + WHITESPACE@56..57 " " + LITERAL@57..59 + INT_NUMBER@57..59 "92" + WHITESPACE@59..60 " " + R_CURLY@60..61 "}" + WHITESPACE@61..66 "\n " + BLOCK_EXPR@66..80 + STMT_LIST@66..80 + L_CURLY@66..67 "{" + WHITESPACE@67..68 " " + ERROR@68..75 + LABEL@68..75 + LIFETIME@68..74 + LIFETIME_IDENT@68..74 "'label" + COLON@74..75 ":" + WHITESPACE@75..76 " " + LITERAL@76..78 + INT_NUMBER@76..78 "92" + WHITESPACE@78..79 " " + R_CURLY@79..80 "}" + WHITESPACE@80..81 "\n" + R_CURLY@81..82 "}" + WHITESPACE@82..83 "\n" +error 24..24: expected existential, fn, trait or impl +error 41..41: expected existential, fn, trait or impl +error 56..56: expected a block +error 75..75: expected a loop diff --git a/crates/syntax/test_data/parser/err/0042_weird_blocks.rs b/crates/syntax/test_data/parser/err/0042_weird_blocks.rs new file mode 100644 index 00000000000..8fa324c1a14 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0042_weird_blocks.rs @@ -0,0 +1,6 @@ +fn main() { + { unsafe 92 } + { async 92 } + { try 92 } + { 'label: 92 } +} diff --git a/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rast b/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rast new file mode 100644 index 00000000000..d4e4bf102ed --- /dev/null +++ b/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rast @@ -0,0 +1,256 @@ +SOURCE_FILE@0..239 + TYPE_ALIAS@0..30 + TYPE_KW@0..4 "type" + WHITESPACE@4..5 " " + NAME@5..11 + IDENT@5..11 "ForRef" + WHITESPACE@11..12 " " + EQ@12..13 "=" + WHITESPACE@13..14 " " + FOR_TYPE@14..29 + FOR_KW@14..17 "for" + GENERIC_PARAM_LIST@17..21 + L_ANGLE@17..18 "<" + LIFETIME_PARAM@18..20 + LIFETIME@18..20 + LIFETIME_IDENT@18..20 "'a" + R_ANGLE@20..21 ">" + WHITESPACE@21..22 " " + REF_TYPE@22..29 + AMP@22..23 "&" + LIFETIME@23..25 + LIFETIME_IDENT@23..25 "'a" + WHITESPACE@25..26 " " + PATH_TYPE@26..29 + PATH@26..29 + PATH_SEGMENT@26..29 + NAME_REF@26..29 + IDENT@26..29 "u32" + SEMICOLON@29..30 ";" + WHITESPACE@30..31 "\n" + TYPE_ALIAS@31..64 + TYPE_KW@31..35 "type" + WHITESPACE@35..36 " " + NAME@36..42 + IDENT@36..42 "ForTup" + WHITESPACE@42..43 " " + EQ@43..44 "=" + WHITESPACE@44..45 " " + FOR_TYPE@45..63 + FOR_KW@45..48 "for" + GENERIC_PARAM_LIST@48..52 + L_ANGLE@48..49 "<" + LIFETIME_PARAM@49..51 + LIFETIME@49..51 + LIFETIME_IDENT@49..51 "'a" + R_ANGLE@51..52 ">" + WHITESPACE@52..53 " " + TUPLE_TYPE@53..63 + L_PAREN@53..54 "(" + REF_TYPE@54..61 + AMP@54..55 "&" + LIFETIME@55..57 + LIFETIME_IDENT@55..57 "'a" + WHITESPACE@57..58 " " + PATH_TYPE@58..61 + PATH@58..61 + PATH_SEGMENT@58..61 + NAME_REF@58..61 + IDENT@58..61 "u32" + COMMA@61..62 "," + R_PAREN@62..63 ")" + SEMICOLON@63..64 ";" + WHITESPACE@64..65 "\n" + TYPE_ALIAS@65..95 + TYPE_KW@65..69 "type" + WHITESPACE@69..70 " " + NAME@70..78 + IDENT@70..78 "ForSlice" + WHITESPACE@78..79 " " + EQ@79..80 "=" + WHITESPACE@80..81 " " + FOR_TYPE@81..94 + FOR_KW@81..84 "for" + GENERIC_PARAM_LIST@84..88 + L_ANGLE@84..85 "<" + LIFETIME_PARAM@85..87 + LIFETIME@85..87 + LIFETIME_IDENT@85..87 "'a" + R_ANGLE@87..88 ">" + WHITESPACE@88..89 " " + SLICE_TYPE@89..94 + L_BRACK@89..90 "[" + PATH_TYPE@90..93 + PATH@90..93 + PATH_SEGMENT@90..93 + NAME_REF@90..93 + IDENT@90..93 "u32" + R_BRACK@93..94 "]" + SEMICOLON@94..95 ";" + WHITESPACE@95..96 "\n" + TYPE_ALIAS@96..149 + TYPE_KW@96..100 "type" + WHITESPACE@100..101 " " + NAME@101..109 + IDENT@101..109 "ForForFn" + WHITESPACE@109..110 " " + EQ@110..111 "=" + WHITESPACE@111..112 " " + FOR_TYPE@112..148 + FOR_KW@112..115 "for" + GENERIC_PARAM_LIST@115..119 + L_ANGLE@115..116 "<" + LIFETIME_PARAM@116..118 + LIFETIME@116..118 + LIFETIME_IDENT@116..118 "'a" + R_ANGLE@118..119 ">" + WHITESPACE@119..120 " " + FOR_TYPE@120..148 + FOR_KW@120..123 "for" + GENERIC_PARAM_LIST@123..127 + L_ANGLE@123..124 "<" + LIFETIME_PARAM@124..126 + LIFETIME@124..126 + LIFETIME_IDENT@124..126 "'b" + R_ANGLE@126..127 ">" + WHITESPACE@127..128 " " + FN_PTR_TYPE@128..148 + FN_KW@128..130 "fn" + PARAM_LIST@130..148 + L_PAREN@130..131 "(" + PARAM@131..138 + REF_TYPE@131..138 + AMP@131..132 "&" + LIFETIME@132..134 + LIFETIME_IDENT@132..134 "'a" + WHITESPACE@134..135 " " + PATH_TYPE@135..138 + PATH@135..138 + PATH_SEGMENT@135..138 + NAME_REF@135..138 + IDENT@135..138 "i32" + COMMA@138..139 "," + WHITESPACE@139..140 " " + PARAM@140..147 + REF_TYPE@140..147 + AMP@140..141 "&" + LIFETIME@141..143 + LIFETIME_IDENT@141..143 "'b" + WHITESPACE@143..144 " " + PATH_TYPE@144..147 + PATH@144..147 + PATH_SEGMENT@144..147 + NAME_REF@144..147 + IDENT@144..147 "i32" + R_PAREN@147..148 ")" + SEMICOLON@148..149 ";" + WHITESPACE@149..150 "\n" + FN@150..238 + FN_KW@150..152 "fn" + WHITESPACE@152..153 " " + NAME@153..164 + IDENT@153..164 "for_for_for" + GENERIC_PARAM_LIST@164..167 + L_ANGLE@164..165 "<" + TYPE_PARAM@165..166 + NAME@165..166 + IDENT@165..166 "T" + R_ANGLE@166..167 ">" + PARAM_LIST@167..169 + L_PAREN@167..168 "(" + R_PAREN@168..169 ")" + WHITESPACE@169..170 "\n" + WHERE_CLAUSE@170..234 + WHERE_KW@170..175 "where" + WHITESPACE@175..180 "\n " + WHERE_PRED@180..233 + FOR_KW@180..183 "for" + GENERIC_PARAM_LIST@183..187 + L_ANGLE@183..184 "<" + LIFETIME_PARAM@184..186 + LIFETIME@184..186 + LIFETIME_IDENT@184..186 "'a" + R_ANGLE@186..187 ">" + WHITESPACE@187..188 " " + FOR_TYPE@188..227 + FOR_KW@188..191 "for" + GENERIC_PARAM_LIST@191..195 + L_ANGLE@191..192 "<" + LIFETIME_PARAM@192..194 + LIFETIME@192..194 + LIFETIME_IDENT@192..194 "'b" + R_ANGLE@194..195 ">" + WHITESPACE@195..196 " " + FOR_TYPE@196..227 + FOR_KW@196..199 "for" + GENERIC_PARAM_LIST@199..203 + L_ANGLE@199..200 "<" + LIFETIME_PARAM@200..202 + LIFETIME@200..202 + LIFETIME_IDENT@200..202 "'c" + R_ANGLE@202..203 ">" + WHITESPACE@203..204 " " + FN_PTR_TYPE@204..227 + FN_KW@204..206 "fn" + PARAM_LIST@206..227 + L_PAREN@206..207 "(" + PARAM@207..212 + REF_TYPE@207..212 + AMP@207..208 "&" + LIFETIME@208..210 + LIFETIME_IDENT@208..210 "'a" + WHITESPACE@210..211 " " + PATH_TYPE@211..212 + PATH@211..212 + PATH_SEGMENT@211..212 + NAME_REF@211..212 + IDENT@211..212 "T" + COMMA@212..213 "," + WHITESPACE@213..214 " " + PARAM@214..219 + REF_TYPE@214..219 + AMP@214..215 "&" + LIFETIME@215..217 + LIFETIME_IDENT@215..217 "'b" + WHITESPACE@217..218 " " + PATH_TYPE@218..219 + PATH@218..219 + PATH_SEGMENT@218..219 + NAME_REF@218..219 + IDENT@218..219 "T" + COMMA@219..220 "," + WHITESPACE@220..221 " " + PARAM@221..226 + REF_TYPE@221..226 + AMP@221..222 "&" + LIFETIME@222..224 + LIFETIME_IDENT@222..224 "'c" + WHITESPACE@224..225 " " + PATH_TYPE@225..226 + PATH@225..226 + PATH_SEGMENT@225..226 + NAME_REF@225..226 + IDENT@225..226 "T" + R_PAREN@226..227 ")" + COLON@227..228 ":" + WHITESPACE@228..229 " " + TYPE_BOUND_LIST@229..233 + TYPE_BOUND@229..233 + PATH_TYPE@229..233 + PATH@229..233 + PATH_SEGMENT@229..233 + NAME_REF@229..233 + IDENT@229..233 "Copy" + COMMA@233..234 "," + WHITESPACE@234..235 "\n" + BLOCK_EXPR@235..238 + STMT_LIST@235..238 + L_CURLY@235..236 "{" + WHITESPACE@236..237 "\n" + R_CURLY@237..238 "}" + WHITESPACE@238..239 "\n" +error 21..21: expected a function pointer or path +error 52..52: expected a function pointer or path +error 88..88: expected a function pointer or path +error 119..119: expected a function pointer or path +error 195..195: expected a function pointer or path diff --git a/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rs b/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rs new file mode 100644 index 00000000000..0e9f8ccb4f8 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0043_unexpected_for_type.rs @@ -0,0 +1,9 @@ +type ForRef = for<'a> &'a u32; +type ForTup = for<'a> (&'a u32,); +type ForSlice = for<'a> [u32]; +type ForForFn = for<'a> for<'b> fn(&'a i32, &'b i32); +fn for_for_for() +where + for<'a> for<'b> for<'c> fn(&'a T, &'b T, &'c T): Copy, +{ +} diff --git a/crates/syntax/test_data/parser/err/0043_weird_blocks.rast b/crates/syntax/test_data/parser/err/0043_weird_blocks.rast deleted file mode 100644 index 25910cb4052..00000000000 --- a/crates/syntax/test_data/parser/err/0043_weird_blocks.rast +++ /dev/null @@ -1,75 +0,0 @@ -SOURCE_FILE@0..83 - FN@0..82 - FN_KW@0..2 "fn" - WHITESPACE@2..3 " " - NAME@3..7 - IDENT@3..7 "main" - PARAM_LIST@7..9 - L_PAREN@7..8 "(" - R_PAREN@8..9 ")" - WHITESPACE@9..10 " " - BLOCK_EXPR@10..82 - STMT_LIST@10..82 - L_CURLY@10..11 "{" - WHITESPACE@11..16 "\n " - EXPR_STMT@16..29 - BLOCK_EXPR@16..29 - STMT_LIST@16..29 - L_CURLY@16..17 "{" - WHITESPACE@17..18 " " - ERROR@18..24 - UNSAFE_KW@18..24 "unsafe" - WHITESPACE@24..25 " " - LITERAL@25..27 - INT_NUMBER@25..27 "92" - WHITESPACE@27..28 " " - R_CURLY@28..29 "}" - WHITESPACE@29..34 "\n " - EXPR_STMT@34..46 - BLOCK_EXPR@34..46 - STMT_LIST@34..46 - L_CURLY@34..35 "{" - WHITESPACE@35..36 " " - ERROR@36..41 - ASYNC_KW@36..41 "async" - WHITESPACE@41..42 " " - LITERAL@42..44 - INT_NUMBER@42..44 "92" - WHITESPACE@44..45 " " - R_CURLY@45..46 "}" - WHITESPACE@46..51 "\n " - EXPR_STMT@51..61 - BLOCK_EXPR@51..61 - STMT_LIST@51..61 - L_CURLY@51..52 "{" - WHITESPACE@52..53 " " - EXPR_STMT@53..56 - BLOCK_EXPR@53..56 - TRY_KW@53..56 "try" - WHITESPACE@56..57 " " - LITERAL@57..59 - INT_NUMBER@57..59 "92" - WHITESPACE@59..60 " " - R_CURLY@60..61 "}" - WHITESPACE@61..66 "\n " - BLOCK_EXPR@66..80 - STMT_LIST@66..80 - L_CURLY@66..67 "{" - WHITESPACE@67..68 " " - ERROR@68..75 - LABEL@68..75 - LIFETIME@68..74 - LIFETIME_IDENT@68..74 "'label" - COLON@74..75 ":" - WHITESPACE@75..76 " " - LITERAL@76..78 - INT_NUMBER@76..78 "92" - WHITESPACE@78..79 " " - R_CURLY@79..80 "}" - WHITESPACE@80..81 "\n" - R_CURLY@81..82 "}" - WHITESPACE@82..83 "\n" -error 24..24: expected existential, fn, trait or impl -error 41..41: expected existential, fn, trait or impl -error 56..56: expected a block -error 75..75: expected a loop diff --git a/crates/syntax/test_data/parser/err/0043_weird_blocks.rs b/crates/syntax/test_data/parser/err/0043_weird_blocks.rs deleted file mode 100644 index 8fa324c1a14..00000000000 --- a/crates/syntax/test_data/parser/err/0043_weird_blocks.rs +++ /dev/null @@ -1,6 +0,0 @@ -fn main() { - { unsafe 92 } - { async 92 } - { try 92 } - { 'label: 92 } -} diff --git a/crates/syntax/test_data/parser/err/0044_item_modifiers.rast b/crates/syntax/test_data/parser/err/0044_item_modifiers.rast new file mode 100644 index 00000000000..b4ff1a14a7c --- /dev/null +++ b/crates/syntax/test_data/parser/err/0044_item_modifiers.rast @@ -0,0 +1,48 @@ +SOURCE_FILE@0..50 + ERROR@0..6 + UNSAFE_KW@0..6 "unsafe" + WHITESPACE@6..7 " " + FN@7..24 + ASYNC_KW@7..12 "async" + WHITESPACE@12..13 " " + FN_KW@13..15 "fn" + WHITESPACE@15..16 " " + NAME@16..19 + IDENT@16..19 "foo" + PARAM_LIST@19..21 + L_PAREN@19..20 "(" + R_PAREN@20..21 ")" + WHITESPACE@21..22 " " + BLOCK_EXPR@22..24 + STMT_LIST@22..24 + L_CURLY@22..23 "{" + R_CURLY@23..24 "}" + WHITESPACE@24..25 "\n" + CONST@25..40 + UNSAFE_KW@25..31 "unsafe" + WHITESPACE@31..32 " " + CONST_KW@32..37 "const" + WHITESPACE@37..38 " " + ERROR@38..40 + FN_KW@38..40 "fn" + WHITESPACE@40..41 " " + MACRO_CALL@41..46 + PATH@41..44 + PATH_SEGMENT@41..44 + NAME_REF@41..44 + IDENT@41..44 "bar" + TOKEN_TREE@44..46 + L_PAREN@44..45 "(" + R_PAREN@45..46 ")" + WHITESPACE@46..47 " " + ERROR@47..49 + L_CURLY@47..48 "{" + R_CURLY@48..49 "}" + WHITESPACE@49..50 "\n" +error 6..6: expected existential, fn, trait or impl +error 38..38: expected a name +error 40..40: missing type for `const` or `static` +error 40..40: expected SEMICOLON +error 44..44: expected BANG +error 46..46: expected SEMICOLON +error 47..47: expected an item diff --git a/crates/syntax/test_data/parser/err/0044_item_modifiers.rs b/crates/syntax/test_data/parser/err/0044_item_modifiers.rs new file mode 100644 index 00000000000..731e58013bd --- /dev/null +++ b/crates/syntax/test_data/parser/err/0044_item_modifiers.rs @@ -0,0 +1,2 @@ +unsafe async fn foo() {} +unsafe const fn bar() {} diff --git a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast deleted file mode 100644 index d4e4bf102ed..00000000000 --- a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rast +++ /dev/null @@ -1,256 +0,0 @@ -SOURCE_FILE@0..239 - TYPE_ALIAS@0..30 - TYPE_KW@0..4 "type" - WHITESPACE@4..5 " " - NAME@5..11 - IDENT@5..11 "ForRef" - WHITESPACE@11..12 " " - EQ@12..13 "=" - WHITESPACE@13..14 " " - FOR_TYPE@14..29 - FOR_KW@14..17 "for" - GENERIC_PARAM_LIST@17..21 - L_ANGLE@17..18 "<" - LIFETIME_PARAM@18..20 - LIFETIME@18..20 - LIFETIME_IDENT@18..20 "'a" - R_ANGLE@20..21 ">" - WHITESPACE@21..22 " " - REF_TYPE@22..29 - AMP@22..23 "&" - LIFETIME@23..25 - LIFETIME_IDENT@23..25 "'a" - WHITESPACE@25..26 " " - PATH_TYPE@26..29 - PATH@26..29 - PATH_SEGMENT@26..29 - NAME_REF@26..29 - IDENT@26..29 "u32" - SEMICOLON@29..30 ";" - WHITESPACE@30..31 "\n" - TYPE_ALIAS@31..64 - TYPE_KW@31..35 "type" - WHITESPACE@35..36 " " - NAME@36..42 - IDENT@36..42 "ForTup" - WHITESPACE@42..43 " " - EQ@43..44 "=" - WHITESPACE@44..45 " " - FOR_TYPE@45..63 - FOR_KW@45..48 "for" - GENERIC_PARAM_LIST@48..52 - L_ANGLE@48..49 "<" - LIFETIME_PARAM@49..51 - LIFETIME@49..51 - LIFETIME_IDENT@49..51 "'a" - R_ANGLE@51..52 ">" - WHITESPACE@52..53 " " - TUPLE_TYPE@53..63 - L_PAREN@53..54 "(" - REF_TYPE@54..61 - AMP@54..55 "&" - LIFETIME@55..57 - LIFETIME_IDENT@55..57 "'a" - WHITESPACE@57..58 " " - PATH_TYPE@58..61 - PATH@58..61 - PATH_SEGMENT@58..61 - NAME_REF@58..61 - IDENT@58..61 "u32" - COMMA@61..62 "," - R_PAREN@62..63 ")" - SEMICOLON@63..64 ";" - WHITESPACE@64..65 "\n" - TYPE_ALIAS@65..95 - TYPE_KW@65..69 "type" - WHITESPACE@69..70 " " - NAME@70..78 - IDENT@70..78 "ForSlice" - WHITESPACE@78..79 " " - EQ@79..80 "=" - WHITESPACE@80..81 " " - FOR_TYPE@81..94 - FOR_KW@81..84 "for" - GENERIC_PARAM_LIST@84..88 - L_ANGLE@84..85 "<" - LIFETIME_PARAM@85..87 - LIFETIME@85..87 - LIFETIME_IDENT@85..87 "'a" - R_ANGLE@87..88 ">" - WHITESPACE@88..89 " " - SLICE_TYPE@89..94 - L_BRACK@89..90 "[" - PATH_TYPE@90..93 - PATH@90..93 - PATH_SEGMENT@90..93 - NAME_REF@90..93 - IDENT@90..93 "u32" - R_BRACK@93..94 "]" - SEMICOLON@94..95 ";" - WHITESPACE@95..96 "\n" - TYPE_ALIAS@96..149 - TYPE_KW@96..100 "type" - WHITESPACE@100..101 " " - NAME@101..109 - IDENT@101..109 "ForForFn" - WHITESPACE@109..110 " " - EQ@110..111 "=" - WHITESPACE@111..112 " " - FOR_TYPE@112..148 - FOR_KW@112..115 "for" - GENERIC_PARAM_LIST@115..119 - L_ANGLE@115..116 "<" - LIFETIME_PARAM@116..118 - LIFETIME@116..118 - LIFETIME_IDENT@116..118 "'a" - R_ANGLE@118..119 ">" - WHITESPACE@119..120 " " - FOR_TYPE@120..148 - FOR_KW@120..123 "for" - GENERIC_PARAM_LIST@123..127 - L_ANGLE@123..124 "<" - LIFETIME_PARAM@124..126 - LIFETIME@124..126 - LIFETIME_IDENT@124..126 "'b" - R_ANGLE@126..127 ">" - WHITESPACE@127..128 " " - FN_PTR_TYPE@128..148 - FN_KW@128..130 "fn" - PARAM_LIST@130..148 - L_PAREN@130..131 "(" - PARAM@131..138 - REF_TYPE@131..138 - AMP@131..132 "&" - LIFETIME@132..134 - LIFETIME_IDENT@132..134 "'a" - WHITESPACE@134..135 " " - PATH_TYPE@135..138 - PATH@135..138 - PATH_SEGMENT@135..138 - NAME_REF@135..138 - IDENT@135..138 "i32" - COMMA@138..139 "," - WHITESPACE@139..140 " " - PARAM@140..147 - REF_TYPE@140..147 - AMP@140..141 "&" - LIFETIME@141..143 - LIFETIME_IDENT@141..143 "'b" - WHITESPACE@143..144 " " - PATH_TYPE@144..147 - PATH@144..147 - PATH_SEGMENT@144..147 - NAME_REF@144..147 - IDENT@144..147 "i32" - R_PAREN@147..148 ")" - SEMICOLON@148..149 ";" - WHITESPACE@149..150 "\n" - FN@150..238 - FN_KW@150..152 "fn" - WHITESPACE@152..153 " " - NAME@153..164 - IDENT@153..164 "for_for_for" - GENERIC_PARAM_LIST@164..167 - L_ANGLE@164..165 "<" - TYPE_PARAM@165..166 - NAME@165..166 - IDENT@165..166 "T" - R_ANGLE@166..167 ">" - PARAM_LIST@167..169 - L_PAREN@167..168 "(" - R_PAREN@168..169 ")" - WHITESPACE@169..170 "\n" - WHERE_CLAUSE@170..234 - WHERE_KW@170..175 "where" - WHITESPACE@175..180 "\n " - WHERE_PRED@180..233 - FOR_KW@180..183 "for" - GENERIC_PARAM_LIST@183..187 - L_ANGLE@183..184 "<" - LIFETIME_PARAM@184..186 - LIFETIME@184..186 - LIFETIME_IDENT@184..186 "'a" - R_ANGLE@186..187 ">" - WHITESPACE@187..188 " " - FOR_TYPE@188..227 - FOR_KW@188..191 "for" - GENERIC_PARAM_LIST@191..195 - L_ANGLE@191..192 "<" - LIFETIME_PARAM@192..194 - LIFETIME@192..194 - LIFETIME_IDENT@192..194 "'b" - R_ANGLE@194..195 ">" - WHITESPACE@195..196 " " - FOR_TYPE@196..227 - FOR_KW@196..199 "for" - GENERIC_PARAM_LIST@199..203 - L_ANGLE@199..200 "<" - LIFETIME_PARAM@200..202 - LIFETIME@200..202 - LIFETIME_IDENT@200..202 "'c" - R_ANGLE@202..203 ">" - WHITESPACE@203..204 " " - FN_PTR_TYPE@204..227 - FN_KW@204..206 "fn" - PARAM_LIST@206..227 - L_PAREN@206..207 "(" - PARAM@207..212 - REF_TYPE@207..212 - AMP@207..208 "&" - LIFETIME@208..210 - LIFETIME_IDENT@208..210 "'a" - WHITESPACE@210..211 " " - PATH_TYPE@211..212 - PATH@211..212 - PATH_SEGMENT@211..212 - NAME_REF@211..212 - IDENT@211..212 "T" - COMMA@212..213 "," - WHITESPACE@213..214 " " - PARAM@214..219 - REF_TYPE@214..219 - AMP@214..215 "&" - LIFETIME@215..217 - LIFETIME_IDENT@215..217 "'b" - WHITESPACE@217..218 " " - PATH_TYPE@218..219 - PATH@218..219 - PATH_SEGMENT@218..219 - NAME_REF@218..219 - IDENT@218..219 "T" - COMMA@219..220 "," - WHITESPACE@220..221 " " - PARAM@221..226 - REF_TYPE@221..226 - AMP@221..222 "&" - LIFETIME@222..224 - LIFETIME_IDENT@222..224 "'c" - WHITESPACE@224..225 " " - PATH_TYPE@225..226 - PATH@225..226 - PATH_SEGMENT@225..226 - NAME_REF@225..226 - IDENT@225..226 "T" - R_PAREN@226..227 ")" - COLON@227..228 ":" - WHITESPACE@228..229 " " - TYPE_BOUND_LIST@229..233 - TYPE_BOUND@229..233 - PATH_TYPE@229..233 - PATH@229..233 - PATH_SEGMENT@229..233 - NAME_REF@229..233 - IDENT@229..233 "Copy" - COMMA@233..234 "," - WHITESPACE@234..235 "\n" - BLOCK_EXPR@235..238 - STMT_LIST@235..238 - L_CURLY@235..236 "{" - WHITESPACE@236..237 "\n" - R_CURLY@237..238 "}" - WHITESPACE@238..239 "\n" -error 21..21: expected a function pointer or path -error 52..52: expected a function pointer or path -error 88..88: expected a function pointer or path -error 119..119: expected a function pointer or path -error 195..195: expected a function pointer or path diff --git a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs b/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs deleted file mode 100644 index 0e9f8ccb4f8..00000000000 --- a/crates/syntax/test_data/parser/err/0044_unexpected_for_type.rs +++ /dev/null @@ -1,9 +0,0 @@ -type ForRef = for<'a> &'a u32; -type ForTup = for<'a> (&'a u32,); -type ForSlice = for<'a> [u32]; -type ForForFn = for<'a> for<'b> fn(&'a i32, &'b i32); -fn for_for_for() -where - for<'a> for<'b> for<'c> fn(&'a T, &'b T, &'c T): Copy, -{ -} diff --git a/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rast b/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rast new file mode 100644 index 00000000000..d94daacdc1d --- /dev/null +++ b/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rast @@ -0,0 +1,196 @@ +SOURCE_FILE@0..187 + TYPE_ALIAS@0..35 + TYPE_KW@0..4 "type" + WHITESPACE@4..5 " " + NAME@5..8 + IDENT@5..8 "Foo" + GENERIC_PARAM_LIST@8..12 + L_ANGLE@8..9 "<" + LIFETIME_PARAM@9..11 + LIFETIME@9..11 + LIFETIME_IDENT@9..11 "'a" + R_ANGLE@11..12 ">" + WHITESPACE@12..13 " " + EQ@13..14 "=" + WHITESPACE@14..15 " " + REF_TYPE@15..34 + AMP@15..16 "&" + LIFETIME@16..18 + LIFETIME_IDENT@16..18 "'a" + WHITESPACE@18..19 " " + DYN_TRAIT_TYPE@19..34 + DYN_KW@19..22 "dyn" + WHITESPACE@22..23 " " + TYPE_BOUND_LIST@23..34 + TYPE_BOUND@23..27 + PATH_TYPE@23..27 + PATH@23..27 + PATH_SEGMENT@23..27 + NAME_REF@23..27 + IDENT@23..27 "Send" + WHITESPACE@27..28 " " + PLUS@28..29 "+" + WHITESPACE@29..30 " " + TYPE_BOUND@30..34 + PATH_TYPE@30..34 + PATH@30..34 + PATH_SEGMENT@30..34 + NAME_REF@30..34 + IDENT@30..34 "Sync" + SEMICOLON@34..35 ";" + WHITESPACE@35..36 "\n" + TYPE_ALIAS@36..70 + TYPE_KW@36..40 "type" + WHITESPACE@40..41 " " + NAME@41..44 + IDENT@41..44 "Foo" + WHITESPACE@44..45 " " + EQ@45..46 "=" + WHITESPACE@46..47 " " + PTR_TYPE@47..69 + STAR@47..48 "*" + CONST_KW@48..53 "const" + WHITESPACE@53..54 " " + DYN_TRAIT_TYPE@54..69 + DYN_KW@54..57 "dyn" + WHITESPACE@57..58 " " + TYPE_BOUND_LIST@58..69 + TYPE_BOUND@58..62 + PATH_TYPE@58..62 + PATH@58..62 + PATH_SEGMENT@58..62 + NAME_REF@58..62 + IDENT@58..62 "Send" + WHITESPACE@62..63 " " + PLUS@63..64 "+" + WHITESPACE@64..65 " " + TYPE_BOUND@65..69 + PATH_TYPE@65..69 + PATH@65..69 + PATH_SEGMENT@65..69 + NAME_REF@65..69 + IDENT@65..69 "Sync" + SEMICOLON@69..70 ";" + WHITESPACE@70..71 "\n" + TYPE_ALIAS@71..109 + TYPE_KW@71..75 "type" + WHITESPACE@75..76 " " + NAME@76..79 + IDENT@76..79 "Foo" + WHITESPACE@79..80 " " + EQ@80..81 "=" + WHITESPACE@81..82 " " + FN_PTR_TYPE@82..108 + FN_KW@82..84 "fn" + PARAM_LIST@84..86 + L_PAREN@84..85 "(" + R_PAREN@85..86 ")" + WHITESPACE@86..87 " " + RET_TYPE@87..108 + THIN_ARROW@87..89 "->" + WHITESPACE@89..90 " " + DYN_TRAIT_TYPE@90..108 + DYN_KW@90..93 "dyn" + WHITESPACE@93..94 " " + TYPE_BOUND_LIST@94..108 + TYPE_BOUND@94..98 + PATH_TYPE@94..98 + PATH@94..98 + PATH_SEGMENT@94..98 + NAME_REF@94..98 + IDENT@94..98 "Send" + WHITESPACE@98..99 " " + PLUS@99..100 "+" + WHITESPACE@100..101 " " + TYPE_BOUND@101..108 + LIFETIME@101..108 + LIFETIME_IDENT@101..108 "'static" + SEMICOLON@108..109 ";" + WHITESPACE@109..110 "\n" + FN@110..186 + FN_KW@110..112 "fn" + WHITESPACE@112..113 " " + NAME@113..117 + IDENT@113..117 "main" + PARAM_LIST@117..119 + L_PAREN@117..118 "(" + R_PAREN@118..119 ")" + WHITESPACE@119..120 " " + BLOCK_EXPR@120..186 + STMT_LIST@120..186 + L_CURLY@120..121 "{" + WHITESPACE@121..126 "\n " + LET_STMT@126..184 + LET_KW@126..129 "let" + WHITESPACE@129..130 " " + IDENT_PAT@130..131 + NAME@130..131 + IDENT@130..131 "b" + WHITESPACE@131..132 " " + EQ@132..133 "=" + WHITESPACE@133..134 " " + CAST_EXPR@134..183 + PAREN_EXPR@134..138 + L_PAREN@134..135 "(" + REF_EXPR@135..137 + AMP@135..136 "&" + PATH_EXPR@136..137 + PATH@136..137 + PATH_SEGMENT@136..137 + NAME_REF@136..137 + IDENT@136..137 "a" + R_PAREN@137..138 ")" + WHITESPACE@138..139 " " + AS_KW@139..141 "as" + WHITESPACE@141..142 " " + REF_TYPE@142..183 + AMP@142..143 "&" + DYN_TRAIT_TYPE@143..183 + DYN_KW@143..146 "dyn" + WHITESPACE@146..147 " " + TYPE_BOUND_LIST@147..183 + TYPE_BOUND@147..175 + PATH_TYPE@147..175 + PATH@147..175 + PATH_SEGMENT@147..175 + NAME_REF@147..150 + IDENT@147..150 "Add" + GENERIC_ARG_LIST@150..175 + L_ANGLE@150..151 "<" + TYPE_ARG@151..156 + PATH_TYPE@151..156 + PATH@151..156 + PATH_SEGMENT@151..156 + NAME_REF@151..156 + IDENT@151..156 "Other" + COMMA@156..157 "," + WHITESPACE@157..158 " " + ASSOC_TYPE_ARG@158..174 + NAME_REF@158..164 + IDENT@158..164 "Output" + WHITESPACE@164..165 " " + EQ@165..166 "=" + WHITESPACE@166..167 " " + PATH_TYPE@167..174 + PATH@167..174 + PATH_SEGMENT@167..174 + NAME_REF@167..174 + IDENT@167..174 "Addable" + R_ANGLE@174..175 ">" + WHITESPACE@175..176 " " + PLUS@176..177 "+" + WHITESPACE@177..178 " " + TYPE_BOUND@178..183 + PATH_TYPE@178..183 + PATH@178..183 + PATH_SEGMENT@178..183 + NAME_REF@178..183 + IDENT@178..183 "Other" + SEMICOLON@183..184 ";" + WHITESPACE@184..185 "\n" + R_CURLY@185..186 "}" + WHITESPACE@186..187 "\n" +error 19..34: ambiguous `+` in a type +error 54..69: ambiguous `+` in a type +error 90..108: ambiguous `+` in a type +error 143..183: ambiguous `+` in a type diff --git a/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rs b/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rs new file mode 100644 index 00000000000..3a73d81bb5d --- /dev/null +++ b/crates/syntax/test_data/parser/err/0045_ambiguous_trait_object.rs @@ -0,0 +1,6 @@ +type Foo<'a> = &'a dyn Send + Sync; +type Foo = *const dyn Send + Sync; +type Foo = fn() -> dyn Send + 'static; +fn main() { + let b = (&a) as &dyn Add + Other; +} diff --git a/crates/syntax/test_data/parser/err/0045_item_modifiers.rast b/crates/syntax/test_data/parser/err/0045_item_modifiers.rast deleted file mode 100644 index b4ff1a14a7c..00000000000 --- a/crates/syntax/test_data/parser/err/0045_item_modifiers.rast +++ /dev/null @@ -1,48 +0,0 @@ -SOURCE_FILE@0..50 - ERROR@0..6 - UNSAFE_KW@0..6 "unsafe" - WHITESPACE@6..7 " " - FN@7..24 - ASYNC_KW@7..12 "async" - WHITESPACE@12..13 " " - FN_KW@13..15 "fn" - WHITESPACE@15..16 " " - NAME@16..19 - IDENT@16..19 "foo" - PARAM_LIST@19..21 - L_PAREN@19..20 "(" - R_PAREN@20..21 ")" - WHITESPACE@21..22 " " - BLOCK_EXPR@22..24 - STMT_LIST@22..24 - L_CURLY@22..23 "{" - R_CURLY@23..24 "}" - WHITESPACE@24..25 "\n" - CONST@25..40 - UNSAFE_KW@25..31 "unsafe" - WHITESPACE@31..32 " " - CONST_KW@32..37 "const" - WHITESPACE@37..38 " " - ERROR@38..40 - FN_KW@38..40 "fn" - WHITESPACE@40..41 " " - MACRO_CALL@41..46 - PATH@41..44 - PATH_SEGMENT@41..44 - NAME_REF@41..44 - IDENT@41..44 "bar" - TOKEN_TREE@44..46 - L_PAREN@44..45 "(" - R_PAREN@45..46 ")" - WHITESPACE@46..47 " " - ERROR@47..49 - L_CURLY@47..48 "{" - R_CURLY@48..49 "}" - WHITESPACE@49..50 "\n" -error 6..6: expected existential, fn, trait or impl -error 38..38: expected a name -error 40..40: missing type for `const` or `static` -error 40..40: expected SEMICOLON -error 44..44: expected BANG -error 46..46: expected SEMICOLON -error 47..47: expected an item diff --git a/crates/syntax/test_data/parser/err/0045_item_modifiers.rs b/crates/syntax/test_data/parser/err/0045_item_modifiers.rs deleted file mode 100644 index 731e58013bd..00000000000 --- a/crates/syntax/test_data/parser/err/0045_item_modifiers.rs +++ /dev/null @@ -1,2 +0,0 @@ -unsafe async fn foo() {} -unsafe const fn bar() {} diff --git a/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rast b/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rast deleted file mode 100644 index d94daacdc1d..00000000000 --- a/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rast +++ /dev/null @@ -1,196 +0,0 @@ -SOURCE_FILE@0..187 - TYPE_ALIAS@0..35 - TYPE_KW@0..4 "type" - WHITESPACE@4..5 " " - NAME@5..8 - IDENT@5..8 "Foo" - GENERIC_PARAM_LIST@8..12 - L_ANGLE@8..9 "<" - LIFETIME_PARAM@9..11 - LIFETIME@9..11 - LIFETIME_IDENT@9..11 "'a" - R_ANGLE@11..12 ">" - WHITESPACE@12..13 " " - EQ@13..14 "=" - WHITESPACE@14..15 " " - REF_TYPE@15..34 - AMP@15..16 "&" - LIFETIME@16..18 - LIFETIME_IDENT@16..18 "'a" - WHITESPACE@18..19 " " - DYN_TRAIT_TYPE@19..34 - DYN_KW@19..22 "dyn" - WHITESPACE@22..23 " " - TYPE_BOUND_LIST@23..34 - TYPE_BOUND@23..27 - PATH_TYPE@23..27 - PATH@23..27 - PATH_SEGMENT@23..27 - NAME_REF@23..27 - IDENT@23..27 "Send" - WHITESPACE@27..28 " " - PLUS@28..29 "+" - WHITESPACE@29..30 " " - TYPE_BOUND@30..34 - PATH_TYPE@30..34 - PATH@30..34 - PATH_SEGMENT@30..34 - NAME_REF@30..34 - IDENT@30..34 "Sync" - SEMICOLON@34..35 ";" - WHITESPACE@35..36 "\n" - TYPE_ALIAS@36..70 - TYPE_KW@36..40 "type" - WHITESPACE@40..41 " " - NAME@41..44 - IDENT@41..44 "Foo" - WHITESPACE@44..45 " " - EQ@45..46 "=" - WHITESPACE@46..47 " " - PTR_TYPE@47..69 - STAR@47..48 "*" - CONST_KW@48..53 "const" - WHITESPACE@53..54 " " - DYN_TRAIT_TYPE@54..69 - DYN_KW@54..57 "dyn" - WHITESPACE@57..58 " " - TYPE_BOUND_LIST@58..69 - TYPE_BOUND@58..62 - PATH_TYPE@58..62 - PATH@58..62 - PATH_SEGMENT@58..62 - NAME_REF@58..62 - IDENT@58..62 "Send" - WHITESPACE@62..63 " " - PLUS@63..64 "+" - WHITESPACE@64..65 " " - TYPE_BOUND@65..69 - PATH_TYPE@65..69 - PATH@65..69 - PATH_SEGMENT@65..69 - NAME_REF@65..69 - IDENT@65..69 "Sync" - SEMICOLON@69..70 ";" - WHITESPACE@70..71 "\n" - TYPE_ALIAS@71..109 - TYPE_KW@71..75 "type" - WHITESPACE@75..76 " " - NAME@76..79 - IDENT@76..79 "Foo" - WHITESPACE@79..80 " " - EQ@80..81 "=" - WHITESPACE@81..82 " " - FN_PTR_TYPE@82..108 - FN_KW@82..84 "fn" - PARAM_LIST@84..86 - L_PAREN@84..85 "(" - R_PAREN@85..86 ")" - WHITESPACE@86..87 " " - RET_TYPE@87..108 - THIN_ARROW@87..89 "->" - WHITESPACE@89..90 " " - DYN_TRAIT_TYPE@90..108 - DYN_KW@90..93 "dyn" - WHITESPACE@93..94 " " - TYPE_BOUND_LIST@94..108 - TYPE_BOUND@94..98 - PATH_TYPE@94..98 - PATH@94..98 - PATH_SEGMENT@94..98 - NAME_REF@94..98 - IDENT@94..98 "Send" - WHITESPACE@98..99 " " - PLUS@99..100 "+" - WHITESPACE@100..101 " " - TYPE_BOUND@101..108 - LIFETIME@101..108 - LIFETIME_IDENT@101..108 "'static" - SEMICOLON@108..109 ";" - WHITESPACE@109..110 "\n" - FN@110..186 - FN_KW@110..112 "fn" - WHITESPACE@112..113 " " - NAME@113..117 - IDENT@113..117 "main" - PARAM_LIST@117..119 - L_PAREN@117..118 "(" - R_PAREN@118..119 ")" - WHITESPACE@119..120 " " - BLOCK_EXPR@120..186 - STMT_LIST@120..186 - L_CURLY@120..121 "{" - WHITESPACE@121..126 "\n " - LET_STMT@126..184 - LET_KW@126..129 "let" - WHITESPACE@129..130 " " - IDENT_PAT@130..131 - NAME@130..131 - IDENT@130..131 "b" - WHITESPACE@131..132 " " - EQ@132..133 "=" - WHITESPACE@133..134 " " - CAST_EXPR@134..183 - PAREN_EXPR@134..138 - L_PAREN@134..135 "(" - REF_EXPR@135..137 - AMP@135..136 "&" - PATH_EXPR@136..137 - PATH@136..137 - PATH_SEGMENT@136..137 - NAME_REF@136..137 - IDENT@136..137 "a" - R_PAREN@137..138 ")" - WHITESPACE@138..139 " " - AS_KW@139..141 "as" - WHITESPACE@141..142 " " - REF_TYPE@142..183 - AMP@142..143 "&" - DYN_TRAIT_TYPE@143..183 - DYN_KW@143..146 "dyn" - WHITESPACE@146..147 " " - TYPE_BOUND_LIST@147..183 - TYPE_BOUND@147..175 - PATH_TYPE@147..175 - PATH@147..175 - PATH_SEGMENT@147..175 - NAME_REF@147..150 - IDENT@147..150 "Add" - GENERIC_ARG_LIST@150..175 - L_ANGLE@150..151 "<" - TYPE_ARG@151..156 - PATH_TYPE@151..156 - PATH@151..156 - PATH_SEGMENT@151..156 - NAME_REF@151..156 - IDENT@151..156 "Other" - COMMA@156..157 "," - WHITESPACE@157..158 " " - ASSOC_TYPE_ARG@158..174 - NAME_REF@158..164 - IDENT@158..164 "Output" - WHITESPACE@164..165 " " - EQ@165..166 "=" - WHITESPACE@166..167 " " - PATH_TYPE@167..174 - PATH@167..174 - PATH_SEGMENT@167..174 - NAME_REF@167..174 - IDENT@167..174 "Addable" - R_ANGLE@174..175 ">" - WHITESPACE@175..176 " " - PLUS@176..177 "+" - WHITESPACE@177..178 " " - TYPE_BOUND@178..183 - PATH_TYPE@178..183 - PATH@178..183 - PATH_SEGMENT@178..183 - NAME_REF@178..183 - IDENT@178..183 "Other" - SEMICOLON@183..184 ";" - WHITESPACE@184..185 "\n" - R_CURLY@185..186 "}" - WHITESPACE@186..187 "\n" -error 19..34: ambiguous `+` in a type -error 54..69: ambiguous `+` in a type -error 90..108: ambiguous `+` in a type -error 143..183: ambiguous `+` in a type diff --git a/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rs b/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rs deleted file mode 100644 index 3a73d81bb5d..00000000000 --- a/crates/syntax/test_data/parser/err/0046_ambiguous_trait_object.rs +++ /dev/null @@ -1,6 +0,0 @@ -type Foo<'a> = &'a dyn Send + Sync; -type Foo = *const dyn Send + Sync; -type Foo = fn() -> dyn Send + 'static; -fn main() { - let b = (&a) as &dyn Add + Other; -} diff --git a/crates/syntax/test_data/parser/err/0046_mutable_const_item.rast b/crates/syntax/test_data/parser/err/0046_mutable_const_item.rast new file mode 100644 index 00000000000..c7eb312c92c --- /dev/null +++ b/crates/syntax/test_data/parser/err/0046_mutable_const_item.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@0..24 + CONST@0..23 + CONST_KW@0..5 "const" + WHITESPACE@5..6 " " + MUT_KW@6..9 "mut" + WHITESPACE@9..10 " " + NAME@10..13 + IDENT@10..13 "FOO" + COLON@13..14 ":" + WHITESPACE@14..15 " " + TUPLE_TYPE@15..17 + L_PAREN@15..16 "(" + R_PAREN@16..17 ")" + WHITESPACE@17..18 " " + EQ@18..19 "=" + WHITESPACE@19..20 " " + TUPLE_EXPR@20..22 + L_PAREN@20..21 "(" + R_PAREN@21..22 ")" + SEMICOLON@22..23 ";" + WHITESPACE@23..24 "\n" +error 6..9: const globals cannot be mutable diff --git a/crates/syntax/test_data/parser/err/0046_mutable_const_item.rs b/crates/syntax/test_data/parser/err/0046_mutable_const_item.rs new file mode 100644 index 00000000000..b34336f3f15 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0046_mutable_const_item.rs @@ -0,0 +1 @@ +const mut FOO: () = (); diff --git a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast deleted file mode 100644 index c7eb312c92c..00000000000 --- a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rast +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@0..24 - CONST@0..23 - CONST_KW@0..5 "const" - WHITESPACE@5..6 " " - MUT_KW@6..9 "mut" - WHITESPACE@9..10 " " - NAME@10..13 - IDENT@10..13 "FOO" - COLON@13..14 ":" - WHITESPACE@14..15 " " - TUPLE_TYPE@15..17 - L_PAREN@15..16 "(" - R_PAREN@16..17 ")" - WHITESPACE@17..18 " " - EQ@18..19 "=" - WHITESPACE@19..20 " " - TUPLE_EXPR@20..22 - L_PAREN@20..21 "(" - R_PAREN@21..22 ")" - SEMICOLON@22..23 ";" - WHITESPACE@23..24 "\n" -error 6..9: const globals cannot be mutable diff --git a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs b/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs deleted file mode 100644 index b34336f3f15..00000000000 --- a/crates/syntax/test_data/parser/err/0047_mutable_const_item.rs +++ /dev/null @@ -1 +0,0 @@ -const mut FOO: () = (); diff --git a/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rast b/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rast new file mode 100644 index 00000000000..85e10ca36db --- /dev/null +++ b/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rast @@ -0,0 +1,15 @@ +SOURCE_FILE@0..22 + ERROR@0..10 + ABI@0..10 + EXTERN_KW@0..6 "extern" + WHITESPACE@6..7 " " + STRING@7..10 "\"C\"" + WHITESPACE@10..11 " " + ERROR@11..21 + ABI@11..21 + EXTERN_KW@11..17 "extern" + WHITESPACE@17..18 " " + STRING@18..21 "\"C\"" + WHITESPACE@21..22 "\n" +error 10..10: expected existential, fn, trait or impl +error 21..21: expected existential, fn, trait or impl diff --git a/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rs b/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rs new file mode 100644 index 00000000000..1fb18eaf1bc --- /dev/null +++ b/crates/syntax/test_data/parser/err/0047_repated_extern_modifier.rs @@ -0,0 +1 @@ +extern "C" extern "C" diff --git a/crates/syntax/test_data/parser/err/0048_double_fish.rast b/crates/syntax/test_data/parser/err/0048_double_fish.rast new file mode 100644 index 00000000000..ca52166fbc4 --- /dev/null +++ b/crates/syntax/test_data/parser/err/0048_double_fish.rast @@ -0,0 +1,123 @@ +SOURCE_FILE@0..90 + FN@0..40 + FN_KW@0..2 "fn" + WHITESPACE@2..3 " " + NAME@3..4 + IDENT@3..4 "f" + PARAM_LIST@4..6 + L_PAREN@4..5 "(" + R_PAREN@5..6 ")" + WHITESPACE@6..7 " " + BLOCK_EXPR@7..40 + STMT_LIST@7..40 + L_CURLY@7..8 "{" + WHITESPACE@8..13 "\n " + EXPR_STMT@13..31 + PATH_EXPR@13..31 + PATH@13..31 + PATH_SEGMENT@13..31 + NAME_REF@13..14 + IDENT@13..14 "S" + GENERIC_ARG_LIST@14..31 + COLON2@14..16 "::" + L_ANGLE@16..17 "<" + TYPE_ARG@17..31 + PATH_TYPE@17..31 + PATH@17..31 + PATH@17..28 + PATH_SEGMENT@17..28 + NAME_REF@17..21 + IDENT@17..21 "Item" + GENERIC_ARG_LIST@21..28 + COLON2@21..23 "::" + L_ANGLE@23..24 "<" + TYPE_ARG@24..27 + PATH_TYPE@24..27 + PATH@24..27 + PATH_SEGMENT@24..27 + NAME_REF@24..27 + IDENT@24..27 "lol" + R_ANGLE@27..28 ">" + COLON2@28..30 "::" + ERROR@30..31 + L_ANGLE@30..31 "<" + BIN_EXPR@31..38 + PATH_EXPR@31..35 + PATH@31..35 + PATH_SEGMENT@31..35 + NAME_REF@31..35 + IDENT@31..35 "nope" + SHR@35..37 ">>" + ERROR@37..38 + SEMICOLON@37..38 ";" + WHITESPACE@38..39 "\n" + R_CURLY@39..40 "}" + WHITESPACE@40..42 "\n\n" + FN@42..89 + FN_KW@42..44 "fn" + WHITESPACE@44..45 " " + NAME@45..46 + IDENT@45..46 "g" + PARAM_LIST@46..48 + L_PAREN@46..47 "(" + R_PAREN@47..48 ")" + WHITESPACE@48..49 " " + BLOCK_EXPR@49..89 + STMT_LIST@49..89 + L_CURLY@49..50 "{" + WHITESPACE@50..55 "\n " + LET_STMT@55..76 + LET_KW@55..58 "let" + WHITESPACE@58..59 " " + WILDCARD_PAT@59..60 + UNDERSCORE@59..60 "_" + COLON@60..61 ":" + WHITESPACE@61..62 " " + PATH_TYPE@62..76 + PATH@62..76 + PATH@62..73 + PATH_SEGMENT@62..73 + NAME_REF@62..66 + IDENT@62..66 "Item" + GENERIC_ARG_LIST@66..73 + COLON2@66..68 "::" + L_ANGLE@68..69 "<" + TYPE_ARG@69..72 + PATH_TYPE@69..72 + PATH@69..72 + PATH_SEGMENT@69..72 + NAME_REF@69..72 + IDENT@69..72 "lol" + R_ANGLE@72..73 ">" + COLON2@73..75 "::" + ERROR@75..76 + L_ANGLE@75..76 "<" + EXPR_STMT@76..83 + BIN_EXPR@76..83 + PATH_EXPR@76..80 + PATH@76..80 + PATH_SEGMENT@76..80 + NAME_REF@76..80 + IDENT@76..80 "nope" + R_ANGLE@80..81 ">" + WHITESPACE@81..82 " " + ERROR@82..83 + EQ@82..83 "=" + WHITESPACE@83..84 " " + EXPR_STMT@84..87 + TUPLE_EXPR@84..86 + L_PAREN@84..85 "(" + R_PAREN@85..86 ")" + SEMICOLON@86..87 ";" + WHITESPACE@87..88 "\n" + R_CURLY@88..89 "}" + WHITESPACE@89..90 "\n" +error 30..30: expected identifier +error 31..31: expected COMMA +error 31..31: expected R_ANGLE +error 31..31: expected SEMICOLON +error 37..37: expected expression +error 75..75: expected identifier +error 76..76: expected SEMICOLON +error 82..82: expected expression +error 83..83: expected SEMICOLON diff --git a/crates/syntax/test_data/parser/err/0048_double_fish.rs b/crates/syntax/test_data/parser/err/0048_double_fish.rs new file mode 100644 index 00000000000..31c12bfff9f --- /dev/null +++ b/crates/syntax/test_data/parser/err/0048_double_fish.rs @@ -0,0 +1,7 @@ +fn f() { + S::::>; +} + +fn g() { + let _: Item:::: = (); +} diff --git a/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rast b/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rast deleted file mode 100644 index 85e10ca36db..00000000000 --- a/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rast +++ /dev/null @@ -1,15 +0,0 @@ -SOURCE_FILE@0..22 - ERROR@0..10 - ABI@0..10 - EXTERN_KW@0..6 "extern" - WHITESPACE@6..7 " " - STRING@7..10 "\"C\"" - WHITESPACE@10..11 " " - ERROR@11..21 - ABI@11..21 - EXTERN_KW@11..17 "extern" - WHITESPACE@17..18 " " - STRING@18..21 "\"C\"" - WHITESPACE@21..22 "\n" -error 10..10: expected existential, fn, trait or impl -error 21..21: expected existential, fn, trait or impl diff --git a/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rs b/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rs deleted file mode 100644 index 1fb18eaf1bc..00000000000 --- a/crates/syntax/test_data/parser/err/0048_repated_extern_modifier.rs +++ /dev/null @@ -1 +0,0 @@ -extern "C" extern "C" diff --git a/crates/syntax/test_data/parser/err/0049_double_fish.rast b/crates/syntax/test_data/parser/err/0049_double_fish.rast deleted file mode 100644 index ca52166fbc4..00000000000 --- a/crates/syntax/test_data/parser/err/0049_double_fish.rast +++ /dev/null @@ -1,123 +0,0 @@ -SOURCE_FILE@0..90 - FN@0..40 - FN_KW@0..2 "fn" - WHITESPACE@2..3 " " - NAME@3..4 - IDENT@3..4 "f" - PARAM_LIST@4..6 - L_PAREN@4..5 "(" - R_PAREN@5..6 ")" - WHITESPACE@6..7 " " - BLOCK_EXPR@7..40 - STMT_LIST@7..40 - L_CURLY@7..8 "{" - WHITESPACE@8..13 "\n " - EXPR_STMT@13..31 - PATH_EXPR@13..31 - PATH@13..31 - PATH_SEGMENT@13..31 - NAME_REF@13..14 - IDENT@13..14 "S" - GENERIC_ARG_LIST@14..31 - COLON2@14..16 "::" - L_ANGLE@16..17 "<" - TYPE_ARG@17..31 - PATH_TYPE@17..31 - PATH@17..31 - PATH@17..28 - PATH_SEGMENT@17..28 - NAME_REF@17..21 - IDENT@17..21 "Item" - GENERIC_ARG_LIST@21..28 - COLON2@21..23 "::" - L_ANGLE@23..24 "<" - TYPE_ARG@24..27 - PATH_TYPE@24..27 - PATH@24..27 - PATH_SEGMENT@24..27 - NAME_REF@24..27 - IDENT@24..27 "lol" - R_ANGLE@27..28 ">" - COLON2@28..30 "::" - ERROR@30..31 - L_ANGLE@30..31 "<" - BIN_EXPR@31..38 - PATH_EXPR@31..35 - PATH@31..35 - PATH_SEGMENT@31..35 - NAME_REF@31..35 - IDENT@31..35 "nope" - SHR@35..37 ">>" - ERROR@37..38 - SEMICOLON@37..38 ";" - WHITESPACE@38..39 "\n" - R_CURLY@39..40 "}" - WHITESPACE@40..42 "\n\n" - FN@42..89 - FN_KW@42..44 "fn" - WHITESPACE@44..45 " " - NAME@45..46 - IDENT@45..46 "g" - PARAM_LIST@46..48 - L_PAREN@46..47 "(" - R_PAREN@47..48 ")" - WHITESPACE@48..49 " " - BLOCK_EXPR@49..89 - STMT_LIST@49..89 - L_CURLY@49..50 "{" - WHITESPACE@50..55 "\n " - LET_STMT@55..76 - LET_KW@55..58 "let" - WHITESPACE@58..59 " " - WILDCARD_PAT@59..60 - UNDERSCORE@59..60 "_" - COLON@60..61 ":" - WHITESPACE@61..62 " " - PATH_TYPE@62..76 - PATH@62..76 - PATH@62..73 - PATH_SEGMENT@62..73 - NAME_REF@62..66 - IDENT@62..66 "Item" - GENERIC_ARG_LIST@66..73 - COLON2@66..68 "::" - L_ANGLE@68..69 "<" - TYPE_ARG@69..72 - PATH_TYPE@69..72 - PATH@69..72 - PATH_SEGMENT@69..72 - NAME_REF@69..72 - IDENT@69..72 "lol" - R_ANGLE@72..73 ">" - COLON2@73..75 "::" - ERROR@75..76 - L_ANGLE@75..76 "<" - EXPR_STMT@76..83 - BIN_EXPR@76..83 - PATH_EXPR@76..80 - PATH@76..80 - PATH_SEGMENT@76..80 - NAME_REF@76..80 - IDENT@76..80 "nope" - R_ANGLE@80..81 ">" - WHITESPACE@81..82 " " - ERROR@82..83 - EQ@82..83 "=" - WHITESPACE@83..84 " " - EXPR_STMT@84..87 - TUPLE_EXPR@84..86 - L_PAREN@84..85 "(" - R_PAREN@85..86 ")" - SEMICOLON@86..87 ";" - WHITESPACE@87..88 "\n" - R_CURLY@88..89 "}" - WHITESPACE@89..90 "\n" -error 30..30: expected identifier -error 31..31: expected COMMA -error 31..31: expected R_ANGLE -error 31..31: expected SEMICOLON -error 37..37: expected expression -error 75..75: expected identifier -error 76..76: expected SEMICOLON -error 82..82: expected expression -error 83..83: expected SEMICOLON diff --git a/crates/syntax/test_data/parser/err/0049_double_fish.rs b/crates/syntax/test_data/parser/err/0049_double_fish.rs deleted file mode 100644 index 31c12bfff9f..00000000000 --- a/crates/syntax/test_data/parser/err/0049_double_fish.rs +++ /dev/null @@ -1,7 +0,0 @@ -fn f() { - S::::>; -} - -fn g() { - let _: Item:::: = (); -} -- cgit 1.4.1-3-g733a5