From da091b130347c4d6d8c75acb8e65c30a17dc1f5e Mon Sep 17 00:00:00 2001 From: veetaha Date: Mon, 6 Apr 2020 14:04:26 +0300 Subject: Migrate tests .txt -> .rast The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files. --- .../err/0000_struct_field_missing_comma.rast | 34 ++ .../parser/err/0000_struct_field_missing_comma.txt | 34 -- .../parser/err/0001_item_recovery_in_file.rast | 18 + .../parser/err/0001_item_recovery_in_file.txt | 18 - .../parser/err/0002_duplicate_shebang.rast | 39 +++ .../parser/err/0002_duplicate_shebang.txt | 39 --- .../test_data/parser/err/0003_C++_semicolon.rast | 39 +++ .../test_data/parser/err/0003_C++_semicolon.txt | 39 --- .../parser/err/0004_use_path_bad_segment.rast | 16 + .../parser/err/0004_use_path_bad_segment.txt | 16 - .../parser/err/0005_attribute_recover.rast | 60 ++++ .../parser/err/0005_attribute_recover.txt | 60 ---- .../parser/err/0006_named_field_recovery.rast | 74 ++++ .../parser/err/0006_named_field_recovery.txt | 74 ---- .../parser/err/0007_stray_curly_in_file.rast | 33 ++ .../parser/err/0007_stray_curly_in_file.txt | 33 -- .../parser/err/0008_item_block_recovery.rast | 81 +++++ .../parser/err/0008_item_block_recovery.txt | 81 ----- .../err/0009_broken_struct_type_parameter.rast | 58 +++ .../err/0009_broken_struct_type_parameter.txt | 58 --- .../parser/err/0010_unsafe_lambda_block.rast | 45 +++ .../parser/err/0010_unsafe_lambda_block.txt | 45 --- .../test_data/parser/err/0011_extern_struct.rast | 13 + .../test_data/parser/err/0011_extern_struct.txt | 13 - .../test_data/parser/err/0012_broken_lambda.rast | 387 +++++++++++++++++++++ .../test_data/parser/err/0012_broken_lambda.txt | 387 --------------------- .../test_data/parser/err/0013_invalid_type.rast | 89 +++++ .../test_data/parser/err/0013_invalid_type.txt | 89 ----- .../test_data/parser/err/0014_where_no_bounds.rast | 32 ++ .../test_data/parser/err/0014_where_no_bounds.txt | 32 -- .../test_data/parser/err/0015_curly_in_params.rast | 24 ++ .../test_data/parser/err/0015_curly_in_params.txt | 24 -- .../test_data/parser/err/0016_missing_semi.rast | 44 +++ .../test_data/parser/err/0016_missing_semi.txt | 44 --- .../parser/err/0017_incomplete_binexpr.rast | 47 +++ .../parser/err/0017_incomplete_binexpr.txt | 47 --- .../test_data/parser/err/0018_incomplete_fn.rast | 132 +++++++ .../test_data/parser/err/0018_incomplete_fn.txt | 132 ------- .../test_data/parser/err/0019_let_recover.rast | 107 ++++++ .../test_data/parser/err/0019_let_recover.txt | 107 ------ .../test_data/parser/err/0020_fn_recover.rast | 21 ++ .../test_data/parser/err/0020_fn_recover.txt | 21 -- .../parser/err/0021_incomplete_param.rast | 35 ++ .../test_data/parser/err/0021_incomplete_param.txt | 35 -- .../test_data/parser/err/0022_bad_exprs.rast | 183 ++++++++++ .../test_data/parser/err/0022_bad_exprs.txt | 183 ---------- .../parser/err/0023_mismatched_paren.rast | 44 +++ .../test_data/parser/err/0023_mismatched_paren.txt | 44 --- .../parser/err/0024_many_type_parens.rast | 321 +++++++++++++++++ .../test_data/parser/err/0024_many_type_parens.txt | 321 ----------------- .../ra_syntax/test_data/parser/err/0025_nope.rast | 204 +++++++++++ .../ra_syntax/test_data/parser/err/0025_nope.txt | 204 ----------- .../test_data/parser/err/0026_imp_recovery.rast | 49 +++ .../test_data/parser/err/0026_imp_recovery.txt | 49 --- .../parser/err/0027_incomplere_where_for.rast | 29 ++ .../parser/err/0027_incomplere_where_for.txt | 29 -- .../parser/err/0029_field_completion.rast | 36 ++ .../test_data/parser/err/0029_field_completion.txt | 36 -- .../parser/err/0031_block_inner_attrs.rast | 125 +++++++ .../parser/err/0031_block_inner_attrs.txt | 125 ------- .../parser/err/0032_match_arms_inner_attrs.rast | 204 +++++++++++ .../parser/err/0032_match_arms_inner_attrs.txt | 204 ----------- .../parser/err/0033_match_arms_outer_attrs.rast | 67 ++++ .../parser/err/0033_match_arms_outer_attrs.txt | 67 ---- .../test_data/parser/err/0034_bad_box_pattern.rast | 96 +++++ .../test_data/parser/err/0034_bad_box_pattern.txt | 96 ----- .../test_data/parser/err/0035_use_recover.rast | 54 +++ .../test_data/parser/err/0035_use_recover.txt | 54 --- .../test_data/parser/err/0036_partial_use.rast | 51 +++ .../test_data/parser/err/0036_partial_use.txt | 51 --- .../parser/err/0037_visibility_in_traits.rast | 99 ++++++ .../parser/err/0037_visibility_in_traits.txt | 99 ------ .../parser/err/0038_endless_inclusive_range.rast | 30 ++ .../parser/err/0038_endless_inclusive_range.txt | 30 -- .../test_data/parser/err/0039_lambda_recovery.rast | 83 +++++ .../test_data/parser/err/0039_lambda_recovery.txt | 83 ----- 76 files changed, 3103 insertions(+), 3103 deletions(-) create mode 100644 crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0011_extern_struct.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0012_broken_lambda.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0013_invalid_type.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0015_curly_in_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0015_curly_in_params.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0019_let_recover.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0019_let_recover.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0025_nope.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0025_nope.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0026_imp_recovery.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0029_field_completion.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0029_field_completion.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0035_use_recover.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0035_use_recover.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0036_partial_use.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0036_partial_use.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.txt create mode 100644 crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast delete mode 100644 crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.txt (limited to 'crates/ra_syntax/test_data/parser/err') diff --git a/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.rast b/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.rast new file mode 100644 index 000000000..edcd936b0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.rast @@ -0,0 +1,34 @@ +SOURCE_FILE@[0; 34) + STRUCT_DEF@[0; 34) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 34) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) ":" + WHITESPACE@[17; 18) " " + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + WHITESPACE@[21; 26) "\n " + RECORD_FIELD_DEF@[26; 32) + NAME@[26; 27) + IDENT@[26; 27) "b" + COLON@[27; 28) ":" + WHITESPACE@[28; 29) " " + PATH_TYPE@[29; 32) + PATH@[29; 32) + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "u32" + WHITESPACE@[32; 33) "\n" + R_CURLY@[33; 34) "}" +error [21; 21): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.txt b/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.txt deleted file mode 100644 index edcd936b0..000000000 --- a/crates/ra_syntax/test_data/parser/err/0000_struct_field_missing_comma.txt +++ /dev/null @@ -1,34 +0,0 @@ -SOURCE_FILE@[0; 34) - STRUCT_DEF@[0; 34) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 34) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) ":" - WHITESPACE@[17; 18) " " - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - WHITESPACE@[21; 26) "\n " - RECORD_FIELD_DEF@[26; 32) - NAME@[26; 27) - IDENT@[26; 27) "b" - COLON@[27; 28) ":" - WHITESPACE@[28; 29) " " - PATH_TYPE@[29; 32) - PATH@[29; 32) - PATH_SEGMENT@[29; 32) - NAME_REF@[29; 32) - IDENT@[29; 32) "u32" - WHITESPACE@[32; 33) "\n" - R_CURLY@[33; 34) "}" -error [21; 21): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.rast b/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.rast new file mode 100644 index 000000000..2d653715e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.rast @@ -0,0 +1,18 @@ +SOURCE_FILE@[0; 21) + ERROR@[0; 2) + IF_KW@[0; 2) "if" + WHITESPACE@[2; 3) " " + ERROR@[3; 8) + MATCH_KW@[3; 8) "match" + WHITESPACE@[8; 10) "\n\n" + STRUCT_DEF@[10; 21) + STRUCT_KW@[10; 16) "struct" + WHITESPACE@[16; 17) " " + NAME@[17; 18) + IDENT@[17; 18) "S" + WHITESPACE@[18; 19) " " + RECORD_FIELD_DEF_LIST@[19; 21) + L_CURLY@[19; 20) "{" + R_CURLY@[20; 21) "}" +error [0; 0): expected an item +error [3; 3): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.txt b/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.txt deleted file mode 100644 index 2d653715e..000000000 --- a/crates/ra_syntax/test_data/parser/err/0001_item_recovery_in_file.txt +++ /dev/null @@ -1,18 +0,0 @@ -SOURCE_FILE@[0; 21) - ERROR@[0; 2) - IF_KW@[0; 2) "if" - WHITESPACE@[2; 3) " " - ERROR@[3; 8) - MATCH_KW@[3; 8) "match" - WHITESPACE@[8; 10) "\n\n" - STRUCT_DEF@[10; 21) - STRUCT_KW@[10; 16) "struct" - WHITESPACE@[16; 17) " " - NAME@[17; 18) - IDENT@[17; 18) "S" - WHITESPACE@[18; 19) " " - RECORD_FIELD_DEF_LIST@[19; 21) - L_CURLY@[19; 20) "{" - R_CURLY@[20; 21) "}" -error [0; 0): expected an item -error [3; 3): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast b/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast new file mode 100644 index 000000000..002680583 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast @@ -0,0 +1,39 @@ +SOURCE_FILE@[0; 42) + SHEBANG@[0; 20) "#!/use/bin/env rusti" + WHITESPACE@[20; 21) "\n" + ATTR@[21; 23) + POUND@[21; 22) "#" + EXCL@[22; 23) "!" + ERROR@[23; 24) + SLASH@[23; 24) "/" + USE_ITEM@[24; 28) + USE_KW@[24; 27) "use" + ERROR@[27; 28) + SLASH@[27; 28) "/" + MACRO_CALL@[28; 31) + PATH@[28; 31) + PATH_SEGMENT@[28; 31) + NAME_REF@[28; 31) + IDENT@[28; 31) "bin" + ERROR@[31; 32) + SLASH@[31; 32) "/" + MACRO_CALL@[32; 41) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "env" + WHITESPACE@[35; 36) " " + NAME@[36; 41) + IDENT@[36; 41) "rusti" + WHITESPACE@[41; 42) "\n" +error [23; 23): expected `[` +error [23; 23): expected an item +error [27; 27): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [28; 28): expected SEMI +error [31; 31): expected EXCL +error [31; 31): expected `{`, `[`, `(` +error [31; 31): expected SEMI +error [31; 31): expected an item +error [35; 35): expected EXCL +error [41; 41): expected `{`, `[`, `(` +error [41; 41): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.txt b/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.txt deleted file mode 100644 index 002680583..000000000 --- a/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.txt +++ /dev/null @@ -1,39 +0,0 @@ -SOURCE_FILE@[0; 42) - SHEBANG@[0; 20) "#!/use/bin/env rusti" - WHITESPACE@[20; 21) "\n" - ATTR@[21; 23) - POUND@[21; 22) "#" - EXCL@[22; 23) "!" - ERROR@[23; 24) - SLASH@[23; 24) "/" - USE_ITEM@[24; 28) - USE_KW@[24; 27) "use" - ERROR@[27; 28) - SLASH@[27; 28) "/" - MACRO_CALL@[28; 31) - PATH@[28; 31) - PATH_SEGMENT@[28; 31) - NAME_REF@[28; 31) - IDENT@[28; 31) "bin" - ERROR@[31; 32) - SLASH@[31; 32) "/" - MACRO_CALL@[32; 41) - PATH@[32; 35) - PATH_SEGMENT@[32; 35) - NAME_REF@[32; 35) - IDENT@[32; 35) "env" - WHITESPACE@[35; 36) " " - NAME@[36; 41) - IDENT@[36; 41) "rusti" - WHITESPACE@[41; 42) "\n" -error [23; 23): expected `[` -error [23; 23): expected an item -error [27; 27): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [28; 28): expected SEMI -error [31; 31): expected EXCL -error [31; 31): expected `{`, `[`, `(` -error [31; 31): expected SEMI -error [31; 31): expected an item -error [35; 35): expected EXCL -error [41; 41): expected `{`, `[`, `(` -error [41; 41): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast b/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast new file mode 100644 index 000000000..8039a8913 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast @@ -0,0 +1,39 @@ +SOURCE_FILE@[0; 40) + STRUCT_DEF@[0; 39) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 39) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "a" + COLON@[16; 17) ":" + WHITESPACE@[17; 18) " " + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "i32" + COMMA@[21; 22) "," + WHITESPACE@[22; 27) "\n " + RECORD_FIELD_DEF@[27; 36) + NAME@[27; 28) + IDENT@[27; 28) "b" + COLON@[28; 29) ":" + WHITESPACE@[29; 30) " " + PATH_TYPE@[30; 36) + PATH@[30; 36) + PATH_SEGMENT@[30; 36) + NAME_REF@[30; 36) + IDENT@[30; 36) "String" + COMMA@[36; 37) "," + WHITESPACE@[37; 38) "\n" + R_CURLY@[38; 39) "}" + ERROR@[39; 40) + SEMI@[39; 40) ";" +error [39; 39): expected item, found `;` +consider removing this semicolon diff --git a/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.txt b/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.txt deleted file mode 100644 index 8039a8913..000000000 --- a/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.txt +++ /dev/null @@ -1,39 +0,0 @@ -SOURCE_FILE@[0; 40) - STRUCT_DEF@[0; 39) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 39) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "a" - COLON@[16; 17) ":" - WHITESPACE@[17; 18) " " - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "i32" - COMMA@[21; 22) "," - WHITESPACE@[22; 27) "\n " - RECORD_FIELD_DEF@[27; 36) - NAME@[27; 28) - IDENT@[27; 28) "b" - COLON@[28; 29) ":" - WHITESPACE@[29; 30) " " - PATH_TYPE@[30; 36) - PATH@[30; 36) - PATH_SEGMENT@[30; 36) - NAME_REF@[30; 36) - IDENT@[30; 36) "String" - COMMA@[36; 37) "," - WHITESPACE@[37; 38) "\n" - R_CURLY@[38; 39) "}" - ERROR@[39; 40) - SEMI@[39; 40) ";" -error [39; 39): expected item, found `;` -consider removing this semicolon diff --git a/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast b/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast new file mode 100644 index 000000000..5f6e10986 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 12) + USE_ITEM@[0; 12) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 11) + PATH@[4; 11) + PATH@[4; 7) + PATH_SEGMENT@[4; 7) + NAME_REF@[4; 7) + IDENT@[4; 7) "foo" + COLONCOLON@[7; 9) "::" + PATH_SEGMENT@[9; 11) + ERROR@[9; 11) + INT_NUMBER@[9; 11) "92" + SEMI@[11; 12) ";" +error [9; 9): expected identifier diff --git a/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.txt b/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.txt deleted file mode 100644 index 5f6e10986..000000000 --- a/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 12) - USE_ITEM@[0; 12) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 11) - PATH@[4; 11) - PATH@[4; 7) - PATH_SEGMENT@[4; 7) - NAME_REF@[4; 7) - IDENT@[4; 7) "foo" - COLONCOLON@[7; 9) "::" - PATH_SEGMENT@[9; 11) - ERROR@[9; 11) - INT_NUMBER@[9; 11) "92" - SEMI@[11; 12) ";" -error [9; 9): expected identifier diff --git a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast new file mode 100644 index 000000000..cc11421a9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast @@ -0,0 +1,60 @@ +SOURCE_FILE@[0; 54) + FN_DEF@[0; 31) + ATTR@[0; 18) + POUND@[0; 1) "#" + L_BRACK@[1; 2) "[" + PATH@[2; 5) + PATH_SEGMENT@[2; 5) + NAME_REF@[2; 5) + IDENT@[2; 5) "foo" + TOKEN_TREE@[5; 17) + L_PAREN@[5; 6) "(" + IDENT@[6; 9) "foo" + COMMA@[9; 10) "," + WHITESPACE@[10; 11) " " + PLUS@[11; 12) "+" + COMMA@[12; 13) "," + WHITESPACE@[13; 14) " " + INT_NUMBER@[14; 16) "92" + R_PAREN@[16; 17) ")" + R_BRACK@[17; 18) "]" + WHITESPACE@[18; 19) "\n" + FN_KW@[19; 21) "fn" + WHITESPACE@[21; 22) " " + NAME@[22; 25) + IDENT@[22; 25) "foo" + PARAM_LIST@[25; 27) + L_PAREN@[25; 26) "(" + R_PAREN@[26; 27) ")" + WHITESPACE@[27; 28) " " + BLOCK_EXPR@[28; 31) + BLOCK@[28; 31) + L_CURLY@[28; 29) "{" + WHITESPACE@[29; 30) "\n" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 34) "\n\n\n" + ATTR@[34; 53) + POUND@[34; 35) "#" + L_BRACK@[35; 36) "[" + PATH@[36; 39) + PATH_SEGMENT@[36; 39) + NAME_REF@[36; 39) + IDENT@[36; 39) "foo" + TOKEN_TREE@[39; 53) + L_PAREN@[39; 40) "(" + WHITESPACE@[40; 41) "\n" + FN_KW@[41; 43) "fn" + WHITESPACE@[43; 44) " " + IDENT@[44; 47) "foo" + TOKEN_TREE@[47; 49) + L_PAREN@[47; 48) "(" + R_PAREN@[48; 49) ")" + WHITESPACE@[49; 50) " " + TOKEN_TREE@[50; 53) + L_CURLY@[50; 51) "{" + WHITESPACE@[51; 52) "\n" + R_CURLY@[52; 53) "}" + WHITESPACE@[53; 54) "\n" +error [53; 53): expected R_PAREN +error [53; 53): expected `]` +error [53; 53): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt deleted file mode 100644 index cc11421a9..000000000 --- a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.txt +++ /dev/null @@ -1,60 +0,0 @@ -SOURCE_FILE@[0; 54) - FN_DEF@[0; 31) - ATTR@[0; 18) - POUND@[0; 1) "#" - L_BRACK@[1; 2) "[" - PATH@[2; 5) - PATH_SEGMENT@[2; 5) - NAME_REF@[2; 5) - IDENT@[2; 5) "foo" - TOKEN_TREE@[5; 17) - L_PAREN@[5; 6) "(" - IDENT@[6; 9) "foo" - COMMA@[9; 10) "," - WHITESPACE@[10; 11) " " - PLUS@[11; 12) "+" - COMMA@[12; 13) "," - WHITESPACE@[13; 14) " " - INT_NUMBER@[14; 16) "92" - R_PAREN@[16; 17) ")" - R_BRACK@[17; 18) "]" - WHITESPACE@[18; 19) "\n" - FN_KW@[19; 21) "fn" - WHITESPACE@[21; 22) " " - NAME@[22; 25) - IDENT@[22; 25) "foo" - PARAM_LIST@[25; 27) - L_PAREN@[25; 26) "(" - R_PAREN@[26; 27) ")" - WHITESPACE@[27; 28) " " - BLOCK_EXPR@[28; 31) - BLOCK@[28; 31) - L_CURLY@[28; 29) "{" - WHITESPACE@[29; 30) "\n" - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 34) "\n\n\n" - ATTR@[34; 53) - POUND@[34; 35) "#" - L_BRACK@[35; 36) "[" - PATH@[36; 39) - PATH_SEGMENT@[36; 39) - NAME_REF@[36; 39) - IDENT@[36; 39) "foo" - TOKEN_TREE@[39; 53) - L_PAREN@[39; 40) "(" - WHITESPACE@[40; 41) "\n" - FN_KW@[41; 43) "fn" - WHITESPACE@[43; 44) " " - IDENT@[44; 47) "foo" - TOKEN_TREE@[47; 49) - L_PAREN@[47; 48) "(" - R_PAREN@[48; 49) ")" - WHITESPACE@[49; 50) " " - TOKEN_TREE@[50; 53) - L_CURLY@[50; 51) "{" - WHITESPACE@[51; 52) "\n" - R_CURLY@[52; 53) "}" - WHITESPACE@[53; 54) "\n" -error [53; 53): expected R_PAREN -error [53; 53): expected `]` -error [53; 53): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.rast b/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.rast new file mode 100644 index 000000000..84fd92862 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.rast @@ -0,0 +1,74 @@ +SOURCE_FILE@[0; 74) + STRUCT_DEF@[0; 73) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 73) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 21) + NAME@[15; 16) + IDENT@[15; 16) "f" + COLON@[16; 17) ":" + WHITESPACE@[17; 18) " " + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "u32" + COMMA@[21; 22) "," + WHITESPACE@[22; 27) "\n " + VISIBILITY@[27; 30) + PUB_KW@[27; 30) "pub" + WHITESPACE@[30; 31) " " + ERROR@[31; 33) + INT_NUMBER@[31; 33) "92" + WHITESPACE@[33; 38) "\n " + ERROR@[38; 39) + PLUS@[38; 39) "+" + WHITESPACE@[39; 40) " " + ERROR@[40; 41) + MINUS@[40; 41) "-" + WHITESPACE@[41; 42) " " + ERROR@[42; 43) + STAR@[42; 43) "*" + WHITESPACE@[43; 48) "\n " + RECORD_FIELD_DEF@[48; 58) + VISIBILITY@[48; 51) + PUB_KW@[48; 51) "pub" + WHITESPACE@[51; 52) " " + NAME@[52; 53) + IDENT@[52; 53) "x" + COLON@[53; 54) ":" + WHITESPACE@[54; 55) " " + PATH_TYPE@[55; 58) + PATH@[55; 58) + PATH_SEGMENT@[55; 58) + NAME_REF@[55; 58) + IDENT@[55; 58) "u32" + COMMA@[58; 59) "," + WHITESPACE@[59; 64) "\n " + RECORD_FIELD_DEF@[64; 70) + NAME@[64; 65) + IDENT@[64; 65) "z" + COLON@[65; 66) ":" + WHITESPACE@[66; 67) " " + PATH_TYPE@[67; 70) + PATH@[67; 70) + PATH_SEGMENT@[67; 70) + NAME_REF@[67; 70) + IDENT@[67; 70) "f64" + COMMA@[70; 71) "," + WHITESPACE@[71; 72) "\n" + R_CURLY@[72; 73) "}" + WHITESPACE@[73; 74) "\n" +error [31; 31): expected field declaration +error [33; 33): expected COMMA +error [38; 38): expected field declaration +error [39; 39): expected COMMA +error [40; 40): expected field declaration +error [41; 41): expected COMMA +error [42; 42): expected field declaration +error [43; 43): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.txt b/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.txt deleted file mode 100644 index 84fd92862..000000000 --- a/crates/ra_syntax/test_data/parser/err/0006_named_field_recovery.txt +++ /dev/null @@ -1,74 +0,0 @@ -SOURCE_FILE@[0; 74) - STRUCT_DEF@[0; 73) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 73) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 21) - NAME@[15; 16) - IDENT@[15; 16) "f" - COLON@[16; 17) ":" - WHITESPACE@[17; 18) " " - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "u32" - COMMA@[21; 22) "," - WHITESPACE@[22; 27) "\n " - VISIBILITY@[27; 30) - PUB_KW@[27; 30) "pub" - WHITESPACE@[30; 31) " " - ERROR@[31; 33) - INT_NUMBER@[31; 33) "92" - WHITESPACE@[33; 38) "\n " - ERROR@[38; 39) - PLUS@[38; 39) "+" - WHITESPACE@[39; 40) " " - ERROR@[40; 41) - MINUS@[40; 41) "-" - WHITESPACE@[41; 42) " " - ERROR@[42; 43) - STAR@[42; 43) "*" - WHITESPACE@[43; 48) "\n " - RECORD_FIELD_DEF@[48; 58) - VISIBILITY@[48; 51) - PUB_KW@[48; 51) "pub" - WHITESPACE@[51; 52) " " - NAME@[52; 53) - IDENT@[52; 53) "x" - COLON@[53; 54) ":" - WHITESPACE@[54; 55) " " - PATH_TYPE@[55; 58) - PATH@[55; 58) - PATH_SEGMENT@[55; 58) - NAME_REF@[55; 58) - IDENT@[55; 58) "u32" - COMMA@[58; 59) "," - WHITESPACE@[59; 64) "\n " - RECORD_FIELD_DEF@[64; 70) - NAME@[64; 65) - IDENT@[64; 65) "z" - COLON@[65; 66) ":" - WHITESPACE@[66; 67) " " - PATH_TYPE@[67; 70) - PATH@[67; 70) - PATH_SEGMENT@[67; 70) - NAME_REF@[67; 70) - IDENT@[67; 70) "f64" - COMMA@[70; 71) "," - WHITESPACE@[71; 72) "\n" - R_CURLY@[72; 73) "}" - WHITESPACE@[73; 74) "\n" -error [31; 31): expected field declaration -error [33; 33): expected COMMA -error [38; 38): expected field declaration -error [39; 39): expected COMMA -error [40; 40): expected field declaration -error [41; 41): expected COMMA -error [42; 42): expected field declaration -error [43; 43): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast new file mode 100644 index 000000000..1978f30fa --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast @@ -0,0 +1,33 @@ +SOURCE_FILE@[0; 31) + ERROR@[0; 1) + R_CURLY@[0; 1) "}" + WHITESPACE@[1; 3) "\n\n" + STRUCT_DEF@[3; 12) + STRUCT_KW@[3; 9) "struct" + WHITESPACE@[9; 10) " " + NAME@[10; 11) + IDENT@[10; 11) "S" + SEMI@[11; 12) ";" + WHITESPACE@[12; 14) "\n\n" + ERROR@[14; 15) + R_CURLY@[14; 15) "}" + WHITESPACE@[15; 17) "\n\n" + FN_DEF@[17; 27) + FN_KW@[17; 19) "fn" + WHITESPACE@[19; 20) " " + NAME@[20; 23) + IDENT@[20; 23) "foo" + PARAM_LIST@[23; 25) + L_PAREN@[23; 24) "(" + R_PAREN@[24; 25) ")" + BLOCK_EXPR@[25; 27) + BLOCK@[25; 27) + L_CURLY@[25; 26) "{" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 29) "\n\n" + ERROR@[29; 30) + R_CURLY@[29; 30) "}" + WHITESPACE@[30; 31) "\n" +error [0; 0): unmatched `}` +error [14; 14): unmatched `}` +error [29; 29): unmatched `}` diff --git a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt deleted file mode 100644 index 1978f30fa..000000000 --- a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.txt +++ /dev/null @@ -1,33 +0,0 @@ -SOURCE_FILE@[0; 31) - ERROR@[0; 1) - R_CURLY@[0; 1) "}" - WHITESPACE@[1; 3) "\n\n" - STRUCT_DEF@[3; 12) - STRUCT_KW@[3; 9) "struct" - WHITESPACE@[9; 10) " " - NAME@[10; 11) - IDENT@[10; 11) "S" - SEMI@[11; 12) ";" - WHITESPACE@[12; 14) "\n\n" - ERROR@[14; 15) - R_CURLY@[14; 15) "}" - WHITESPACE@[15; 17) "\n\n" - FN_DEF@[17; 27) - FN_KW@[17; 19) "fn" - WHITESPACE@[19; 20) " " - NAME@[20; 23) - IDENT@[20; 23) "foo" - PARAM_LIST@[23; 25) - L_PAREN@[23; 24) "(" - R_PAREN@[24; 25) ")" - BLOCK_EXPR@[25; 27) - BLOCK@[25; 27) - L_CURLY@[25; 26) "{" - R_CURLY@[26; 27) "}" - WHITESPACE@[27; 29) "\n\n" - ERROR@[29; 30) - R_CURLY@[29; 30) "}" - WHITESPACE@[30; 31) "\n" -error [0; 0): unmatched `}` -error [14; 14): unmatched `}` -error [29; 29): unmatched `}` diff --git a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast new file mode 100644 index 000000000..98248227d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast @@ -0,0 +1,81 @@ +SOURCE_FILE@[0; 95) + FN_DEF@[0; 12) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 12) + BLOCK@[9; 12) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) "\n" + R_CURLY@[11; 12) "}" + WHITESPACE@[12; 14) "\n\n" + MACRO_CALL@[14; 19) + PATH@[14; 17) + PATH_SEGMENT@[14; 17) + NAME_REF@[14; 17) + IDENT@[14; 17) "bar" + TOKEN_TREE@[17; 19) + L_PAREN@[17; 18) "(" + R_PAREN@[18; 19) ")" + WHITESPACE@[19; 20) " " + ERROR@[20; 80) + L_CURLY@[20; 21) "{" + WHITESPACE@[21; 26) "\n " + IF_EXPR@[26; 78) + IF_KW@[26; 28) "if" + WHITESPACE@[28; 29) " " + CONDITION@[29; 33) + LITERAL@[29; 33) + TRUE_KW@[29; 33) "true" + WHITESPACE@[33; 34) " " + BLOCK_EXPR@[34; 51) + BLOCK@[34; 51) + L_CURLY@[34; 35) "{" + WHITESPACE@[35; 44) "\n " + LITERAL@[44; 45) + INT_NUMBER@[44; 45) "1" + WHITESPACE@[45; 50) "\n " + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 52) " " + ELSE_KW@[52; 56) "else" + WHITESPACE@[56; 57) " " + BLOCK_EXPR@[57; 78) + BLOCK@[57; 78) + L_CURLY@[57; 58) "{" + WHITESPACE@[58; 67) "\n " + BIN_EXPR@[67; 72) + LITERAL@[67; 68) + INT_NUMBER@[67; 68) "2" + WHITESPACE@[68; 69) " " + PLUS@[69; 70) "+" + WHITESPACE@[70; 71) " " + LITERAL@[71; 72) + INT_NUMBER@[71; 72) "3" + WHITESPACE@[72; 77) "\n " + R_CURLY@[77; 78) "}" + WHITESPACE@[78; 79) "\n" + R_CURLY@[79; 80) "}" + WHITESPACE@[80; 82) "\n\n" + FN_DEF@[82; 94) + FN_KW@[82; 84) "fn" + WHITESPACE@[84; 85) " " + NAME@[85; 88) + IDENT@[85; 88) "baz" + PARAM_LIST@[88; 90) + L_PAREN@[88; 89) "(" + R_PAREN@[89; 90) ")" + WHITESPACE@[90; 91) " " + BLOCK_EXPR@[91; 94) + BLOCK@[91; 94) + L_CURLY@[91; 92) "{" + WHITESPACE@[92; 93) "\n" + R_CURLY@[93; 94) "}" + WHITESPACE@[94; 95) "\n" +error [17; 17): expected EXCL +error [19; 19): expected SEMI +error [20; 20): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt deleted file mode 100644 index 98248227d..000000000 --- a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.txt +++ /dev/null @@ -1,81 +0,0 @@ -SOURCE_FILE@[0; 95) - FN_DEF@[0; 12) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 12) - BLOCK@[9; 12) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) "\n" - R_CURLY@[11; 12) "}" - WHITESPACE@[12; 14) "\n\n" - MACRO_CALL@[14; 19) - PATH@[14; 17) - PATH_SEGMENT@[14; 17) - NAME_REF@[14; 17) - IDENT@[14; 17) "bar" - TOKEN_TREE@[17; 19) - L_PAREN@[17; 18) "(" - R_PAREN@[18; 19) ")" - WHITESPACE@[19; 20) " " - ERROR@[20; 80) - L_CURLY@[20; 21) "{" - WHITESPACE@[21; 26) "\n " - IF_EXPR@[26; 78) - IF_KW@[26; 28) "if" - WHITESPACE@[28; 29) " " - CONDITION@[29; 33) - LITERAL@[29; 33) - TRUE_KW@[29; 33) "true" - WHITESPACE@[33; 34) " " - BLOCK_EXPR@[34; 51) - BLOCK@[34; 51) - L_CURLY@[34; 35) "{" - WHITESPACE@[35; 44) "\n " - LITERAL@[44; 45) - INT_NUMBER@[44; 45) "1" - WHITESPACE@[45; 50) "\n " - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 52) " " - ELSE_KW@[52; 56) "else" - WHITESPACE@[56; 57) " " - BLOCK_EXPR@[57; 78) - BLOCK@[57; 78) - L_CURLY@[57; 58) "{" - WHITESPACE@[58; 67) "\n " - BIN_EXPR@[67; 72) - LITERAL@[67; 68) - INT_NUMBER@[67; 68) "2" - WHITESPACE@[68; 69) " " - PLUS@[69; 70) "+" - WHITESPACE@[70; 71) " " - LITERAL@[71; 72) - INT_NUMBER@[71; 72) "3" - WHITESPACE@[72; 77) "\n " - R_CURLY@[77; 78) "}" - WHITESPACE@[78; 79) "\n" - R_CURLY@[79; 80) "}" - WHITESPACE@[80; 82) "\n\n" - FN_DEF@[82; 94) - FN_KW@[82; 84) "fn" - WHITESPACE@[84; 85) " " - NAME@[85; 88) - IDENT@[85; 88) "baz" - PARAM_LIST@[88; 90) - L_PAREN@[88; 89) "(" - R_PAREN@[89; 90) ")" - WHITESPACE@[90; 91) " " - BLOCK_EXPR@[91; 94) - BLOCK@[91; 94) - L_CURLY@[91; 92) "{" - WHITESPACE@[92; 93) "\n" - R_CURLY@[93; 94) "}" - WHITESPACE@[94; 95) "\n" -error [17; 17): expected EXCL -error [19; 19): expected SEMI -error [20; 20): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast b/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast new file mode 100644 index 000000000..ca508ac7c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast @@ -0,0 +1,58 @@ +SOURCE_FILE@[0; 43) + STRUCT_DEF@[0; 11) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 11) + L_ANGLE@[8; 9) "<" + ERROR@[9; 11) + INT_NUMBER@[9; 11) "90" + WHITESPACE@[11; 12) " " + ERROR@[12; 13) + PLUS@[12; 13) "+" + WHITESPACE@[13; 14) " " + ERROR@[14; 15) + INT_NUMBER@[14; 15) "2" + ERROR@[15; 16) + R_ANGLE@[15; 16) ">" + WHITESPACE@[16; 17) " " + ERROR@[17; 31) + L_CURLY@[17; 18) "{" + WHITESPACE@[18; 23) "\n " + EXPR_STMT@[23; 24) + PATH_EXPR@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "f" + EXPR_STMT@[24; 25) + ERROR@[24; 25) + COLON@[24; 25) ":" + WHITESPACE@[25; 26) " " + PATH_EXPR@[26; 29) + PATH@[26; 29) + PATH_SEGMENT@[26; 29) + NAME_REF@[26; 29) + IDENT@[26; 29) "u32" + WHITESPACE@[29; 30) "\n" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 33) "\n\n" + STRUCT_DEF@[33; 42) + STRUCT_KW@[33; 39) "struct" + WHITESPACE@[39; 40) " " + NAME@[40; 41) + IDENT@[40; 41) "T" + SEMI@[41; 42) ";" + WHITESPACE@[42; 43) "\n" +error [9; 9): expected type parameter +error [11; 11): expected COMMA +error [11; 11): expected R_ANGLE +error [11; 11): expected `;`, `{`, or `(` +error [12; 12): expected an item +error [14; 14): expected an item +error [15; 15): expected an item +error [17; 17): expected an item +error [24; 24): expected SEMI +error [24; 24): expected expression +error [25; 25): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.txt b/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.txt deleted file mode 100644 index ca508ac7c..000000000 --- a/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.txt +++ /dev/null @@ -1,58 +0,0 @@ -SOURCE_FILE@[0; 43) - STRUCT_DEF@[0; 11) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - TYPE_PARAM_LIST@[8; 11) - L_ANGLE@[8; 9) "<" - ERROR@[9; 11) - INT_NUMBER@[9; 11) "90" - WHITESPACE@[11; 12) " " - ERROR@[12; 13) - PLUS@[12; 13) "+" - WHITESPACE@[13; 14) " " - ERROR@[14; 15) - INT_NUMBER@[14; 15) "2" - ERROR@[15; 16) - R_ANGLE@[15; 16) ">" - WHITESPACE@[16; 17) " " - ERROR@[17; 31) - L_CURLY@[17; 18) "{" - WHITESPACE@[18; 23) "\n " - EXPR_STMT@[23; 24) - PATH_EXPR@[23; 24) - PATH@[23; 24) - PATH_SEGMENT@[23; 24) - NAME_REF@[23; 24) - IDENT@[23; 24) "f" - EXPR_STMT@[24; 25) - ERROR@[24; 25) - COLON@[24; 25) ":" - WHITESPACE@[25; 26) " " - PATH_EXPR@[26; 29) - PATH@[26; 29) - PATH_SEGMENT@[26; 29) - NAME_REF@[26; 29) - IDENT@[26; 29) "u32" - WHITESPACE@[29; 30) "\n" - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 33) "\n\n" - STRUCT_DEF@[33; 42) - STRUCT_KW@[33; 39) "struct" - WHITESPACE@[39; 40) " " - NAME@[40; 41) - IDENT@[40; 41) "T" - SEMI@[41; 42) ";" - WHITESPACE@[42; 43) "\n" -error [9; 9): expected type parameter -error [11; 11): expected COMMA -error [11; 11): expected R_ANGLE -error [11; 11): expected `;`, `{`, or `(` -error [12; 12): expected an item -error [14; 14): expected an item -error [15; 15): expected an item -error [17; 17): expected an item -error [24; 24): expected SEMI -error [24; 24): expected expression -error [25; 25): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast new file mode 100644 index 000000000..0ffbd25aa --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast @@ -0,0 +1,45 @@ +SOURCE_FILE@[0; 42) + FN_DEF@[0; 41) + 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; 41) + BLOCK@[10; 41) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + EXPR_STMT@[16; 24) + LAMBDA_EXPR@[16; 24) + PARAM_LIST@[16; 18) + PIPE@[16; 17) "|" + PIPE@[17; 18) "|" + WHITESPACE@[18; 19) " " + RET_TYPE@[19; 24) + THIN_ARROW@[19; 21) "->" + WHITESPACE@[21; 22) " " + TUPLE_TYPE@[22; 24) + L_PAREN@[22; 23) "(" + R_PAREN@[23; 24) ")" + WHITESPACE@[24; 25) " " + EXPR_STMT@[25; 39) + BLOCK_EXPR@[25; 38) + UNSAFE_KW@[25; 31) "unsafe" + WHITESPACE@[31; 32) " " + BLOCK@[32; 38) + L_CURLY@[32; 33) "{" + WHITESPACE@[33; 34) " " + TUPLE_EXPR@[34; 36) + L_PAREN@[34; 35) "(" + R_PAREN@[35; 36) ")" + WHITESPACE@[36; 37) " " + R_CURLY@[37; 38) "}" + SEMI@[38; 39) ";" + WHITESPACE@[39; 40) "\n" + R_CURLY@[40; 41) "}" + WHITESPACE@[41; 42) "\n" +error [24; 24): expected `{` +error [24; 24): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt deleted file mode 100644 index 0ffbd25aa..000000000 --- a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.txt +++ /dev/null @@ -1,45 +0,0 @@ -SOURCE_FILE@[0; 42) - FN_DEF@[0; 41) - 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; 41) - BLOCK@[10; 41) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - EXPR_STMT@[16; 24) - LAMBDA_EXPR@[16; 24) - PARAM_LIST@[16; 18) - PIPE@[16; 17) "|" - PIPE@[17; 18) "|" - WHITESPACE@[18; 19) " " - RET_TYPE@[19; 24) - THIN_ARROW@[19; 21) "->" - WHITESPACE@[21; 22) " " - TUPLE_TYPE@[22; 24) - L_PAREN@[22; 23) "(" - R_PAREN@[23; 24) ")" - WHITESPACE@[24; 25) " " - EXPR_STMT@[25; 39) - BLOCK_EXPR@[25; 38) - UNSAFE_KW@[25; 31) "unsafe" - WHITESPACE@[31; 32) " " - BLOCK@[32; 38) - L_CURLY@[32; 33) "{" - WHITESPACE@[33; 34) " " - TUPLE_EXPR@[34; 36) - L_PAREN@[34; 35) "(" - R_PAREN@[35; 36) ")" - WHITESPACE@[36; 37) " " - R_CURLY@[37; 38) "}" - SEMI@[38; 39) ";" - WHITESPACE@[39; 40) "\n" - R_CURLY@[40; 41) "}" - WHITESPACE@[41; 42) "\n" -error [24; 24): expected `{` -error [24; 24): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast b/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast new file mode 100644 index 000000000..900894dcf --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast @@ -0,0 +1,13 @@ +SOURCE_FILE@[0; 19) + ERROR@[0; 6) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + STRUCT_DEF@[7; 18) + STRUCT_KW@[7; 13) "struct" + WHITESPACE@[13; 14) " " + NAME@[14; 17) + IDENT@[14; 17) "Foo" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" +error [6; 6): expected existential, fn, trait or impl diff --git a/crates/ra_syntax/test_data/parser/err/0011_extern_struct.txt b/crates/ra_syntax/test_data/parser/err/0011_extern_struct.txt deleted file mode 100644 index 900894dcf..000000000 --- a/crates/ra_syntax/test_data/parser/err/0011_extern_struct.txt +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE_FILE@[0; 19) - ERROR@[0; 6) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - STRUCT_DEF@[7; 18) - STRUCT_KW@[7; 13) "struct" - WHITESPACE@[13; 14) " " - NAME@[14; 17) - IDENT@[14; 17) "Foo" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" -error [6; 6): expected existential, fn, trait or impl diff --git a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast new file mode 100644 index 000000000..12ebc2a3a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast @@ -0,0 +1,387 @@ +SOURCE_FILE@[0; 389) + FN_DEF@[0; 389) + VISIBILITY@[0; 10) + PUB_KW@[0; 3) + L_PAREN@[3; 4) + SUPER_KW@[4; 9) + R_PAREN@[9; 10) + WHITESPACE@[10; 11) + FN_KW@[11; 13) + WHITESPACE@[13; 14) + NAME@[14; 21) + IDENT@[14; 21) "process" + TYPE_PARAM_LIST@[21; 38) + L_ANGLE@[21; 22) + LIFETIME_PARAM@[22; 24) + LIFETIME@[22; 24) "'a" + COMMA@[24; 25) + WHITESPACE@[25; 26) + TYPE_PARAM@[26; 37) + NAME@[26; 27) + IDENT@[26; 27) "S" + COLON@[27; 28) + WHITESPACE@[28; 29) + PATH@[29; 37) + PATH_SEGMENT@[29; 37) + NAME_REF@[29; 33) + IDENT@[29; 33) "Sink" + TYPE_ARG_LIST@[33; 37) + L_ANGLE@[33; 34) + LIFETIME_ARG@[34; 36) + LIFETIME@[34; 36) "'a" + R_ANGLE@[36; 37) + R_ANGLE@[37; 38) + PARAM_LIST@[38; 93) + L_PAREN@[38; 39) + PARAM@[39; 54) + BIND_PAT@[39; 46) + NAME@[39; 46) + IDENT@[39; 46) "builder" + COLON@[46; 47) + WHITESPACE@[47; 48) + REFERENCE_TYPE@[48; 54) + AMP@[48; 49) + MUT_KW@[49; 52) + WHITESPACE@[52; 53) + PATH_TYPE@[53; 54) + PATH@[53; 54) + PATH_SEGMENT@[53; 54) + NAME_REF@[53; 54) + IDENT@[53; 54) "S" + COMMA@[54; 55) + WHITESPACE@[55; 56) + PARAM@[56; 72) + BIND_PAT@[56; 62) + NAME@[56; 62) + IDENT@[56; 62) "tokens" + COLON@[62; 63) + WHITESPACE@[63; 64) + REFERENCE_TYPE@[64; 72) + AMP@[64; 65) + SLICE_TYPE@[65; 72) + L_BRACK@[65; 66) + PATH_TYPE@[66; 71) + PATH@[66; 71) + PATH_SEGMENT@[66; 71) + NAME_REF@[66; 71) + IDENT@[66; 71) "Token" + R_BRACK@[71; 72) + COMMA@[72; 73) + WHITESPACE@[73; 74) + PARAM@[74; 92) + BIND_PAT@[74; 80) + NAME@[74; 80) + IDENT@[74; 80) "events" + COLON@[80; 81) + WHITESPACE@[81; 82) + PATH_TYPE@[82; 92) + PATH@[82; 92) + PATH_SEGMENT@[82; 92) + NAME_REF@[82; 85) + IDENT@[82; 85) "Vec" + TYPE_ARG_LIST@[85; 92) + L_ANGLE@[85; 86) + TYPE_ARG@[86; 91) + PATH_TYPE@[86; 91) + PATH@[86; 91) + PATH_SEGMENT@[86; 91) + NAME_REF@[86; 91) + IDENT@[86; 91) "Event" + R_ANGLE@[91; 92) + R_PAREN@[92; 93) + WHITESPACE@[93; 94) + BLOCK_EXPR@[94; 389) + L_CURLY@[94; 95) + WHITESPACE@[95; 100) + LET_STMT@[100; 125) + LET_KW@[100; 103) + WHITESPACE@[103; 104) + BIND_PAT@[104; 120) + MUT_KW@[104; 107) + WHITESPACE@[107; 108) + NAME@[108; 120) + IDENT@[108; 120) "next_tok_idx" + WHITESPACE@[120; 121) + EQ@[121; 122) + WHITESPACE@[122; 123) + LITERAL@[123; 124) + INT_NUMBER@[123; 124) "0" + SEMI@[124; 125) + WHITESPACE@[125; 130) + LET_STMT@[130; 389) + LET_KW@[130; 133) + WHITESPACE@[133; 134) + BIND_PAT@[134; 140) + NAME@[134; 140) + IDENT@[134; 140) "eat_ws" + WHITESPACE@[140; 141) + EQ@[141; 142) + WHITESPACE@[142; 143) + LAMBDA_EXPR@[143; 389) + PARAM_LIST@[143; 388) + PIPE@[143; 144) + PARAM@[144; 159) + BIND_PAT@[144; 147) + NAME@[144; 147) + IDENT@[144; 147) "idx" + COLON@[147; 148) + WHITESPACE@[148; 149) + REFERENCE_TYPE@[149; 159) + AMP@[149; 150) + MUT_KW@[150; 153) + WHITESPACE@[153; 154) + PATH_TYPE@[154; 159) + PATH@[154; 159) + PATH_SEGMENT@[154; 159) + NAME_REF@[154; 159) + IDENT@[154; 159) "usize" + COMMA@[159; 160) + WHITESPACE@[160; 161) + PARAM@[161; 167) + REF_PAT@[161; 167) + AMP@[161; 162) + MUT_KW@[162; 165) + WHITESPACE@[165; 166) + err: `expected pattern` + ERROR@[166; 167) + PIPE@[166; 167) + err: `expected COMMA` + WHITESPACE@[167; 168) + err: `expected pattern` + PARAM@[168; 169) + ERROR@[168; 169) + L_CURLY@[168; 169) + err: `expected COMMA` + WHITESPACE@[169; 178) + err: `expected pattern` + PARAM@[178; 183) + ERROR@[178; 183) + WHILE_KW@[178; 183) + err: `expected COMMA` + WHITESPACE@[183; 184) + err: `expected pattern` + PARAM@[184; 187) + ERROR@[184; 187) + LET_KW@[184; 187) + err: `expected COMMA` + WHITESPACE@[187; 188) + PARAM@[188; 199) + TUPLE_STRUCT_PAT@[188; 199) + PATH@[188; 192) + PATH_SEGMENT@[188; 192) + NAME_REF@[188; 192) + IDENT@[188; 192) "Some" + L_PAREN@[192; 193) + BIND_PAT@[193; 198) + NAME@[193; 198) + IDENT@[193; 198) "token" + R_PAREN@[198; 199) + err: `expected COMMA` + WHITESPACE@[199; 200) + err: `expected pattern` + PARAM@[200; 201) + ERROR@[200; 201) + EQ@[200; 201) + err: `expected COMMA` + WHITESPACE@[201; 202) + PARAM@[202; 208) + BIND_PAT@[202; 208) + NAME@[202; 208) + IDENT@[202; 208) "tokens" + err: `expected COMMA` + err: `expected pattern` + PARAM@[208; 209) + ERROR@[208; 209) + DOT@[208; 209) + err: `expected COMMA` + PARAM@[209; 218) + TUPLE_STRUCT_PAT@[209; 218) + PATH@[209; 212) + PATH_SEGMENT@[209; 212) + NAME_REF@[209; 212) + IDENT@[209; 212) "get" + L_PAREN@[212; 213) + err: `expected pattern` + ERROR@[213; 214) + STAR@[213; 214) + err: `expected COMMA` + BIND_PAT@[214; 217) + NAME@[214; 217) + IDENT@[214; 217) "idx" + R_PAREN@[217; 218) + err: `expected COMMA` + WHITESPACE@[218; 219) + err: `expected pattern` + PARAM@[219; 220) + ERROR@[219; 220) + L_CURLY@[219; 220) + err: `expected COMMA` + WHITESPACE@[220; 233) + err: `expected pattern` + PARAM@[233; 235) + ERROR@[233; 235) + IF_KW@[233; 235) + err: `expected COMMA` + WHITESPACE@[235; 236) + err: `expected pattern` + PARAM@[236; 237) + ERROR@[236; 237) + EXCL@[236; 237) + err: `expected COMMA` + PARAM@[237; 242) + BIND_PAT@[237; 242) + NAME@[237; 242) + IDENT@[237; 242) "token" + err: `expected COMMA` + err: `expected pattern` + PARAM@[242; 243) + ERROR@[242; 243) + DOT@[242; 243) + err: `expected COMMA` + PARAM@[243; 247) + BIND_PAT@[243; 247) + NAME@[243; 247) + IDENT@[243; 247) "kind" + err: `expected COMMA` + err: `expected pattern` + PARAM@[247; 248) + ERROR@[247; 248) + DOT@[247; 248) + err: `expected COMMA` + PARAM@[248; 259) + TUPLE_STRUCT_PAT@[248; 259) + PATH@[248; 257) + PATH_SEGMENT@[248; 257) + NAME_REF@[248; 257) + IDENT@[248; 257) "is_trivia" + L_PAREN@[257; 258) + R_PAREN@[258; 259) + err: `expected COMMA` + WHITESPACE@[259; 260) + err: `expected pattern` + PARAM@[260; 261) + ERROR@[260; 261) + L_CURLY@[260; 261) + err: `expected COMMA` + WHITESPACE@[261; 278) + PARAM@[278; 283) + BIND_PAT@[278; 283) + NAME@[278; 283) + IDENT@[278; 283) "break" + err: `expected COMMA` + err: `expected pattern` + PARAM@[283; 284) + ERROR@[283; 284) + SEMI@[283; 284) + err: `expected COMMA` + WHITESPACE@[284; 297) + err: `expected pattern` + PARAM@[297; 298) + ERROR@[297; 298) + R_CURLY@[297; 298) + err: `expected COMMA` + WHITESPACE@[298; 311) + PARAM@[311; 318) + BIND_PAT@[311; 318) + NAME@[311; 318) + IDENT@[311; 318) "builder" + err: `expected COMMA` + err: `expected pattern` + PARAM@[318; 319) + ERROR@[318; 319) + DOT@[318; 319) + err: `expected COMMA` + PARAM@[319; 346) + TUPLE_STRUCT_PAT@[319; 346) + PATH@[319; 323) + PATH_SEGMENT@[319; 323) + NAME_REF@[319; 323) + IDENT@[319; 323) "leaf" + L_PAREN@[323; 324) + BIND_PAT@[324; 329) + NAME@[324; 329) + IDENT@[324; 329) "token" + err: `expected COMMA` + err: `expected pattern` + ERROR@[329; 330) + DOT@[329; 330) + err: `expected COMMA` + BIND_PAT@[330; 334) + NAME@[330; 334) + IDENT@[330; 334) "kind" + COMMA@[334; 335) + WHITESPACE@[335; 336) + BIND_PAT@[336; 341) + NAME@[336; 341) + IDENT@[336; 341) "token" + err: `expected COMMA` + err: `expected pattern` + ERROR@[341; 342) + DOT@[341; 342) + err: `expected COMMA` + BIND_PAT@[342; 345) + NAME@[342; 345) + IDENT@[342; 345) "len" + R_PAREN@[345; 346) + err: `expected COMMA` + err: `expected pattern` + PARAM@[346; 347) + ERROR@[346; 347) + SEMI@[346; 347) + err: `expected COMMA` + WHITESPACE@[347; 360) + err: `expected pattern` + PARAM@[360; 361) + ERROR@[360; 361) + STAR@[360; 361) + err: `expected COMMA` + PARAM@[361; 364) + BIND_PAT@[361; 364) + NAME@[361; 364) + IDENT@[361; 364) "idx" + err: `expected COMMA` + WHITESPACE@[364; 365) + err: `expected pattern` + PARAM@[365; 366) + ERROR@[365; 366) + PLUS@[365; 366) + err: `expected COMMA` + err: `expected pattern` + PARAM@[366; 367) + ERROR@[366; 367) + EQ@[366; 367) + err: `expected COMMA` + WHITESPACE@[367; 368) + PARAM@[368; 369) + LITERAL@[368; 369) + INT_NUMBER@[368; 369) "1" + err: `expected COMMA` + WHITESPACE@[369; 378) + err: `expected pattern` + PARAM@[378; 379) + ERROR@[378; 379) + R_CURLY@[378; 379) + err: `expected COMMA` + WHITESPACE@[379; 384) + err: `expected pattern` + PARAM@[384; 385) + ERROR@[384; 385) + R_CURLY@[384; 385) + err: `expected COMMA` + err: `expected pattern` + PARAM@[385; 386) + ERROR@[385; 386) + SEMI@[385; 386) + err: `expected COMMA` + WHITESPACE@[386; 387) + err: `expected pattern` + PARAM@[387; 388) + ERROR@[387; 388) + R_CURLY@[387; 388) + err: `expected COMMA` + err: `expected PIPE` + WHITESPACE@[388; 389) + err: `expected expression` + err: `expected SEMI` + err: `expected R_CURLY` + ERROR@[389; 389) diff --git a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.txt b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.txt deleted file mode 100644 index 12ebc2a3a..000000000 --- a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.txt +++ /dev/null @@ -1,387 +0,0 @@ -SOURCE_FILE@[0; 389) - FN_DEF@[0; 389) - VISIBILITY@[0; 10) - PUB_KW@[0; 3) - L_PAREN@[3; 4) - SUPER_KW@[4; 9) - R_PAREN@[9; 10) - WHITESPACE@[10; 11) - FN_KW@[11; 13) - WHITESPACE@[13; 14) - NAME@[14; 21) - IDENT@[14; 21) "process" - TYPE_PARAM_LIST@[21; 38) - L_ANGLE@[21; 22) - LIFETIME_PARAM@[22; 24) - LIFETIME@[22; 24) "'a" - COMMA@[24; 25) - WHITESPACE@[25; 26) - TYPE_PARAM@[26; 37) - NAME@[26; 27) - IDENT@[26; 27) "S" - COLON@[27; 28) - WHITESPACE@[28; 29) - PATH@[29; 37) - PATH_SEGMENT@[29; 37) - NAME_REF@[29; 33) - IDENT@[29; 33) "Sink" - TYPE_ARG_LIST@[33; 37) - L_ANGLE@[33; 34) - LIFETIME_ARG@[34; 36) - LIFETIME@[34; 36) "'a" - R_ANGLE@[36; 37) - R_ANGLE@[37; 38) - PARAM_LIST@[38; 93) - L_PAREN@[38; 39) - PARAM@[39; 54) - BIND_PAT@[39; 46) - NAME@[39; 46) - IDENT@[39; 46) "builder" - COLON@[46; 47) - WHITESPACE@[47; 48) - REFERENCE_TYPE@[48; 54) - AMP@[48; 49) - MUT_KW@[49; 52) - WHITESPACE@[52; 53) - PATH_TYPE@[53; 54) - PATH@[53; 54) - PATH_SEGMENT@[53; 54) - NAME_REF@[53; 54) - IDENT@[53; 54) "S" - COMMA@[54; 55) - WHITESPACE@[55; 56) - PARAM@[56; 72) - BIND_PAT@[56; 62) - NAME@[56; 62) - IDENT@[56; 62) "tokens" - COLON@[62; 63) - WHITESPACE@[63; 64) - REFERENCE_TYPE@[64; 72) - AMP@[64; 65) - SLICE_TYPE@[65; 72) - L_BRACK@[65; 66) - PATH_TYPE@[66; 71) - PATH@[66; 71) - PATH_SEGMENT@[66; 71) - NAME_REF@[66; 71) - IDENT@[66; 71) "Token" - R_BRACK@[71; 72) - COMMA@[72; 73) - WHITESPACE@[73; 74) - PARAM@[74; 92) - BIND_PAT@[74; 80) - NAME@[74; 80) - IDENT@[74; 80) "events" - COLON@[80; 81) - WHITESPACE@[81; 82) - PATH_TYPE@[82; 92) - PATH@[82; 92) - PATH_SEGMENT@[82; 92) - NAME_REF@[82; 85) - IDENT@[82; 85) "Vec" - TYPE_ARG_LIST@[85; 92) - L_ANGLE@[85; 86) - TYPE_ARG@[86; 91) - PATH_TYPE@[86; 91) - PATH@[86; 91) - PATH_SEGMENT@[86; 91) - NAME_REF@[86; 91) - IDENT@[86; 91) "Event" - R_ANGLE@[91; 92) - R_PAREN@[92; 93) - WHITESPACE@[93; 94) - BLOCK_EXPR@[94; 389) - L_CURLY@[94; 95) - WHITESPACE@[95; 100) - LET_STMT@[100; 125) - LET_KW@[100; 103) - WHITESPACE@[103; 104) - BIND_PAT@[104; 120) - MUT_KW@[104; 107) - WHITESPACE@[107; 108) - NAME@[108; 120) - IDENT@[108; 120) "next_tok_idx" - WHITESPACE@[120; 121) - EQ@[121; 122) - WHITESPACE@[122; 123) - LITERAL@[123; 124) - INT_NUMBER@[123; 124) "0" - SEMI@[124; 125) - WHITESPACE@[125; 130) - LET_STMT@[130; 389) - LET_KW@[130; 133) - WHITESPACE@[133; 134) - BIND_PAT@[134; 140) - NAME@[134; 140) - IDENT@[134; 140) "eat_ws" - WHITESPACE@[140; 141) - EQ@[141; 142) - WHITESPACE@[142; 143) - LAMBDA_EXPR@[143; 389) - PARAM_LIST@[143; 388) - PIPE@[143; 144) - PARAM@[144; 159) - BIND_PAT@[144; 147) - NAME@[144; 147) - IDENT@[144; 147) "idx" - COLON@[147; 148) - WHITESPACE@[148; 149) - REFERENCE_TYPE@[149; 159) - AMP@[149; 150) - MUT_KW@[150; 153) - WHITESPACE@[153; 154) - PATH_TYPE@[154; 159) - PATH@[154; 159) - PATH_SEGMENT@[154; 159) - NAME_REF@[154; 159) - IDENT@[154; 159) "usize" - COMMA@[159; 160) - WHITESPACE@[160; 161) - PARAM@[161; 167) - REF_PAT@[161; 167) - AMP@[161; 162) - MUT_KW@[162; 165) - WHITESPACE@[165; 166) - err: `expected pattern` - ERROR@[166; 167) - PIPE@[166; 167) - err: `expected COMMA` - WHITESPACE@[167; 168) - err: `expected pattern` - PARAM@[168; 169) - ERROR@[168; 169) - L_CURLY@[168; 169) - err: `expected COMMA` - WHITESPACE@[169; 178) - err: `expected pattern` - PARAM@[178; 183) - ERROR@[178; 183) - WHILE_KW@[178; 183) - err: `expected COMMA` - WHITESPACE@[183; 184) - err: `expected pattern` - PARAM@[184; 187) - ERROR@[184; 187) - LET_KW@[184; 187) - err: `expected COMMA` - WHITESPACE@[187; 188) - PARAM@[188; 199) - TUPLE_STRUCT_PAT@[188; 199) - PATH@[188; 192) - PATH_SEGMENT@[188; 192) - NAME_REF@[188; 192) - IDENT@[188; 192) "Some" - L_PAREN@[192; 193) - BIND_PAT@[193; 198) - NAME@[193; 198) - IDENT@[193; 198) "token" - R_PAREN@[198; 199) - err: `expected COMMA` - WHITESPACE@[199; 200) - err: `expected pattern` - PARAM@[200; 201) - ERROR@[200; 201) - EQ@[200; 201) - err: `expected COMMA` - WHITESPACE@[201; 202) - PARAM@[202; 208) - BIND_PAT@[202; 208) - NAME@[202; 208) - IDENT@[202; 208) "tokens" - err: `expected COMMA` - err: `expected pattern` - PARAM@[208; 209) - ERROR@[208; 209) - DOT@[208; 209) - err: `expected COMMA` - PARAM@[209; 218) - TUPLE_STRUCT_PAT@[209; 218) - PATH@[209; 212) - PATH_SEGMENT@[209; 212) - NAME_REF@[209; 212) - IDENT@[209; 212) "get" - L_PAREN@[212; 213) - err: `expected pattern` - ERROR@[213; 214) - STAR@[213; 214) - err: `expected COMMA` - BIND_PAT@[214; 217) - NAME@[214; 217) - IDENT@[214; 217) "idx" - R_PAREN@[217; 218) - err: `expected COMMA` - WHITESPACE@[218; 219) - err: `expected pattern` - PARAM@[219; 220) - ERROR@[219; 220) - L_CURLY@[219; 220) - err: `expected COMMA` - WHITESPACE@[220; 233) - err: `expected pattern` - PARAM@[233; 235) - ERROR@[233; 235) - IF_KW@[233; 235) - err: `expected COMMA` - WHITESPACE@[235; 236) - err: `expected pattern` - PARAM@[236; 237) - ERROR@[236; 237) - EXCL@[236; 237) - err: `expected COMMA` - PARAM@[237; 242) - BIND_PAT@[237; 242) - NAME@[237; 242) - IDENT@[237; 242) "token" - err: `expected COMMA` - err: `expected pattern` - PARAM@[242; 243) - ERROR@[242; 243) - DOT@[242; 243) - err: `expected COMMA` - PARAM@[243; 247) - BIND_PAT@[243; 247) - NAME@[243; 247) - IDENT@[243; 247) "kind" - err: `expected COMMA` - err: `expected pattern` - PARAM@[247; 248) - ERROR@[247; 248) - DOT@[247; 248) - err: `expected COMMA` - PARAM@[248; 259) - TUPLE_STRUCT_PAT@[248; 259) - PATH@[248; 257) - PATH_SEGMENT@[248; 257) - NAME_REF@[248; 257) - IDENT@[248; 257) "is_trivia" - L_PAREN@[257; 258) - R_PAREN@[258; 259) - err: `expected COMMA` - WHITESPACE@[259; 260) - err: `expected pattern` - PARAM@[260; 261) - ERROR@[260; 261) - L_CURLY@[260; 261) - err: `expected COMMA` - WHITESPACE@[261; 278) - PARAM@[278; 283) - BIND_PAT@[278; 283) - NAME@[278; 283) - IDENT@[278; 283) "break" - err: `expected COMMA` - err: `expected pattern` - PARAM@[283; 284) - ERROR@[283; 284) - SEMI@[283; 284) - err: `expected COMMA` - WHITESPACE@[284; 297) - err: `expected pattern` - PARAM@[297; 298) - ERROR@[297; 298) - R_CURLY@[297; 298) - err: `expected COMMA` - WHITESPACE@[298; 311) - PARAM@[311; 318) - BIND_PAT@[311; 318) - NAME@[311; 318) - IDENT@[311; 318) "builder" - err: `expected COMMA` - err: `expected pattern` - PARAM@[318; 319) - ERROR@[318; 319) - DOT@[318; 319) - err: `expected COMMA` - PARAM@[319; 346) - TUPLE_STRUCT_PAT@[319; 346) - PATH@[319; 323) - PATH_SEGMENT@[319; 323) - NAME_REF@[319; 323) - IDENT@[319; 323) "leaf" - L_PAREN@[323; 324) - BIND_PAT@[324; 329) - NAME@[324; 329) - IDENT@[324; 329) "token" - err: `expected COMMA` - err: `expected pattern` - ERROR@[329; 330) - DOT@[329; 330) - err: `expected COMMA` - BIND_PAT@[330; 334) - NAME@[330; 334) - IDENT@[330; 334) "kind" - COMMA@[334; 335) - WHITESPACE@[335; 336) - BIND_PAT@[336; 341) - NAME@[336; 341) - IDENT@[336; 341) "token" - err: `expected COMMA` - err: `expected pattern` - ERROR@[341; 342) - DOT@[341; 342) - err: `expected COMMA` - BIND_PAT@[342; 345) - NAME@[342; 345) - IDENT@[342; 345) "len" - R_PAREN@[345; 346) - err: `expected COMMA` - err: `expected pattern` - PARAM@[346; 347) - ERROR@[346; 347) - SEMI@[346; 347) - err: `expected COMMA` - WHITESPACE@[347; 360) - err: `expected pattern` - PARAM@[360; 361) - ERROR@[360; 361) - STAR@[360; 361) - err: `expected COMMA` - PARAM@[361; 364) - BIND_PAT@[361; 364) - NAME@[361; 364) - IDENT@[361; 364) "idx" - err: `expected COMMA` - WHITESPACE@[364; 365) - err: `expected pattern` - PARAM@[365; 366) - ERROR@[365; 366) - PLUS@[365; 366) - err: `expected COMMA` - err: `expected pattern` - PARAM@[366; 367) - ERROR@[366; 367) - EQ@[366; 367) - err: `expected COMMA` - WHITESPACE@[367; 368) - PARAM@[368; 369) - LITERAL@[368; 369) - INT_NUMBER@[368; 369) "1" - err: `expected COMMA` - WHITESPACE@[369; 378) - err: `expected pattern` - PARAM@[378; 379) - ERROR@[378; 379) - R_CURLY@[378; 379) - err: `expected COMMA` - WHITESPACE@[379; 384) - err: `expected pattern` - PARAM@[384; 385) - ERROR@[384; 385) - R_CURLY@[384; 385) - err: `expected COMMA` - err: `expected pattern` - PARAM@[385; 386) - ERROR@[385; 386) - SEMI@[385; 386) - err: `expected COMMA` - WHITESPACE@[386; 387) - err: `expected pattern` - PARAM@[387; 388) - ERROR@[387; 388) - R_CURLY@[387; 388) - err: `expected COMMA` - err: `expected PIPE` - WHITESPACE@[388; 389) - err: `expected expression` - err: `expected SEMI` - err: `expected R_CURLY` - ERROR@[389; 389) diff --git a/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast b/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast new file mode 100644 index 000000000..7a934cf66 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast @@ -0,0 +1,89 @@ +SOURCE_FILE@[0; 86) + STRUCT_DEF@[0; 72) + VISIBILITY@[0; 3) + PUB_KW@[0; 3) "pub" + WHITESPACE@[3; 4) " " + STRUCT_KW@[4; 10) "struct" + WHITESPACE@[10; 11) " " + NAME@[11; 16) + IDENT@[11; 16) "Cache" + TUPLE_FIELD_DEF_LIST@[16; 72) + L_PAREN@[16; 17) "(" + WHITESPACE@[17; 22) "\n " + TUPLE_FIELD_DEF@[22; 68) + PATH_TYPE@[22; 68) + PATH@[22; 68) + PATH_SEGMENT@[22; 68) + NAME_REF@[22; 29) + IDENT@[22; 29) "RefCell" + TYPE_ARG_LIST@[29; 68) + L_ANGLE@[29; 30) "<" + TYPE_ARG@[30; 68) + PATH_TYPE@[30; 68) + PATH@[30; 68) + PATH_SEGMENT@[30; 68) + NAME_REF@[30; 37) + IDENT@[30; 37) "HashMap" + TYPE_ARG_LIST@[37; 68) + L_ANGLE@[37; 38) "<" + WHITESPACE@[38; 47) "\n " + TYPE_ARG@[47; 53) + PATH_TYPE@[47; 53) + PATH@[47; 53) + PATH_SEGMENT@[47; 53) + NAME_REF@[47; 53) + IDENT@[47; 53) "TypeId" + COMMA@[53; 54) "," + WHITESPACE@[54; 63) "\n " + TYPE_ARG@[63; 68) + PATH_TYPE@[63; 68) + PATH@[63; 68) + PATH_SEGMENT@[63; 68) + NAME_REF@[63; 66) + IDENT@[63; 66) "Box" + TYPE_ARG_LIST@[66; 68) + L_ANGLE@[66; 67) "<" + TYPE_ARG@[67; 68) + ERROR@[67; 68) + AT@[67; 68) "@" + WHITESPACE@[68; 69) " " + TUPLE_FIELD_DEF@[69; 72) + PATH_TYPE@[69; 72) + PATH@[69; 72) + PATH_SEGMENT@[69; 72) + NAME_REF@[69; 72) + IDENT@[69; 72) "Any" + ERROR@[72; 72) + ERROR@[72; 73) + R_ANGLE@[72; 73) ">" + ERROR@[73; 74) + COMMA@[73; 74) "," + WHITESPACE@[74; 79) "\n " + ERROR@[79; 80) + R_ANGLE@[79; 80) ">" + ERROR@[80; 81) + R_ANGLE@[80; 81) ">" + WHITESPACE@[81; 82) "\n" + ERROR@[82; 83) + R_PAREN@[82; 83) ")" + ERROR@[83; 84) + SEMI@[83; 84) ";" + WHITESPACE@[84; 86) "\n\n" +error [67; 67): expected type +error [68; 68): expected COMMA +error [68; 68): expected R_ANGLE +error [68; 68): expected COMMA +error [68; 68): expected R_ANGLE +error [68; 68): expected COMMA +error [68; 68): expected R_ANGLE +error [68; 68): expected COMMA +error [72; 72): expected COMMA +error [72; 72): expected a type +error [72; 72): expected R_PAREN +error [72; 72): expected SEMI +error [72; 72): expected an item +error [73; 73): expected an item +error [79; 79): expected an item +error [80; 80): expected an item +error [82; 82): expected an item +error [83; 83): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0013_invalid_type.txt b/crates/ra_syntax/test_data/parser/err/0013_invalid_type.txt deleted file mode 100644 index 7a934cf66..000000000 --- a/crates/ra_syntax/test_data/parser/err/0013_invalid_type.txt +++ /dev/null @@ -1,89 +0,0 @@ -SOURCE_FILE@[0; 86) - STRUCT_DEF@[0; 72) - VISIBILITY@[0; 3) - PUB_KW@[0; 3) "pub" - WHITESPACE@[3; 4) " " - STRUCT_KW@[4; 10) "struct" - WHITESPACE@[10; 11) " " - NAME@[11; 16) - IDENT@[11; 16) "Cache" - TUPLE_FIELD_DEF_LIST@[16; 72) - L_PAREN@[16; 17) "(" - WHITESPACE@[17; 22) "\n " - TUPLE_FIELD_DEF@[22; 68) - PATH_TYPE@[22; 68) - PATH@[22; 68) - PATH_SEGMENT@[22; 68) - NAME_REF@[22; 29) - IDENT@[22; 29) "RefCell" - TYPE_ARG_LIST@[29; 68) - L_ANGLE@[29; 30) "<" - TYPE_ARG@[30; 68) - PATH_TYPE@[30; 68) - PATH@[30; 68) - PATH_SEGMENT@[30; 68) - NAME_REF@[30; 37) - IDENT@[30; 37) "HashMap" - TYPE_ARG_LIST@[37; 68) - L_ANGLE@[37; 38) "<" - WHITESPACE@[38; 47) "\n " - TYPE_ARG@[47; 53) - PATH_TYPE@[47; 53) - PATH@[47; 53) - PATH_SEGMENT@[47; 53) - NAME_REF@[47; 53) - IDENT@[47; 53) "TypeId" - COMMA@[53; 54) "," - WHITESPACE@[54; 63) "\n " - TYPE_ARG@[63; 68) - PATH_TYPE@[63; 68) - PATH@[63; 68) - PATH_SEGMENT@[63; 68) - NAME_REF@[63; 66) - IDENT@[63; 66) "Box" - TYPE_ARG_LIST@[66; 68) - L_ANGLE@[66; 67) "<" - TYPE_ARG@[67; 68) - ERROR@[67; 68) - AT@[67; 68) "@" - WHITESPACE@[68; 69) " " - TUPLE_FIELD_DEF@[69; 72) - PATH_TYPE@[69; 72) - PATH@[69; 72) - PATH_SEGMENT@[69; 72) - NAME_REF@[69; 72) - IDENT@[69; 72) "Any" - ERROR@[72; 72) - ERROR@[72; 73) - R_ANGLE@[72; 73) ">" - ERROR@[73; 74) - COMMA@[73; 74) "," - WHITESPACE@[74; 79) "\n " - ERROR@[79; 80) - R_ANGLE@[79; 80) ">" - ERROR@[80; 81) - R_ANGLE@[80; 81) ">" - WHITESPACE@[81; 82) "\n" - ERROR@[82; 83) - R_PAREN@[82; 83) ")" - ERROR@[83; 84) - SEMI@[83; 84) ";" - WHITESPACE@[84; 86) "\n\n" -error [67; 67): expected type -error [68; 68): expected COMMA -error [68; 68): expected R_ANGLE -error [68; 68): expected COMMA -error [68; 68): expected R_ANGLE -error [68; 68): expected COMMA -error [68; 68): expected R_ANGLE -error [68; 68): expected COMMA -error [72; 72): expected COMMA -error [72; 72): expected a type -error [72; 72): expected R_PAREN -error [72; 72): expected SEMI -error [72; 72): expected an item -error [73; 73): expected an item -error [79; 79): expected an item -error [80; 80): expected an item -error [82; 82): expected an item -error [83; 83): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast new file mode 100644 index 000000000..a25d641b8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast @@ -0,0 +1,32 @@ +SOURCE_FILE@[0; 23) + FN_DEF@[0; 22) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 9) + L_ANGLE@[6; 7) "<" + TYPE_PARAM@[7; 8) + NAME@[7; 8) + IDENT@[7; 8) "T" + R_ANGLE@[8; 9) ">" + PARAM_LIST@[9; 11) + L_PAREN@[9; 10) "(" + R_PAREN@[10; 11) ")" + WHITESPACE@[11; 12) " " + WHERE_CLAUSE@[12; 19) + WHERE_KW@[12; 17) "where" + WHITESPACE@[17; 18) " " + WHERE_PRED@[18; 19) + PATH_TYPE@[18; 19) + PATH@[18; 19) + PATH_SEGMENT@[18; 19) + NAME_REF@[18; 19) + IDENT@[18; 19) "T" + WHITESPACE@[19; 20) " " + BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) + L_CURLY@[20; 21) "{" + R_CURLY@[21; 22) "}" + WHITESPACE@[22; 23) "\n" +error [19; 19): expected colon diff --git a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt deleted file mode 100644 index a25d641b8..000000000 --- a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.txt +++ /dev/null @@ -1,32 +0,0 @@ -SOURCE_FILE@[0; 23) - FN_DEF@[0; 22) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - TYPE_PARAM_LIST@[6; 9) - L_ANGLE@[6; 7) "<" - TYPE_PARAM@[7; 8) - NAME@[7; 8) - IDENT@[7; 8) "T" - R_ANGLE@[8; 9) ">" - PARAM_LIST@[9; 11) - L_PAREN@[9; 10) "(" - R_PAREN@[10; 11) ")" - WHITESPACE@[11; 12) " " - WHERE_CLAUSE@[12; 19) - WHERE_KW@[12; 17) "where" - WHITESPACE@[17; 18) " " - WHERE_PRED@[18; 19) - PATH_TYPE@[18; 19) - PATH@[18; 19) - PATH_SEGMENT@[18; 19) - NAME_REF@[18; 19) - IDENT@[18; 19) "T" - WHITESPACE@[19; 20) " " - BLOCK_EXPR@[20; 22) - BLOCK@[20; 22) - L_CURLY@[20; 21) "{" - R_CURLY@[21; 22) "}" - WHITESPACE@[22; 23) "\n" -error [19; 19): expected colon diff --git a/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.rast b/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.rast new file mode 100644 index 000000000..36b848be3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.rast @@ -0,0 +1,24 @@ +SOURCE_FILE@[0; 14) + FN_DEF@[0; 7) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 7) + L_PAREN@[6; 7) "(" + ERROR@[7; 8) + R_CURLY@[7; 8) "}" + ERROR@[8; 9) + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " + ERROR@[10; 13) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 12) "\n" + R_CURLY@[12; 13) "}" + WHITESPACE@[13; 14) "\n" +error [7; 7): expected value parameter +error [7; 7): expected R_PAREN +error [7; 7): expected a block +error [7; 7): unmatched `}` +error [8; 8): expected an item +error [10; 10): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.txt b/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.txt deleted file mode 100644 index 36b848be3..000000000 --- a/crates/ra_syntax/test_data/parser/err/0015_curly_in_params.txt +++ /dev/null @@ -1,24 +0,0 @@ -SOURCE_FILE@[0; 14) - FN_DEF@[0; 7) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 7) - L_PAREN@[6; 7) "(" - ERROR@[7; 8) - R_CURLY@[7; 8) "}" - ERROR@[8; 9) - R_PAREN@[8; 9) ")" - WHITESPACE@[9; 10) " " - ERROR@[10; 13) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 12) "\n" - R_CURLY@[12; 13) "}" - WHITESPACE@[13; 14) "\n" -error [7; 7): expected value parameter -error [7; 7): expected R_PAREN -error [7; 7): expected a block -error [7; 7): unmatched `}` -error [8; 8): expected an item -error [10; 10): expected an item diff --git a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast new file mode 100644 index 000000000..6343580e0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast @@ -0,0 +1,44 @@ +SOURCE_FILE@[0; 56) + FN_DEF@[0; 55) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 55) + BLOCK@[9; 55) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 38) + CALL_EXPR@[15; 38) + PATH_EXPR@[15; 18) + PATH@[15; 18) + PATH_SEGMENT@[15; 18) + NAME_REF@[15; 18) + IDENT@[15; 18) "foo" + ARG_LIST@[18; 38) + L_PAREN@[18; 19) "(" + WHITESPACE@[19; 28) "\n " + LITERAL@[28; 29) + INT_NUMBER@[28; 29) "1" + COMMA@[29; 30) "," + WHITESPACE@[30; 31) " " + LITERAL@[31; 32) + INT_NUMBER@[31; 32) "2" + WHITESPACE@[32; 37) "\n " + R_PAREN@[37; 38) ")" + WHITESPACE@[38; 43) "\n " + EXPR_STMT@[43; 53) + RETURN_EXPR@[43; 52) + RETURN_KW@[43; 49) "return" + WHITESPACE@[49; 50) " " + LITERAL@[50; 52) + INT_NUMBER@[50; 52) "92" + SEMI@[52; 53) ";" + WHITESPACE@[53; 54) "\n" + R_CURLY@[54; 55) "}" + WHITESPACE@[55; 56) "\n" +error [38; 38): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt deleted file mode 100644 index 6343580e0..000000000 --- a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.txt +++ /dev/null @@ -1,44 +0,0 @@ -SOURCE_FILE@[0; 56) - FN_DEF@[0; 55) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 55) - BLOCK@[9; 55) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 38) - CALL_EXPR@[15; 38) - PATH_EXPR@[15; 18) - PATH@[15; 18) - PATH_SEGMENT@[15; 18) - NAME_REF@[15; 18) - IDENT@[15; 18) "foo" - ARG_LIST@[18; 38) - L_PAREN@[18; 19) "(" - WHITESPACE@[19; 28) "\n " - LITERAL@[28; 29) - INT_NUMBER@[28; 29) "1" - COMMA@[29; 30) "," - WHITESPACE@[30; 31) " " - LITERAL@[31; 32) - INT_NUMBER@[31; 32) "2" - WHITESPACE@[32; 37) "\n " - R_PAREN@[37; 38) ")" - WHITESPACE@[38; 43) "\n " - EXPR_STMT@[43; 53) - RETURN_EXPR@[43; 52) - RETURN_KW@[43; 49) "return" - WHITESPACE@[49; 50) " " - LITERAL@[50; 52) - INT_NUMBER@[50; 52) "92" - SEMI@[52; 53) ";" - WHITESPACE@[53; 54) "\n" - R_CURLY@[54; 55) "}" - WHITESPACE@[55; 56) "\n" -error [38; 38): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast new file mode 100644 index 000000000..59480e999 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast @@ -0,0 +1,47 @@ +SOURCE_FILE@[0; 47) + FN_DEF@[0; 46) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 16) + L_PAREN@[6; 7) "(" + PARAM@[7; 15) + BIND_PAT@[7; 10) + NAME@[7; 10) + IDENT@[7; 10) "foo" + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " + PATH_TYPE@[12; 15) + PATH@[12; 15) + PATH_SEGMENT@[12; 15) + NAME_REF@[12; 15) + IDENT@[12; 15) "i32" + R_PAREN@[15; 16) ")" + WHITESPACE@[16; 17) " " + BLOCK_EXPR@[17; 46) + BLOCK@[17; 46) + L_CURLY@[17; 18) "{" + WHITESPACE@[18; 23) "\n " + LET_STMT@[23; 36) + LET_KW@[23; 26) "let" + WHITESPACE@[26; 27) " " + BIND_PAT@[27; 30) + NAME@[27; 30) + IDENT@[27; 30) "bar" + WHITESPACE@[30; 31) " " + EQ@[31; 32) "=" + WHITESPACE@[32; 33) " " + LITERAL@[33; 35) + INT_NUMBER@[33; 35) "92" + SEMI@[35; 36) ";" + WHITESPACE@[36; 41) "\n " + BIN_EXPR@[41; 44) + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "1" + WHITESPACE@[42; 43) " " + PLUS@[43; 44) "+" + WHITESPACE@[44; 45) "\n" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 47) "\n" +error [44; 44): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt deleted file mode 100644 index 59480e999..000000000 --- a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.txt +++ /dev/null @@ -1,47 +0,0 @@ -SOURCE_FILE@[0; 47) - FN_DEF@[0; 46) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 16) - L_PAREN@[6; 7) "(" - PARAM@[7; 15) - BIND_PAT@[7; 10) - NAME@[7; 10) - IDENT@[7; 10) "foo" - COLON@[10; 11) ":" - WHITESPACE@[11; 12) " " - PATH_TYPE@[12; 15) - PATH@[12; 15) - PATH_SEGMENT@[12; 15) - NAME_REF@[12; 15) - IDENT@[12; 15) "i32" - R_PAREN@[15; 16) ")" - WHITESPACE@[16; 17) " " - BLOCK_EXPR@[17; 46) - BLOCK@[17; 46) - L_CURLY@[17; 18) "{" - WHITESPACE@[18; 23) "\n " - LET_STMT@[23; 36) - LET_KW@[23; 26) "let" - WHITESPACE@[26; 27) " " - BIND_PAT@[27; 30) - NAME@[27; 30) - IDENT@[27; 30) "bar" - WHITESPACE@[30; 31) " " - EQ@[31; 32) "=" - WHITESPACE@[32; 33) " " - LITERAL@[33; 35) - INT_NUMBER@[33; 35) "92" - SEMI@[35; 36) ";" - WHITESPACE@[36; 41) "\n " - BIN_EXPR@[41; 44) - LITERAL@[41; 42) - INT_NUMBER@[41; 42) "1" - WHITESPACE@[42; 43) " " - PLUS@[43; 44) "+" - WHITESPACE@[44; 45) "\n" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 47) "\n" -error [44; 44): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast new file mode 100644 index 000000000..4b13a7236 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast @@ -0,0 +1,132 @@ +SOURCE_FILE@[0; 183) + IMPL_DEF@[0; 182) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + PATH_TYPE@[5; 13) + PATH@[5; 13) + PATH_SEGMENT@[5; 13) + NAME_REF@[5; 13) + IDENT@[5; 13) "FnScopes" + WHITESPACE@[13; 14) " " + ITEM_LIST@[14; 182) + L_CURLY@[14; 15) "{" + WHITESPACE@[15; 20) "\n " + FN_DEF@[20; 161) + FN_KW@[20; 22) "fn" + WHITESPACE@[22; 23) " " + NAME@[23; 32) + IDENT@[23; 32) "new_scope" + PARAM_LIST@[32; 35) + L_PAREN@[32; 33) "(" + PARAM@[33; 34) + REF_PAT@[33; 34) + AMP@[33; 34) "&" + R_PAREN@[34; 35) ")" + WHITESPACE@[35; 36) " " + RET_TYPE@[36; 46) + THIN_ARROW@[36; 38) "->" + WHITESPACE@[38; 39) " " + PATH_TYPE@[39; 46) + PATH@[39; 46) + PATH_SEGMENT@[39; 46) + NAME_REF@[39; 46) + IDENT@[39; 46) "ScopeId" + WHITESPACE@[46; 47) " " + BLOCK_EXPR@[47; 161) + BLOCK@[47; 161) + L_CURLY@[47; 48) "{" + WHITESPACE@[48; 57) "\n " + LET_STMT@[57; 85) + LET_KW@[57; 60) "let" + WHITESPACE@[60; 61) " " + BIND_PAT@[61; 64) + NAME@[61; 64) + IDENT@[61; 64) "res" + WHITESPACE@[64; 65) " " + EQ@[65; 66) "=" + WHITESPACE@[66; 67) " " + METHOD_CALL_EXPR@[67; 84) + FIELD_EXPR@[67; 78) + PATH_EXPR@[67; 71) + PATH@[67; 71) + PATH_SEGMENT@[67; 71) + SELF_KW@[67; 71) "self" + DOT@[71; 72) "." + NAME_REF@[72; 78) + IDENT@[72; 78) "scopes" + DOT@[78; 79) "." + NAME_REF@[79; 82) + IDENT@[79; 82) "len" + ARG_LIST@[82; 84) + L_PAREN@[82; 83) "(" + R_PAREN@[83; 84) ")" + SEMI@[84; 85) ";" + WHITESPACE@[85; 94) "\n " + METHOD_CALL_EXPR@[94; 155) + FIELD_EXPR@[94; 105) + PATH_EXPR@[94; 98) + PATH@[94; 98) + PATH_SEGMENT@[94; 98) + SELF_KW@[94; 98) "self" + DOT@[98; 99) "." + NAME_REF@[99; 105) + IDENT@[99; 105) "scopes" + DOT@[105; 106) "." + NAME_REF@[106; 110) + IDENT@[106; 110) "push" + ARG_LIST@[110; 155) + L_PAREN@[110; 111) "(" + RECORD_LIT@[111; 154) + PATH@[111; 120) + PATH_SEGMENT@[111; 120) + NAME_REF@[111; 120) + IDENT@[111; 120) "ScopeData" + WHITESPACE@[120; 121) " " + RECORD_FIELD_LIST@[121; 154) + L_CURLY@[121; 122) "{" + WHITESPACE@[122; 123) " " + RECORD_FIELD@[123; 135) + NAME_REF@[123; 129) + IDENT@[123; 129) "parent" + COLON@[129; 130) ":" + WHITESPACE@[130; 131) " " + PATH_EXPR@[131; 135) + PATH@[131; 135) + PATH_SEGMENT@[131; 135) + NAME_REF@[131; 135) + IDENT@[131; 135) "None" + COMMA@[135; 136) "," + WHITESPACE@[136; 137) " " + RECORD_FIELD@[137; 152) + NAME_REF@[137; 144) + IDENT@[137; 144) "entries" + COLON@[144; 145) ":" + WHITESPACE@[145; 146) " " + MACRO_CALL@[146; 152) + PATH@[146; 149) + PATH_SEGMENT@[146; 149) + NAME_REF@[146; 149) + IDENT@[146; 149) "vec" + EXCL@[149; 150) "!" + TOKEN_TREE@[150; 152) + L_BRACK@[150; 151) "[" + R_BRACK@[151; 152) "]" + WHITESPACE@[152; 153) " " + R_CURLY@[153; 154) "}" + R_PAREN@[154; 155) ")" + WHITESPACE@[155; 160) "\n " + R_CURLY@[160; 161) "}" + WHITESPACE@[161; 167) "\n\n " + FN_DEF@[167; 180) + FN_KW@[167; 169) "fn" + WHITESPACE@[169; 170) " " + NAME@[170; 180) + IDENT@[170; 180) "set_parent" + WHITESPACE@[180; 181) "\n" + R_CURLY@[181; 182) "}" + WHITESPACE@[182; 183) "\n" +error [34; 34): expected pattern +error [34; 34): expected COLON +error [34; 34): expected type +error [180; 180): expected function arguments +error [180; 180): expected a block diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt deleted file mode 100644 index 4b13a7236..000000000 --- a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.txt +++ /dev/null @@ -1,132 +0,0 @@ -SOURCE_FILE@[0; 183) - IMPL_DEF@[0; 182) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - PATH_TYPE@[5; 13) - PATH@[5; 13) - PATH_SEGMENT@[5; 13) - NAME_REF@[5; 13) - IDENT@[5; 13) "FnScopes" - WHITESPACE@[13; 14) " " - ITEM_LIST@[14; 182) - L_CURLY@[14; 15) "{" - WHITESPACE@[15; 20) "\n " - FN_DEF@[20; 161) - FN_KW@[20; 22) "fn" - WHITESPACE@[22; 23) " " - NAME@[23; 32) - IDENT@[23; 32) "new_scope" - PARAM_LIST@[32; 35) - L_PAREN@[32; 33) "(" - PARAM@[33; 34) - REF_PAT@[33; 34) - AMP@[33; 34) "&" - R_PAREN@[34; 35) ")" - WHITESPACE@[35; 36) " " - RET_TYPE@[36; 46) - THIN_ARROW@[36; 38) "->" - WHITESPACE@[38; 39) " " - PATH_TYPE@[39; 46) - PATH@[39; 46) - PATH_SEGMENT@[39; 46) - NAME_REF@[39; 46) - IDENT@[39; 46) "ScopeId" - WHITESPACE@[46; 47) " " - BLOCK_EXPR@[47; 161) - BLOCK@[47; 161) - L_CURLY@[47; 48) "{" - WHITESPACE@[48; 57) "\n " - LET_STMT@[57; 85) - LET_KW@[57; 60) "let" - WHITESPACE@[60; 61) " " - BIND_PAT@[61; 64) - NAME@[61; 64) - IDENT@[61; 64) "res" - WHITESPACE@[64; 65) " " - EQ@[65; 66) "=" - WHITESPACE@[66; 67) " " - METHOD_CALL_EXPR@[67; 84) - FIELD_EXPR@[67; 78) - PATH_EXPR@[67; 71) - PATH@[67; 71) - PATH_SEGMENT@[67; 71) - SELF_KW@[67; 71) "self" - DOT@[71; 72) "." - NAME_REF@[72; 78) - IDENT@[72; 78) "scopes" - DOT@[78; 79) "." - NAME_REF@[79; 82) - IDENT@[79; 82) "len" - ARG_LIST@[82; 84) - L_PAREN@[82; 83) "(" - R_PAREN@[83; 84) ")" - SEMI@[84; 85) ";" - WHITESPACE@[85; 94) "\n " - METHOD_CALL_EXPR@[94; 155) - FIELD_EXPR@[94; 105) - PATH_EXPR@[94; 98) - PATH@[94; 98) - PATH_SEGMENT@[94; 98) - SELF_KW@[94; 98) "self" - DOT@[98; 99) "." - NAME_REF@[99; 105) - IDENT@[99; 105) "scopes" - DOT@[105; 106) "." - NAME_REF@[106; 110) - IDENT@[106; 110) "push" - ARG_LIST@[110; 155) - L_PAREN@[110; 111) "(" - RECORD_LIT@[111; 154) - PATH@[111; 120) - PATH_SEGMENT@[111; 120) - NAME_REF@[111; 120) - IDENT@[111; 120) "ScopeData" - WHITESPACE@[120; 121) " " - RECORD_FIELD_LIST@[121; 154) - L_CURLY@[121; 122) "{" - WHITESPACE@[122; 123) " " - RECORD_FIELD@[123; 135) - NAME_REF@[123; 129) - IDENT@[123; 129) "parent" - COLON@[129; 130) ":" - WHITESPACE@[130; 131) " " - PATH_EXPR@[131; 135) - PATH@[131; 135) - PATH_SEGMENT@[131; 135) - NAME_REF@[131; 135) - IDENT@[131; 135) "None" - COMMA@[135; 136) "," - WHITESPACE@[136; 137) " " - RECORD_FIELD@[137; 152) - NAME_REF@[137; 144) - IDENT@[137; 144) "entries" - COLON@[144; 145) ":" - WHITESPACE@[145; 146) " " - MACRO_CALL@[146; 152) - PATH@[146; 149) - PATH_SEGMENT@[146; 149) - NAME_REF@[146; 149) - IDENT@[146; 149) "vec" - EXCL@[149; 150) "!" - TOKEN_TREE@[150; 152) - L_BRACK@[150; 151) "[" - R_BRACK@[151; 152) "]" - WHITESPACE@[152; 153) " " - R_CURLY@[153; 154) "}" - R_PAREN@[154; 155) ")" - WHITESPACE@[155; 160) "\n " - R_CURLY@[160; 161) "}" - WHITESPACE@[161; 167) "\n\n " - FN_DEF@[167; 180) - FN_KW@[167; 169) "fn" - WHITESPACE@[169; 170) " " - NAME@[170; 180) - IDENT@[170; 180) "set_parent" - WHITESPACE@[180; 181) "\n" - R_CURLY@[181; 182) "}" - WHITESPACE@[182; 183) "\n" -error [34; 34): expected pattern -error [34; 34): expected COLON -error [34; 34): expected type -error [180; 180): expected function arguments -error [180; 180): expected a block diff --git a/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast b/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast new file mode 100644 index 000000000..97e91a94f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast @@ -0,0 +1,107 @@ +SOURCE_FILE@[0; 139) + FN_DEF@[0; 138) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 138) + BLOCK@[9; 138) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 24) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + BIND_PAT@[19; 22) + NAME@[19; 22) + IDENT@[19; 22) "foo" + WHITESPACE@[22; 23) " " + EQ@[23; 24) "=" + WHITESPACE@[24; 29) "\n " + LET_STMT@[29; 41) + LET_KW@[29; 32) "let" + WHITESPACE@[32; 33) " " + BIND_PAT@[33; 36) + NAME@[33; 36) + IDENT@[33; 36) "bar" + WHITESPACE@[36; 37) " " + EQ@[37; 38) "=" + WHITESPACE@[38; 39) " " + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "1" + SEMI@[40; 41) ";" + WHITESPACE@[41; 46) "\n " + LET_STMT@[46; 49) + LET_KW@[46; 49) "let" + WHITESPACE@[49; 54) "\n " + LET_STMT@[54; 67) + LET_KW@[54; 57) "let" + WHITESPACE@[57; 58) " " + BIND_PAT@[58; 61) + NAME@[58; 61) + IDENT@[58; 61) "baz" + WHITESPACE@[61; 62) " " + EQ@[62; 63) "=" + WHITESPACE@[63; 64) " " + LITERAL@[64; 66) + INT_NUMBER@[64; 66) "92" + SEMI@[66; 67) ";" + WHITESPACE@[67; 72) "\n " + LET_STMT@[72; 75) + LET_KW@[72; 75) "let" + WHITESPACE@[75; 80) "\n " + EXPR_STMT@[80; 90) + IF_EXPR@[80; 90) + IF_KW@[80; 82) "if" + WHITESPACE@[82; 83) " " + CONDITION@[83; 87) + LITERAL@[83; 87) + TRUE_KW@[83; 87) "true" + WHITESPACE@[87; 88) " " + BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) + L_CURLY@[88; 89) "{" + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 95) "\n " + LET_STMT@[95; 98) + LET_KW@[95; 98) "let" + WHITESPACE@[98; 103) "\n " + EXPR_STMT@[103; 116) + WHILE_EXPR@[103; 116) + WHILE_KW@[103; 108) "while" + WHITESPACE@[108; 109) " " + CONDITION@[109; 113) + LITERAL@[109; 113) + TRUE_KW@[109; 113) "true" + WHITESPACE@[113; 114) " " + BLOCK_EXPR@[114; 116) + BLOCK@[114; 116) + L_CURLY@[114; 115) "{" + R_CURLY@[115; 116) "}" + WHITESPACE@[116; 121) "\n " + LET_STMT@[121; 124) + LET_KW@[121; 124) "let" + WHITESPACE@[124; 129) "\n " + LOOP_EXPR@[129; 136) + LOOP_KW@[129; 133) "loop" + WHITESPACE@[133; 134) " " + BLOCK_EXPR@[134; 136) + BLOCK@[134; 136) + L_CURLY@[134; 135) "{" + R_CURLY@[135; 136) "}" + WHITESPACE@[136; 137) "\n" + R_CURLY@[137; 138) "}" + WHITESPACE@[138; 139) "\n" +error [24; 24): expected expression +error [24; 24): expected SEMI +error [49; 49): expected pattern +error [49; 49): expected SEMI +error [75; 75): expected pattern +error [75; 75): expected SEMI +error [98; 98): expected pattern +error [98; 98): expected SEMI +error [124; 124): expected pattern +error [124; 124): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt b/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt deleted file mode 100644 index 97e91a94f..000000000 --- a/crates/ra_syntax/test_data/parser/err/0019_let_recover.txt +++ /dev/null @@ -1,107 +0,0 @@ -SOURCE_FILE@[0; 139) - FN_DEF@[0; 138) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 138) - BLOCK@[9; 138) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 24) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - BIND_PAT@[19; 22) - NAME@[19; 22) - IDENT@[19; 22) "foo" - WHITESPACE@[22; 23) " " - EQ@[23; 24) "=" - WHITESPACE@[24; 29) "\n " - LET_STMT@[29; 41) - LET_KW@[29; 32) "let" - WHITESPACE@[32; 33) " " - BIND_PAT@[33; 36) - NAME@[33; 36) - IDENT@[33; 36) "bar" - WHITESPACE@[36; 37) " " - EQ@[37; 38) "=" - WHITESPACE@[38; 39) " " - LITERAL@[39; 40) - INT_NUMBER@[39; 40) "1" - SEMI@[40; 41) ";" - WHITESPACE@[41; 46) "\n " - LET_STMT@[46; 49) - LET_KW@[46; 49) "let" - WHITESPACE@[49; 54) "\n " - LET_STMT@[54; 67) - LET_KW@[54; 57) "let" - WHITESPACE@[57; 58) " " - BIND_PAT@[58; 61) - NAME@[58; 61) - IDENT@[58; 61) "baz" - WHITESPACE@[61; 62) " " - EQ@[62; 63) "=" - WHITESPACE@[63; 64) " " - LITERAL@[64; 66) - INT_NUMBER@[64; 66) "92" - SEMI@[66; 67) ";" - WHITESPACE@[67; 72) "\n " - LET_STMT@[72; 75) - LET_KW@[72; 75) "let" - WHITESPACE@[75; 80) "\n " - EXPR_STMT@[80; 90) - IF_EXPR@[80; 90) - IF_KW@[80; 82) "if" - WHITESPACE@[82; 83) " " - CONDITION@[83; 87) - LITERAL@[83; 87) - TRUE_KW@[83; 87) "true" - WHITESPACE@[87; 88) " " - BLOCK_EXPR@[88; 90) - BLOCK@[88; 90) - L_CURLY@[88; 89) "{" - R_CURLY@[89; 90) "}" - WHITESPACE@[90; 95) "\n " - LET_STMT@[95; 98) - LET_KW@[95; 98) "let" - WHITESPACE@[98; 103) "\n " - EXPR_STMT@[103; 116) - WHILE_EXPR@[103; 116) - WHILE_KW@[103; 108) "while" - WHITESPACE@[108; 109) " " - CONDITION@[109; 113) - LITERAL@[109; 113) - TRUE_KW@[109; 113) "true" - WHITESPACE@[113; 114) " " - BLOCK_EXPR@[114; 116) - BLOCK@[114; 116) - L_CURLY@[114; 115) "{" - R_CURLY@[115; 116) "}" - WHITESPACE@[116; 121) "\n " - LET_STMT@[121; 124) - LET_KW@[121; 124) "let" - WHITESPACE@[124; 129) "\n " - LOOP_EXPR@[129; 136) - LOOP_KW@[129; 133) "loop" - WHITESPACE@[133; 134) " " - BLOCK_EXPR@[134; 136) - BLOCK@[134; 136) - L_CURLY@[134; 135) "{" - R_CURLY@[135; 136) "}" - WHITESPACE@[136; 137) "\n" - R_CURLY@[137; 138) "}" - WHITESPACE@[138; 139) "\n" -error [24; 24): expected expression -error [24; 24): expected SEMI -error [49; 49): expected pattern -error [49; 49): expected SEMI -error [75; 75): expected pattern -error [75; 75): expected SEMI -error [98; 98): expected pattern -error [98; 98): expected SEMI -error [124; 124): expected pattern -error [124; 124): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast new file mode 100644 index 000000000..c11dc23f5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 16) + FN_DEF@[0; 2) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 4) "\n\n" + FN_DEF@[4; 15) + FN_KW@[4; 6) "fn" + WHITESPACE@[6; 7) " " + NAME@[7; 10) + IDENT@[7; 10) "foo" + PARAM_LIST@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + WHITESPACE@[12; 13) " " + BLOCK_EXPR@[13; 15) + BLOCK@[13; 15) + L_CURLY@[13; 14) "{" + R_CURLY@[14; 15) "}" + WHITESPACE@[15; 16) "\n" +error [2; 2): expected a name +error [2; 2): expected function arguments +error [2; 2): expected a block diff --git a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt deleted file mode 100644 index c11dc23f5..000000000 --- a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 16) - FN_DEF@[0; 2) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 4) "\n\n" - FN_DEF@[4; 15) - FN_KW@[4; 6) "fn" - WHITESPACE@[6; 7) " " - NAME@[7; 10) - IDENT@[7; 10) "foo" - PARAM_LIST@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - WHITESPACE@[12; 13) " " - BLOCK_EXPR@[13; 15) - BLOCK@[13; 15) - L_CURLY@[13; 14) "{" - R_CURLY@[14; 15) "}" - WHITESPACE@[15; 16) "\n" -error [2; 2): expected a name -error [2; 2): expected function arguments -error [2; 2): expected a block diff --git a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast new file mode 100644 index 000000000..ae04122d8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast @@ -0,0 +1,35 @@ +SOURCE_FILE@[0; 22) + FN_DEF@[0; 21) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 17) + L_PAREN@[6; 7) "(" + PARAM@[7; 13) + BIND_PAT@[7; 8) + NAME@[7; 8) + IDENT@[7; 8) "x" + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + COMMA@[13; 14) "," + WHITESPACE@[14; 15) " " + PARAM@[15; 16) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "y" + R_PAREN@[16; 17) ")" + WHITESPACE@[17; 18) " " + BLOCK_EXPR@[18; 21) + BLOCK@[18; 21) + L_CURLY@[18; 19) "{" + WHITESPACE@[19; 20) "\n" + R_CURLY@[20; 21) "}" + WHITESPACE@[21; 22) "\n" +error [16; 16): expected COLON +error [16; 16): expected type diff --git a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt deleted file mode 100644 index ae04122d8..000000000 --- a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.txt +++ /dev/null @@ -1,35 +0,0 @@ -SOURCE_FILE@[0; 22) - FN_DEF@[0; 21) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 17) - L_PAREN@[6; 7) "(" - PARAM@[7; 13) - BIND_PAT@[7; 8) - NAME@[7; 8) - IDENT@[7; 8) "x" - COLON@[8; 9) ":" - WHITESPACE@[9; 10) " " - PATH_TYPE@[10; 13) - PATH@[10; 13) - PATH_SEGMENT@[10; 13) - NAME_REF@[10; 13) - IDENT@[10; 13) "i32" - COMMA@[13; 14) "," - WHITESPACE@[14; 15) " " - PARAM@[15; 16) - BIND_PAT@[15; 16) - NAME@[15; 16) - IDENT@[15; 16) "y" - R_PAREN@[16; 17) ")" - WHITESPACE@[17; 18) " " - BLOCK_EXPR@[18; 21) - BLOCK@[18; 21) - L_CURLY@[18; 19) "{" - WHITESPACE@[19; 20) "\n" - R_CURLY@[20; 21) "}" - WHITESPACE@[21; 22) "\n" -error [16; 16): expected COLON -error [16; 16): expected type diff --git a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast new file mode 100644 index 000000000..9f50c85e5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast @@ -0,0 +1,183 @@ +SOURCE_FILE@[0; 112) + FN_DEF@[0; 33) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 4) + IDENT@[3; 4) "a" + PARAM_LIST@[4; 6) + L_PAREN@[4; 5) "(" + R_PAREN@[5; 6) ")" + WHITESPACE@[6; 7) " " + BLOCK_EXPR@[7; 33) + BLOCK@[7; 33) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 9) " " + EXPR_STMT@[9; 17) + ARRAY_EXPR@[9; 17) + L_BRACK@[9; 10) "[" + LITERAL@[10; 11) + INT_NUMBER@[10; 11) "1" + COMMA@[11; 12) "," + WHITESPACE@[12; 13) " " + LITERAL@[13; 14) + INT_NUMBER@[13; 14) "2" + COMMA@[14; 15) "," + WHITESPACE@[15; 16) " " + ERROR@[16; 17) + AT@[16; 17) "@" + EXPR_STMT@[17; 18) + ERROR@[17; 18) + COMMA@[17; 18) "," + WHITESPACE@[18; 19) " " + STRUCT_DEF@[19; 26) + STRUCT_KW@[19; 25) "struct" + ERROR@[25; 26) + COMMA@[25; 26) "," + WHITESPACE@[26; 27) " " + LET_STMT@[27; 31) + LET_KW@[27; 30) "let" + ERROR@[30; 31) + R_BRACK@[30; 31) "]" + WHITESPACE@[31; 32) " " + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" + FN_DEF@[34; 68) + FN_KW@[34; 36) "fn" + WHITESPACE@[36; 37) " " + NAME@[37; 38) + IDENT@[37; 38) "b" + PARAM_LIST@[38; 40) + L_PAREN@[38; 39) "(" + R_PAREN@[39; 40) ")" + WHITESPACE@[40; 41) " " + BLOCK_EXPR@[41; 68) + BLOCK@[41; 68) + L_CURLY@[41; 42) "{" + WHITESPACE@[42; 43) " " + EXPR_STMT@[43; 54) + CALL_EXPR@[43; 54) + PATH_EXPR@[43; 46) + PATH@[43; 46) + PATH_SEGMENT@[43; 46) + NAME_REF@[43; 46) + IDENT@[43; 46) "foo" + ARG_LIST@[46; 54) + L_PAREN@[46; 47) "(" + LITERAL@[47; 48) + INT_NUMBER@[47; 48) "1" + COMMA@[48; 49) "," + WHITESPACE@[49; 50) " " + LITERAL@[50; 51) + INT_NUMBER@[50; 51) "2" + COMMA@[51; 52) "," + WHITESPACE@[52; 53) " " + ERROR@[53; 54) + AT@[53; 54) "@" + EXPR_STMT@[54; 55) + ERROR@[54; 55) + COMMA@[54; 55) "," + WHITESPACE@[55; 56) " " + IMPL_DEF@[56; 60) + IMPL_KW@[56; 60) "impl" + EXPR_STMT@[60; 61) + ERROR@[60; 61) + COMMA@[60; 61) "," + WHITESPACE@[61; 62) " " + LET_STMT@[62; 65) + LET_KW@[62; 65) "let" + ERROR@[65; 66) + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " + R_CURLY@[67; 68) "}" + WHITESPACE@[68; 69) "\n" + FN_DEF@[69; 111) + FN_KW@[69; 71) "fn" + WHITESPACE@[71; 72) " " + NAME@[72; 73) + IDENT@[72; 73) "c" + PARAM_LIST@[73; 75) + L_PAREN@[73; 74) "(" + R_PAREN@[74; 75) ")" + WHITESPACE@[75; 76) " " + BLOCK_EXPR@[76; 111) + BLOCK@[76; 111) + L_CURLY@[76; 77) "{" + WHITESPACE@[77; 78) " " + EXPR_STMT@[78; 93) + METHOD_CALL_EXPR@[78; 93) + PATH_EXPR@[78; 81) + PATH@[78; 81) + PATH_SEGMENT@[78; 81) + NAME_REF@[78; 81) + IDENT@[78; 81) "foo" + DOT@[81; 82) "." + NAME_REF@[82; 85) + IDENT@[82; 85) "bar" + ARG_LIST@[85; 93) + L_PAREN@[85; 86) "(" + LITERAL@[86; 87) + INT_NUMBER@[86; 87) "1" + COMMA@[87; 88) "," + WHITESPACE@[88; 89) " " + LITERAL@[89; 90) + INT_NUMBER@[89; 90) "2" + COMMA@[90; 91) "," + WHITESPACE@[91; 92) " " + ERROR@[92; 93) + AT@[92; 93) "@" + EXPR_STMT@[93; 94) + ERROR@[93; 94) + COMMA@[93; 94) "," + WHITESPACE@[94; 95) " " + EXPR_STMT@[95; 96) + ERROR@[95; 96) + R_BRACK@[95; 96) "]" + EXPR_STMT@[96; 97) + ERROR@[96; 97) + COMMA@[96; 97) "," + WHITESPACE@[97; 98) " " + TRAIT_DEF@[98; 104) + TRAIT_KW@[98; 103) "trait" + ERROR@[103; 104) + COMMA@[103; 104) "," + WHITESPACE@[104; 105) " " + LET_STMT@[105; 108) + LET_KW@[105; 108) "let" + ERROR@[108; 109) + R_PAREN@[108; 109) ")" + WHITESPACE@[109; 110) " " + R_CURLY@[110; 111) "}" + WHITESPACE@[111; 112) "\n" +error [16; 16): expected expression +error [17; 17): expected R_BRACK +error [17; 17): expected SEMI +error [17; 17): expected expression +error [18; 18): expected SEMI +error [25; 25): expected a name +error [26; 26): expected `;`, `{`, or `(` +error [30; 30): expected pattern +error [31; 31): expected SEMI +error [53; 53): expected expression +error [54; 54): expected SEMI +error [54; 54): expected expression +error [55; 55): expected SEMI +error [60; 60): expected type +error [60; 60): expected `{` +error [60; 60): expected expression +error [61; 61): expected SEMI +error [65; 65): expected pattern +error [65; 65): expected SEMI +error [65; 65): expected expression +error [92; 92): expected expression +error [93; 93): expected SEMI +error [93; 93): expected expression +error [94; 94): expected SEMI +error [95; 95): expected expression +error [96; 96): expected SEMI +error [96; 96): expected expression +error [97; 97): expected SEMI +error [103; 103): expected a name +error [104; 104): expected `{` +error [108; 108): expected pattern +error [108; 108): expected SEMI +error [108; 108): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt deleted file mode 100644 index 9f50c85e5..000000000 --- a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.txt +++ /dev/null @@ -1,183 +0,0 @@ -SOURCE_FILE@[0; 112) - FN_DEF@[0; 33) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 4) - IDENT@[3; 4) "a" - PARAM_LIST@[4; 6) - L_PAREN@[4; 5) "(" - R_PAREN@[5; 6) ")" - WHITESPACE@[6; 7) " " - BLOCK_EXPR@[7; 33) - BLOCK@[7; 33) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 9) " " - EXPR_STMT@[9; 17) - ARRAY_EXPR@[9; 17) - L_BRACK@[9; 10) "[" - LITERAL@[10; 11) - INT_NUMBER@[10; 11) "1" - COMMA@[11; 12) "," - WHITESPACE@[12; 13) " " - LITERAL@[13; 14) - INT_NUMBER@[13; 14) "2" - COMMA@[14; 15) "," - WHITESPACE@[15; 16) " " - ERROR@[16; 17) - AT@[16; 17) "@" - EXPR_STMT@[17; 18) - ERROR@[17; 18) - COMMA@[17; 18) "," - WHITESPACE@[18; 19) " " - STRUCT_DEF@[19; 26) - STRUCT_KW@[19; 25) "struct" - ERROR@[25; 26) - COMMA@[25; 26) "," - WHITESPACE@[26; 27) " " - LET_STMT@[27; 31) - LET_KW@[27; 30) "let" - ERROR@[30; 31) - R_BRACK@[30; 31) "]" - WHITESPACE@[31; 32) " " - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 34) "\n" - FN_DEF@[34; 68) - FN_KW@[34; 36) "fn" - WHITESPACE@[36; 37) " " - NAME@[37; 38) - IDENT@[37; 38) "b" - PARAM_LIST@[38; 40) - L_PAREN@[38; 39) "(" - R_PAREN@[39; 40) ")" - WHITESPACE@[40; 41) " " - BLOCK_EXPR@[41; 68) - BLOCK@[41; 68) - L_CURLY@[41; 42) "{" - WHITESPACE@[42; 43) " " - EXPR_STMT@[43; 54) - CALL_EXPR@[43; 54) - PATH_EXPR@[43; 46) - PATH@[43; 46) - PATH_SEGMENT@[43; 46) - NAME_REF@[43; 46) - IDENT@[43; 46) "foo" - ARG_LIST@[46; 54) - L_PAREN@[46; 47) "(" - LITERAL@[47; 48) - INT_NUMBER@[47; 48) "1" - COMMA@[48; 49) "," - WHITESPACE@[49; 50) " " - LITERAL@[50; 51) - INT_NUMBER@[50; 51) "2" - COMMA@[51; 52) "," - WHITESPACE@[52; 53) " " - ERROR@[53; 54) - AT@[53; 54) "@" - EXPR_STMT@[54; 55) - ERROR@[54; 55) - COMMA@[54; 55) "," - WHITESPACE@[55; 56) " " - IMPL_DEF@[56; 60) - IMPL_KW@[56; 60) "impl" - EXPR_STMT@[60; 61) - ERROR@[60; 61) - COMMA@[60; 61) "," - WHITESPACE@[61; 62) " " - LET_STMT@[62; 65) - LET_KW@[62; 65) "let" - ERROR@[65; 66) - R_PAREN@[65; 66) ")" - WHITESPACE@[66; 67) " " - R_CURLY@[67; 68) "}" - WHITESPACE@[68; 69) "\n" - FN_DEF@[69; 111) - FN_KW@[69; 71) "fn" - WHITESPACE@[71; 72) " " - NAME@[72; 73) - IDENT@[72; 73) "c" - PARAM_LIST@[73; 75) - L_PAREN@[73; 74) "(" - R_PAREN@[74; 75) ")" - WHITESPACE@[75; 76) " " - BLOCK_EXPR@[76; 111) - BLOCK@[76; 111) - L_CURLY@[76; 77) "{" - WHITESPACE@[77; 78) " " - EXPR_STMT@[78; 93) - METHOD_CALL_EXPR@[78; 93) - PATH_EXPR@[78; 81) - PATH@[78; 81) - PATH_SEGMENT@[78; 81) - NAME_REF@[78; 81) - IDENT@[78; 81) "foo" - DOT@[81; 82) "." - NAME_REF@[82; 85) - IDENT@[82; 85) "bar" - ARG_LIST@[85; 93) - L_PAREN@[85; 86) "(" - LITERAL@[86; 87) - INT_NUMBER@[86; 87) "1" - COMMA@[87; 88) "," - WHITESPACE@[88; 89) " " - LITERAL@[89; 90) - INT_NUMBER@[89; 90) "2" - COMMA@[90; 91) "," - WHITESPACE@[91; 92) " " - ERROR@[92; 93) - AT@[92; 93) "@" - EXPR_STMT@[93; 94) - ERROR@[93; 94) - COMMA@[93; 94) "," - WHITESPACE@[94; 95) " " - EXPR_STMT@[95; 96) - ERROR@[95; 96) - R_BRACK@[95; 96) "]" - EXPR_STMT@[96; 97) - ERROR@[96; 97) - COMMA@[96; 97) "," - WHITESPACE@[97; 98) " " - TRAIT_DEF@[98; 104) - TRAIT_KW@[98; 103) "trait" - ERROR@[103; 104) - COMMA@[103; 104) "," - WHITESPACE@[104; 105) " " - LET_STMT@[105; 108) - LET_KW@[105; 108) "let" - ERROR@[108; 109) - R_PAREN@[108; 109) ")" - WHITESPACE@[109; 110) " " - R_CURLY@[110; 111) "}" - WHITESPACE@[111; 112) "\n" -error [16; 16): expected expression -error [17; 17): expected R_BRACK -error [17; 17): expected SEMI -error [17; 17): expected expression -error [18; 18): expected SEMI -error [25; 25): expected a name -error [26; 26): expected `;`, `{`, or `(` -error [30; 30): expected pattern -error [31; 31): expected SEMI -error [53; 53): expected expression -error [54; 54): expected SEMI -error [54; 54): expected expression -error [55; 55): expected SEMI -error [60; 60): expected type -error [60; 60): expected `{` -error [60; 60): expected expression -error [61; 61): expected SEMI -error [65; 65): expected pattern -error [65; 65): expected SEMI -error [65; 65): expected expression -error [92; 92): expected expression -error [93; 93): expected SEMI -error [93; 93): expected expression -error [94; 94): expected SEMI -error [95; 95): expected expression -error [96; 96): expected SEMI -error [96; 96): expected expression -error [97; 97): expected SEMI -error [103; 103): expected a name -error [104; 104): expected `{` -error [108; 108): expected pattern -error [108; 108): expected SEMI -error [108; 108): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast new file mode 100644 index 000000000..775e4b0da --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast @@ -0,0 +1,44 @@ +SOURCE_FILE@[0; 94) + FN_DEF@[0; 55) + 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; 55) + BLOCK@[10; 55) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + MACRO_CALL@[16; 49) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "foo" + EXCL@[19; 20) "!" + WHITESPACE@[20; 21) " " + TOKEN_TREE@[21; 49) + L_PAREN@[21; 22) "(" + WHITESPACE@[22; 31) "\n " + IDENT@[31; 34) "bar" + COMMA@[34; 35) "," + WHITESPACE@[35; 36) " " + STRING@[36; 41) "\"baz\"" + COMMA@[41; 42) "," + WHITESPACE@[42; 43) " " + INT_NUMBER@[43; 44) "1" + COMMA@[44; 45) "," + WHITESPACE@[45; 46) " " + FLOAT_NUMBER@[46; 49) "2.0" + WHITESPACE@[49; 54) "\n " + R_CURLY@[54; 55) "}" + WHITESPACE@[55; 56) " " + COMMENT@[56; 91) "//~ ERROR incorrect c ..." + WHITESPACE@[91; 92) "\n" + ERROR@[92; 93) + R_CURLY@[92; 93) "}" + WHITESPACE@[93; 94) "\n" +error [49; 49): unmatched `}` +error [92; 92): unmatched `}` diff --git a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt deleted file mode 100644 index 775e4b0da..000000000 --- a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.txt +++ /dev/null @@ -1,44 +0,0 @@ -SOURCE_FILE@[0; 94) - FN_DEF@[0; 55) - 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; 55) - BLOCK@[10; 55) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - MACRO_CALL@[16; 49) - PATH@[16; 19) - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "foo" - EXCL@[19; 20) "!" - WHITESPACE@[20; 21) " " - TOKEN_TREE@[21; 49) - L_PAREN@[21; 22) "(" - WHITESPACE@[22; 31) "\n " - IDENT@[31; 34) "bar" - COMMA@[34; 35) "," - WHITESPACE@[35; 36) " " - STRING@[36; 41) "\"baz\"" - COMMA@[41; 42) "," - WHITESPACE@[42; 43) " " - INT_NUMBER@[43; 44) "1" - COMMA@[44; 45) "," - WHITESPACE@[45; 46) " " - FLOAT_NUMBER@[46; 49) "2.0" - WHITESPACE@[49; 54) "\n " - R_CURLY@[54; 55) "}" - WHITESPACE@[55; 56) " " - COMMENT@[56; 91) "//~ ERROR incorrect c ..." - WHITESPACE@[91; 92) "\n" - ERROR@[92; 93) - R_CURLY@[92; 93) "}" - WHITESPACE@[93; 94) "\n" -error [49; 49): unmatched `}` -error [92; 92): unmatched `}` diff --git a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast new file mode 100644 index 000000000..c5c8a29ba --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast @@ -0,0 +1,321 @@ +SOURCE_FILE@[0; 240) + FN_DEF@[0; 53) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 4) + IDENT@[3; 4) "f" + TYPE_PARAM_LIST@[4; 48) + L_ANGLE@[4; 5) "<" + TYPE_PARAM@[5; 47) + NAME@[5; 6) + IDENT@[5; 6) "T" + COLON@[6; 7) ":" + WHITESPACE@[7; 8) " " + TYPE_BOUND_LIST@[8; 47) + TYPE_BOUND@[8; 14) + L_PAREN@[8; 9) "(" + PATH_TYPE@[9; 13) + PATH@[9; 13) + PATH_SEGMENT@[9; 13) + NAME_REF@[9; 13) + IDENT@[9; 13) "Copy" + R_PAREN@[13; 14) ")" + WHITESPACE@[14; 15) " " + PLUS@[15; 16) "+" + WHITESPACE@[16; 17) " " + TYPE_BOUND@[17; 25) + L_PAREN@[17; 18) "(" + QUESTION@[18; 19) "?" + PATH_TYPE@[19; 24) + PATH@[19; 24) + PATH_SEGMENT@[19; 24) + NAME_REF@[19; 24) + IDENT@[19; 24) "Sized" + R_PAREN@[24; 25) ")" + WHITESPACE@[25; 26) " " + PLUS@[26; 27) "+" + WHITESPACE@[27; 28) " " + TYPE_BOUND@[28; 47) + L_PAREN@[28; 29) "(" + FOR_TYPE@[29; 46) + FOR_KW@[29; 32) "for" + TYPE_PARAM_LIST@[32; 36) + L_ANGLE@[32; 33) "<" + LIFETIME_PARAM@[33; 35) + LIFETIME@[33; 35) "\'a" + R_ANGLE@[35; 36) ">" + WHITESPACE@[36; 37) " " + PATH_TYPE@[37; 46) + PATH@[37; 46) + PATH_SEGMENT@[37; 46) + NAME_REF@[37; 42) + IDENT@[37; 42) "Trait" + TYPE_ARG_LIST@[42; 46) + L_ANGLE@[42; 43) "<" + LIFETIME_ARG@[43; 45) + LIFETIME@[43; 45) "\'a" + R_ANGLE@[45; 46) ">" + R_PAREN@[46; 47) ")" + R_ANGLE@[47; 48) ">" + PARAM_LIST@[48; 50) + L_PAREN@[48; 49) "(" + R_PAREN@[49; 50) ")" + WHITESPACE@[50; 51) " " + BLOCK_EXPR@[51; 53) + BLOCK@[51; 53) + L_CURLY@[51; 52) "{" + R_CURLY@[52; 53) "}" + WHITESPACE@[53; 55) "\n\n" + FN_DEF@[55; 239) + FN_KW@[55; 57) "fn" + WHITESPACE@[57; 58) " " + NAME@[58; 62) + IDENT@[58; 62) "main" + PARAM_LIST@[62; 64) + L_PAREN@[62; 63) "(" + R_PAREN@[63; 64) ")" + WHITESPACE@[64; 65) " " + BLOCK_EXPR@[65; 239) + BLOCK@[65; 239) + L_CURLY@[65; 66) "{" + WHITESPACE@[66; 71) "\n " + LET_STMT@[71; 121) + LET_KW@[71; 74) "let" + WHITESPACE@[74; 75) " " + PLACEHOLDER_PAT@[75; 76) + UNDERSCORE@[75; 76) "_" + COLON@[76; 77) ":" + WHITESPACE@[77; 78) " " + DYN_TRAIT_TYPE@[78; 121) + TYPE_BOUND_LIST@[78; 121) + TYPE_BOUND@[78; 88) + PATH_TYPE@[78; 88) + PATH@[78; 88) + PATH_SEGMENT@[78; 88) + NAME_REF@[78; 81) + IDENT@[78; 81) "Box" + TYPE_ARG_LIST@[81; 88) + L_ANGLE@[81; 82) "<" + TYPE_ARG@[82; 88) + PAREN_TYPE@[82; 88) + L_PAREN@[82; 83) "(" + PATH_TYPE@[83; 87) + PATH@[83; 87) + PATH_SEGMENT@[83; 87) + NAME_REF@[83; 87) + IDENT@[83; 87) "Copy" + R_PAREN@[87; 88) ")" + WHITESPACE@[88; 89) " " + PLUS@[89; 90) "+" + WHITESPACE@[90; 91) " " + TYPE_BOUND@[91; 99) + L_PAREN@[91; 92) "(" + QUESTION@[92; 93) "?" + PATH_TYPE@[93; 98) + PATH@[93; 98) + PATH_SEGMENT@[93; 98) + NAME_REF@[93; 98) + IDENT@[93; 98) "Sized" + R_PAREN@[98; 99) ")" + WHITESPACE@[99; 100) " " + PLUS@[100; 101) "+" + WHITESPACE@[101; 102) " " + TYPE_BOUND@[102; 121) + L_PAREN@[102; 103) "(" + FOR_TYPE@[103; 120) + FOR_KW@[103; 106) "for" + TYPE_PARAM_LIST@[106; 110) + L_ANGLE@[106; 107) "<" + LIFETIME_PARAM@[107; 109) + LIFETIME@[107; 109) "\'a" + R_ANGLE@[109; 110) ">" + WHITESPACE@[110; 111) " " + PATH_TYPE@[111; 120) + PATH@[111; 120) + PATH_SEGMENT@[111; 120) + NAME_REF@[111; 116) + IDENT@[111; 116) "Trait" + TYPE_ARG_LIST@[116; 120) + L_ANGLE@[116; 117) "<" + LIFETIME_ARG@[117; 119) + LIFETIME@[117; 119) "\'a" + R_ANGLE@[119; 120) ">" + R_PAREN@[120; 121) ")" + EXPR_STMT@[121; 123) + ERROR@[121; 122) + R_ANGLE@[121; 122) ">" + SEMI@[122; 123) ";" + WHITESPACE@[123; 128) "\n " + LET_STMT@[128; 141) + LET_KW@[128; 131) "let" + WHITESPACE@[131; 132) " " + PLACEHOLDER_PAT@[132; 133) + UNDERSCORE@[132; 133) "_" + COLON@[133; 134) ":" + WHITESPACE@[134; 135) " " + PATH_TYPE@[135; 141) + PATH@[135; 141) + PATH_SEGMENT@[135; 141) + NAME_REF@[135; 138) + IDENT@[135; 138) "Box" + TYPE_ARG_LIST@[138; 141) + L_ANGLE@[138; 139) "<" + TYPE_ARG@[139; 141) + PAREN_TYPE@[139; 141) + L_PAREN@[139; 140) "(" + ERROR@[140; 141) + QUESTION@[140; 141) "?" + EXPR_STMT@[141; 146) + PATH_EXPR@[141; 146) + PATH@[141; 146) + PATH_SEGMENT@[141; 146) + NAME_REF@[141; 146) + IDENT@[141; 146) "Sized" + EXPR_STMT@[146; 147) + ERROR@[146; 147) + R_PAREN@[146; 147) ")" + WHITESPACE@[147; 148) " " + EXPR_STMT@[148; 149) + ERROR@[148; 149) + PLUS@[148; 149) "+" + WHITESPACE@[149; 150) " " + EXPR_STMT@[150; 180) + TUPLE_EXPR@[150; 180) + L_PAREN@[150; 151) "(" + BIN_EXPR@[151; 180) + BIN_EXPR@[151; 178) + BIN_EXPR@[151; 169) + BIN_EXPR@[151; 167) + BIN_EXPR@[151; 164) + FOR_EXPR@[151; 157) + FOR_KW@[151; 154) "for" + ERROR@[154; 155) + L_ANGLE@[154; 155) "<" + ERROR@[155; 157) + LIFETIME@[155; 157) "\'a" + R_ANGLE@[157; 158) ">" + WHITESPACE@[158; 159) " " + PATH_EXPR@[159; 164) + PATH@[159; 164) + PATH_SEGMENT@[159; 164) + NAME_REF@[159; 164) + IDENT@[159; 164) "Trait" + L_ANGLE@[164; 165) "<" + ERROR@[165; 167) + LIFETIME@[165; 167) "\'a" + R_ANGLE@[167; 168) ">" + ERROR@[168; 169) + R_PAREN@[168; 169) ")" + WHITESPACE@[169; 170) " " + PLUS@[170; 171) "+" + WHITESPACE@[171; 172) " " + PAREN_EXPR@[172; 178) + L_PAREN@[172; 173) "(" + PATH_EXPR@[173; 177) + PATH@[173; 177) + PATH_SEGMENT@[173; 177) + NAME_REF@[173; 177) + IDENT@[173; 177) "Copy" + R_PAREN@[177; 178) ")" + R_ANGLE@[178; 179) ">" + ERROR@[179; 180) + SEMI@[179; 180) ";" + WHITESPACE@[180; 185) "\n " + LET_STMT@[185; 235) + LET_KW@[185; 188) "let" + WHITESPACE@[188; 189) " " + PLACEHOLDER_PAT@[189; 190) + UNDERSCORE@[189; 190) "_" + COLON@[190; 191) ":" + WHITESPACE@[191; 192) " " + DYN_TRAIT_TYPE@[192; 235) + TYPE_BOUND_LIST@[192; 235) + TYPE_BOUND@[192; 215) + PATH_TYPE@[192; 215) + PATH@[192; 215) + PATH_SEGMENT@[192; 215) + NAME_REF@[192; 195) + IDENT@[192; 195) "Box" + TYPE_ARG_LIST@[195; 215) + L_ANGLE@[195; 196) "<" + TYPE_ARG@[196; 215) + PAREN_TYPE@[196; 215) + L_PAREN@[196; 197) "(" + FOR_TYPE@[197; 214) + FOR_KW@[197; 200) "for" + TYPE_PARAM_LIST@[200; 204) + L_ANGLE@[200; 201) "<" + LIFETIME_PARAM@[201; 203) + LIFETIME@[201; 203) "\'a" + R_ANGLE@[203; 204) ">" + WHITESPACE@[204; 205) " " + PATH_TYPE@[205; 214) + PATH@[205; 214) + PATH_SEGMENT@[205; 214) + NAME_REF@[205; 210) + IDENT@[205; 210) "Trait" + TYPE_ARG_LIST@[210; 214) + L_ANGLE@[210; 211) "<" + LIFETIME_ARG@[211; 213) + LIFETIME@[211; 213) "\'a" + R_ANGLE@[213; 214) ">" + R_PAREN@[214; 215) ")" + WHITESPACE@[215; 216) " " + PLUS@[216; 217) "+" + WHITESPACE@[217; 218) " " + TYPE_BOUND@[218; 224) + L_PAREN@[218; 219) "(" + PATH_TYPE@[219; 223) + PATH@[219; 223) + PATH_SEGMENT@[219; 223) + NAME_REF@[219; 223) + IDENT@[219; 223) "Copy" + R_PAREN@[223; 224) ")" + WHITESPACE@[224; 225) " " + PLUS@[225; 226) "+" + WHITESPACE@[226; 227) " " + TYPE_BOUND@[227; 235) + L_PAREN@[227; 228) "(" + QUESTION@[228; 229) "?" + PATH_TYPE@[229; 234) + PATH@[229; 234) + PATH_SEGMENT@[229; 234) + NAME_REF@[229; 234) + IDENT@[229; 234) "Sized" + R_PAREN@[234; 235) ")" + EXPR_STMT@[235; 237) + ERROR@[235; 236) + R_ANGLE@[235; 236) ">" + SEMI@[236; 237) ";" + WHITESPACE@[237; 238) "\n" + R_CURLY@[238; 239) "}" + WHITESPACE@[239; 240) "\n" +error [88; 88): expected COMMA +error [88; 88): expected R_ANGLE +error [121; 121): expected SEMI +error [121; 121): expected expression +error [140; 140): expected type +error [141; 141): expected R_PAREN +error [141; 141): expected COMMA +error [141; 141): expected R_ANGLE +error [141; 141): expected SEMI +error [146; 146): expected SEMI +error [146; 146): expected expression +error [147; 147): expected SEMI +error [148; 148): expected expression +error [149; 149): expected SEMI +error [154; 154): expected pattern +error [155; 155): expected IN_KW +error [155; 155): expected expression +error [157; 157): expected a block +error [165; 165): expected expression +error [168; 168): expected expression +error [179; 179): expected expression +error [180; 180): expected COMMA +error [180; 180): expected expression +error [180; 180): expected R_PAREN +error [180; 180): expected SEMI +error [215; 215): expected COMMA +error [215; 215): expected R_ANGLE +error [235; 235): expected SEMI +error [235; 235): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt deleted file mode 100644 index c5c8a29ba..000000000 --- a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.txt +++ /dev/null @@ -1,321 +0,0 @@ -SOURCE_FILE@[0; 240) - FN_DEF@[0; 53) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 4) - IDENT@[3; 4) "f" - TYPE_PARAM_LIST@[4; 48) - L_ANGLE@[4; 5) "<" - TYPE_PARAM@[5; 47) - NAME@[5; 6) - IDENT@[5; 6) "T" - COLON@[6; 7) ":" - WHITESPACE@[7; 8) " " - TYPE_BOUND_LIST@[8; 47) - TYPE_BOUND@[8; 14) - L_PAREN@[8; 9) "(" - PATH_TYPE@[9; 13) - PATH@[9; 13) - PATH_SEGMENT@[9; 13) - NAME_REF@[9; 13) - IDENT@[9; 13) "Copy" - R_PAREN@[13; 14) ")" - WHITESPACE@[14; 15) " " - PLUS@[15; 16) "+" - WHITESPACE@[16; 17) " " - TYPE_BOUND@[17; 25) - L_PAREN@[17; 18) "(" - QUESTION@[18; 19) "?" - PATH_TYPE@[19; 24) - PATH@[19; 24) - PATH_SEGMENT@[19; 24) - NAME_REF@[19; 24) - IDENT@[19; 24) "Sized" - R_PAREN@[24; 25) ")" - WHITESPACE@[25; 26) " " - PLUS@[26; 27) "+" - WHITESPACE@[27; 28) " " - TYPE_BOUND@[28; 47) - L_PAREN@[28; 29) "(" - FOR_TYPE@[29; 46) - FOR_KW@[29; 32) "for" - TYPE_PARAM_LIST@[32; 36) - L_ANGLE@[32; 33) "<" - LIFETIME_PARAM@[33; 35) - LIFETIME@[33; 35) "\'a" - R_ANGLE@[35; 36) ">" - WHITESPACE@[36; 37) " " - PATH_TYPE@[37; 46) - PATH@[37; 46) - PATH_SEGMENT@[37; 46) - NAME_REF@[37; 42) - IDENT@[37; 42) "Trait" - TYPE_ARG_LIST@[42; 46) - L_ANGLE@[42; 43) "<" - LIFETIME_ARG@[43; 45) - LIFETIME@[43; 45) "\'a" - R_ANGLE@[45; 46) ">" - R_PAREN@[46; 47) ")" - R_ANGLE@[47; 48) ">" - PARAM_LIST@[48; 50) - L_PAREN@[48; 49) "(" - R_PAREN@[49; 50) ")" - WHITESPACE@[50; 51) " " - BLOCK_EXPR@[51; 53) - BLOCK@[51; 53) - L_CURLY@[51; 52) "{" - R_CURLY@[52; 53) "}" - WHITESPACE@[53; 55) "\n\n" - FN_DEF@[55; 239) - FN_KW@[55; 57) "fn" - WHITESPACE@[57; 58) " " - NAME@[58; 62) - IDENT@[58; 62) "main" - PARAM_LIST@[62; 64) - L_PAREN@[62; 63) "(" - R_PAREN@[63; 64) ")" - WHITESPACE@[64; 65) " " - BLOCK_EXPR@[65; 239) - BLOCK@[65; 239) - L_CURLY@[65; 66) "{" - WHITESPACE@[66; 71) "\n " - LET_STMT@[71; 121) - LET_KW@[71; 74) "let" - WHITESPACE@[74; 75) " " - PLACEHOLDER_PAT@[75; 76) - UNDERSCORE@[75; 76) "_" - COLON@[76; 77) ":" - WHITESPACE@[77; 78) " " - DYN_TRAIT_TYPE@[78; 121) - TYPE_BOUND_LIST@[78; 121) - TYPE_BOUND@[78; 88) - PATH_TYPE@[78; 88) - PATH@[78; 88) - PATH_SEGMENT@[78; 88) - NAME_REF@[78; 81) - IDENT@[78; 81) "Box" - TYPE_ARG_LIST@[81; 88) - L_ANGLE@[81; 82) "<" - TYPE_ARG@[82; 88) - PAREN_TYPE@[82; 88) - L_PAREN@[82; 83) "(" - PATH_TYPE@[83; 87) - PATH@[83; 87) - PATH_SEGMENT@[83; 87) - NAME_REF@[83; 87) - IDENT@[83; 87) "Copy" - R_PAREN@[87; 88) ")" - WHITESPACE@[88; 89) " " - PLUS@[89; 90) "+" - WHITESPACE@[90; 91) " " - TYPE_BOUND@[91; 99) - L_PAREN@[91; 92) "(" - QUESTION@[92; 93) "?" - PATH_TYPE@[93; 98) - PATH@[93; 98) - PATH_SEGMENT@[93; 98) - NAME_REF@[93; 98) - IDENT@[93; 98) "Sized" - R_PAREN@[98; 99) ")" - WHITESPACE@[99; 100) " " - PLUS@[100; 101) "+" - WHITESPACE@[101; 102) " " - TYPE_BOUND@[102; 121) - L_PAREN@[102; 103) "(" - FOR_TYPE@[103; 120) - FOR_KW@[103; 106) "for" - TYPE_PARAM_LIST@[106; 110) - L_ANGLE@[106; 107) "<" - LIFETIME_PARAM@[107; 109) - LIFETIME@[107; 109) "\'a" - R_ANGLE@[109; 110) ">" - WHITESPACE@[110; 111) " " - PATH_TYPE@[111; 120) - PATH@[111; 120) - PATH_SEGMENT@[111; 120) - NAME_REF@[111; 116) - IDENT@[111; 116) "Trait" - TYPE_ARG_LIST@[116; 120) - L_ANGLE@[116; 117) "<" - LIFETIME_ARG@[117; 119) - LIFETIME@[117; 119) "\'a" - R_ANGLE@[119; 120) ">" - R_PAREN@[120; 121) ")" - EXPR_STMT@[121; 123) - ERROR@[121; 122) - R_ANGLE@[121; 122) ">" - SEMI@[122; 123) ";" - WHITESPACE@[123; 128) "\n " - LET_STMT@[128; 141) - LET_KW@[128; 131) "let" - WHITESPACE@[131; 132) " " - PLACEHOLDER_PAT@[132; 133) - UNDERSCORE@[132; 133) "_" - COLON@[133; 134) ":" - WHITESPACE@[134; 135) " " - PATH_TYPE@[135; 141) - PATH@[135; 141) - PATH_SEGMENT@[135; 141) - NAME_REF@[135; 138) - IDENT@[135; 138) "Box" - TYPE_ARG_LIST@[138; 141) - L_ANGLE@[138; 139) "<" - TYPE_ARG@[139; 141) - PAREN_TYPE@[139; 141) - L_PAREN@[139; 140) "(" - ERROR@[140; 141) - QUESTION@[140; 141) "?" - EXPR_STMT@[141; 146) - PATH_EXPR@[141; 146) - PATH@[141; 146) - PATH_SEGMENT@[141; 146) - NAME_REF@[141; 146) - IDENT@[141; 146) "Sized" - EXPR_STMT@[146; 147) - ERROR@[146; 147) - R_PAREN@[146; 147) ")" - WHITESPACE@[147; 148) " " - EXPR_STMT@[148; 149) - ERROR@[148; 149) - PLUS@[148; 149) "+" - WHITESPACE@[149; 150) " " - EXPR_STMT@[150; 180) - TUPLE_EXPR@[150; 180) - L_PAREN@[150; 151) "(" - BIN_EXPR@[151; 180) - BIN_EXPR@[151; 178) - BIN_EXPR@[151; 169) - BIN_EXPR@[151; 167) - BIN_EXPR@[151; 164) - FOR_EXPR@[151; 157) - FOR_KW@[151; 154) "for" - ERROR@[154; 155) - L_ANGLE@[154; 155) "<" - ERROR@[155; 157) - LIFETIME@[155; 157) "\'a" - R_ANGLE@[157; 158) ">" - WHITESPACE@[158; 159) " " - PATH_EXPR@[159; 164) - PATH@[159; 164) - PATH_SEGMENT@[159; 164) - NAME_REF@[159; 164) - IDENT@[159; 164) "Trait" - L_ANGLE@[164; 165) "<" - ERROR@[165; 167) - LIFETIME@[165; 167) "\'a" - R_ANGLE@[167; 168) ">" - ERROR@[168; 169) - R_PAREN@[168; 169) ")" - WHITESPACE@[169; 170) " " - PLUS@[170; 171) "+" - WHITESPACE@[171; 172) " " - PAREN_EXPR@[172; 178) - L_PAREN@[172; 173) "(" - PATH_EXPR@[173; 177) - PATH@[173; 177) - PATH_SEGMENT@[173; 177) - NAME_REF@[173; 177) - IDENT@[173; 177) "Copy" - R_PAREN@[177; 178) ")" - R_ANGLE@[178; 179) ">" - ERROR@[179; 180) - SEMI@[179; 180) ";" - WHITESPACE@[180; 185) "\n " - LET_STMT@[185; 235) - LET_KW@[185; 188) "let" - WHITESPACE@[188; 189) " " - PLACEHOLDER_PAT@[189; 190) - UNDERSCORE@[189; 190) "_" - COLON@[190; 191) ":" - WHITESPACE@[191; 192) " " - DYN_TRAIT_TYPE@[192; 235) - TYPE_BOUND_LIST@[192; 235) - TYPE_BOUND@[192; 215) - PATH_TYPE@[192; 215) - PATH@[192; 215) - PATH_SEGMENT@[192; 215) - NAME_REF@[192; 195) - IDENT@[192; 195) "Box" - TYPE_ARG_LIST@[195; 215) - L_ANGLE@[195; 196) "<" - TYPE_ARG@[196; 215) - PAREN_TYPE@[196; 215) - L_PAREN@[196; 197) "(" - FOR_TYPE@[197; 214) - FOR_KW@[197; 200) "for" - TYPE_PARAM_LIST@[200; 204) - L_ANGLE@[200; 201) "<" - LIFETIME_PARAM@[201; 203) - LIFETIME@[201; 203) "\'a" - R_ANGLE@[203; 204) ">" - WHITESPACE@[204; 205) " " - PATH_TYPE@[205; 214) - PATH@[205; 214) - PATH_SEGMENT@[205; 214) - NAME_REF@[205; 210) - IDENT@[205; 210) "Trait" - TYPE_ARG_LIST@[210; 214) - L_ANGLE@[210; 211) "<" - LIFETIME_ARG@[211; 213) - LIFETIME@[211; 213) "\'a" - R_ANGLE@[213; 214) ">" - R_PAREN@[214; 215) ")" - WHITESPACE@[215; 216) " " - PLUS@[216; 217) "+" - WHITESPACE@[217; 218) " " - TYPE_BOUND@[218; 224) - L_PAREN@[218; 219) "(" - PATH_TYPE@[219; 223) - PATH@[219; 223) - PATH_SEGMENT@[219; 223) - NAME_REF@[219; 223) - IDENT@[219; 223) "Copy" - R_PAREN@[223; 224) ")" - WHITESPACE@[224; 225) " " - PLUS@[225; 226) "+" - WHITESPACE@[226; 227) " " - TYPE_BOUND@[227; 235) - L_PAREN@[227; 228) "(" - QUESTION@[228; 229) "?" - PATH_TYPE@[229; 234) - PATH@[229; 234) - PATH_SEGMENT@[229; 234) - NAME_REF@[229; 234) - IDENT@[229; 234) "Sized" - R_PAREN@[234; 235) ")" - EXPR_STMT@[235; 237) - ERROR@[235; 236) - R_ANGLE@[235; 236) ">" - SEMI@[236; 237) ";" - WHITESPACE@[237; 238) "\n" - R_CURLY@[238; 239) "}" - WHITESPACE@[239; 240) "\n" -error [88; 88): expected COMMA -error [88; 88): expected R_ANGLE -error [121; 121): expected SEMI -error [121; 121): expected expression -error [140; 140): expected type -error [141; 141): expected R_PAREN -error [141; 141): expected COMMA -error [141; 141): expected R_ANGLE -error [141; 141): expected SEMI -error [146; 146): expected SEMI -error [146; 146): expected expression -error [147; 147): expected SEMI -error [148; 148): expected expression -error [149; 149): expected SEMI -error [154; 154): expected pattern -error [155; 155): expected IN_KW -error [155; 155): expected expression -error [157; 157): expected a block -error [165; 165): expected expression -error [168; 168): expected expression -error [179; 179): expected expression -error [180; 180): expected COMMA -error [180; 180): expected expression -error [180; 180): expected R_PAREN -error [180; 180): expected SEMI -error [215; 215): expected COMMA -error [215; 215): expected R_ANGLE -error [235; 235): expected SEMI -error [235; 235): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0025_nope.rast b/crates/ra_syntax/test_data/parser/err/0025_nope.rast new file mode 100644 index 000000000..ca7f2d255 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0025_nope.rast @@ -0,0 +1,204 @@ +SOURCE_FILE@[0; 575) + FN_DEF@[0; 574) + 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; 574) + BLOCK@[10; 574) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + ENUM_DEF@[16; 152) + ENUM_KW@[16; 20) "enum" + WHITESPACE@[20; 21) " " + NAME@[21; 25) + IDENT@[21; 25) "Test" + WHITESPACE@[25; 26) " " + ENUM_VARIANT_LIST@[26; 152) + L_CURLY@[26; 27) "{" + WHITESPACE@[27; 36) "\n " + ENUM_VARIANT@[36; 40) + NAME@[36; 40) + IDENT@[36; 40) "Var1" + COMMA@[40; 41) "," + WHITESPACE@[41; 50) "\n " + ENUM_VARIANT@[50; 62) + NAME@[50; 54) + IDENT@[50; 54) "Var2" + TUPLE_FIELD_DEF_LIST@[54; 62) + L_PAREN@[54; 55) "(" + TUPLE_FIELD_DEF@[55; 61) + PATH_TYPE@[55; 61) + PATH@[55; 61) + PATH_SEGMENT@[55; 61) + NAME_REF@[55; 61) + IDENT@[55; 61) "String" + R_PAREN@[61; 62) ")" + COMMA@[62; 63) "," + WHITESPACE@[63; 72) "\n " + ENUM_VARIANT@[72; 145) + NAME@[72; 76) + IDENT@[72; 76) "Var3" + WHITESPACE@[76; 77) " " + RECORD_FIELD_DEF_LIST@[77; 145) + L_CURLY@[77; 78) "{" + WHITESPACE@[78; 91) "\n " + RECORD_FIELD_DEF@[91; 95) + NAME@[91; 94) + IDENT@[91; 94) "abc" + COLON@[94; 95) ":" + WHITESPACE@[95; 96) " " + ERROR@[96; 98) + L_CURLY@[96; 97) "{" + R_CURLY@[97; 98) "}" + ERROR@[98; 99) + COMMA@[98; 99) "," + WHITESPACE@[99; 100) " " + COMMENT@[100; 135) "//~ ERROR: expected t ..." + WHITESPACE@[135; 144) "\n " + R_CURLY@[144; 145) "}" + COMMA@[145; 146) "," + WHITESPACE@[146; 151) "\n " + R_CURLY@[151; 152) "}" + WHITESPACE@[152; 158) "\n\n " + COMMENT@[158; 171) "// recover..." + WHITESPACE@[171; 176) "\n " + LET_STMT@[176; 186) + LET_KW@[176; 179) "let" + WHITESPACE@[179; 180) " " + BIND_PAT@[180; 181) + NAME@[180; 181) + IDENT@[180; 181) "a" + WHITESPACE@[181; 182) " " + EQ@[182; 183) "=" + WHITESPACE@[183; 184) " " + LITERAL@[184; 185) + INT_NUMBER@[184; 185) "1" + SEMI@[185; 186) ";" + WHITESPACE@[186; 191) "\n " + ENUM_DEF@[191; 223) + ENUM_KW@[191; 195) "enum" + WHITESPACE@[195; 196) " " + NAME@[196; 201) + IDENT@[196; 201) "Test2" + WHITESPACE@[201; 202) " " + ENUM_VARIANT_LIST@[202; 223) + L_CURLY@[202; 203) "{" + WHITESPACE@[203; 212) "\n " + ENUM_VARIANT@[212; 216) + NAME@[212; 216) + IDENT@[212; 216) "Fine" + COMMA@[216; 217) "," + WHITESPACE@[217; 222) "\n " + R_CURLY@[222; 223) "}" + WHITESPACE@[223; 229) "\n\n " + ENUM_DEF@[229; 300) + ENUM_KW@[229; 233) "enum" + WHITESPACE@[233; 234) " " + NAME@[234; 239) + IDENT@[234; 239) "Test3" + WHITESPACE@[239; 240) " " + ENUM_VARIANT_LIST@[240; 300) + L_CURLY@[240; 241) "{" + WHITESPACE@[241; 250) "\n " + ENUM_VARIANT@[250; 293) + NAME@[250; 259) + IDENT@[250; 259) "StillFine" + WHITESPACE@[259; 260) " " + RECORD_FIELD_DEF_LIST@[260; 293) + L_CURLY@[260; 261) "{" + WHITESPACE@[261; 274) "\n " + RECORD_FIELD_DEF@[274; 282) + NAME@[274; 277) + IDENT@[274; 277) "def" + COLON@[277; 278) ":" + WHITESPACE@[278; 279) " " + PATH_TYPE@[279; 282) + PATH@[279; 282) + PATH_SEGMENT@[279; 282) + NAME_REF@[279; 282) + IDENT@[279; 282) "i32" + COMMA@[282; 283) "," + WHITESPACE@[283; 292) "\n " + R_CURLY@[292; 293) "}" + COMMA@[293; 294) "," + WHITESPACE@[294; 299) "\n " + R_CURLY@[299; 300) "}" + WHITESPACE@[300; 306) "\n\n " + EXPR_STMT@[306; 459) + BLOCK_EXPR@[306; 459) + BLOCK@[306; 459) + L_CURLY@[306; 307) "{" + WHITESPACE@[307; 316) "\n " + ENUM_DEF@[316; 453) + COMMENT@[316; 329) "// fail again" + WHITESPACE@[329; 338) "\n " + ENUM_KW@[338; 342) "enum" + WHITESPACE@[342; 343) " " + NAME@[343; 348) + IDENT@[343; 348) "Test4" + WHITESPACE@[348; 349) " " + ENUM_VARIANT_LIST@[349; 453) + L_CURLY@[349; 350) "{" + WHITESPACE@[350; 363) "\n " + ENUM_VARIANT@[363; 372) + NAME@[363; 367) + IDENT@[363; 367) "Nope" + TUPLE_FIELD_DEF_LIST@[367; 372) + L_PAREN@[367; 368) "(" + TUPLE_FIELD_DEF@[368; 371) + PATH_TYPE@[368; 371) + PATH@[368; 371) + PATH_SEGMENT@[368; 371) + NAME_REF@[368; 371) + IDENT@[368; 371) "i32" + WHITESPACE@[371; 372) " " + ERROR@[372; 372) + ERROR@[372; 374) + L_CURLY@[372; 373) "{" + R_CURLY@[373; 374) "}" + ERROR@[374; 375) + R_PAREN@[374; 375) ")" + WHITESPACE@[375; 376) " " + COMMENT@[376; 396) "//~ ERROR: found `{`" + WHITESPACE@[396; 422) "\n ..." + COMMENT@[422; 443) "//~^ ERROR: found `{`" + WHITESPACE@[443; 452) "\n " + R_CURLY@[452; 453) "}" + WHITESPACE@[453; 458) "\n " + R_CURLY@[458; 459) "}" + WHITESPACE@[459; 464) "\n " + COMMENT@[464; 486) "// still recover later" + WHITESPACE@[486; 491) "\n " + LET_STMT@[491; 510) + LET_KW@[491; 494) "let" + WHITESPACE@[494; 495) " " + BIND_PAT@[495; 505) + NAME@[495; 505) + IDENT@[495; 505) "bad_syntax" + WHITESPACE@[505; 506) " " + EQ@[506; 507) "=" + WHITESPACE@[507; 508) " " + ERROR@[508; 509) + UNDERSCORE@[508; 509) "_" + SEMI@[509; 510) ";" + WHITESPACE@[510; 511) " " + COMMENT@[511; 572) "//~ ERROR: expected e ..." + WHITESPACE@[572; 573) "\n" + R_CURLY@[573; 574) "}" + WHITESPACE@[574; 575) "\n" +error [95; 95): expected type +error [95; 95): expected COMMA +error [96; 96): expected field +error [98; 98): expected field declaration +error [371; 371): expected COMMA +error [372; 372): expected a type +error [372; 372): expected R_PAREN +error [372; 372): expected COMMA +error [372; 372): expected enum variant +error [374; 374): expected enum variant +error [508; 508): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0025_nope.txt b/crates/ra_syntax/test_data/parser/err/0025_nope.txt deleted file mode 100644 index ca7f2d255..000000000 --- a/crates/ra_syntax/test_data/parser/err/0025_nope.txt +++ /dev/null @@ -1,204 +0,0 @@ -SOURCE_FILE@[0; 575) - FN_DEF@[0; 574) - 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; 574) - BLOCK@[10; 574) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - ENUM_DEF@[16; 152) - ENUM_KW@[16; 20) "enum" - WHITESPACE@[20; 21) " " - NAME@[21; 25) - IDENT@[21; 25) "Test" - WHITESPACE@[25; 26) " " - ENUM_VARIANT_LIST@[26; 152) - L_CURLY@[26; 27) "{" - WHITESPACE@[27; 36) "\n " - ENUM_VARIANT@[36; 40) - NAME@[36; 40) - IDENT@[36; 40) "Var1" - COMMA@[40; 41) "," - WHITESPACE@[41; 50) "\n " - ENUM_VARIANT@[50; 62) - NAME@[50; 54) - IDENT@[50; 54) "Var2" - TUPLE_FIELD_DEF_LIST@[54; 62) - L_PAREN@[54; 55) "(" - TUPLE_FIELD_DEF@[55; 61) - PATH_TYPE@[55; 61) - PATH@[55; 61) - PATH_SEGMENT@[55; 61) - NAME_REF@[55; 61) - IDENT@[55; 61) "String" - R_PAREN@[61; 62) ")" - COMMA@[62; 63) "," - WHITESPACE@[63; 72) "\n " - ENUM_VARIANT@[72; 145) - NAME@[72; 76) - IDENT@[72; 76) "Var3" - WHITESPACE@[76; 77) " " - RECORD_FIELD_DEF_LIST@[77; 145) - L_CURLY@[77; 78) "{" - WHITESPACE@[78; 91) "\n " - RECORD_FIELD_DEF@[91; 95) - NAME@[91; 94) - IDENT@[91; 94) "abc" - COLON@[94; 95) ":" - WHITESPACE@[95; 96) " " - ERROR@[96; 98) - L_CURLY@[96; 97) "{" - R_CURLY@[97; 98) "}" - ERROR@[98; 99) - COMMA@[98; 99) "," - WHITESPACE@[99; 100) " " - COMMENT@[100; 135) "//~ ERROR: expected t ..." - WHITESPACE@[135; 144) "\n " - R_CURLY@[144; 145) "}" - COMMA@[145; 146) "," - WHITESPACE@[146; 151) "\n " - R_CURLY@[151; 152) "}" - WHITESPACE@[152; 158) "\n\n " - COMMENT@[158; 171) "// recover..." - WHITESPACE@[171; 176) "\n " - LET_STMT@[176; 186) - LET_KW@[176; 179) "let" - WHITESPACE@[179; 180) " " - BIND_PAT@[180; 181) - NAME@[180; 181) - IDENT@[180; 181) "a" - WHITESPACE@[181; 182) " " - EQ@[182; 183) "=" - WHITESPACE@[183; 184) " " - LITERAL@[184; 185) - INT_NUMBER@[184; 185) "1" - SEMI@[185; 186) ";" - WHITESPACE@[186; 191) "\n " - ENUM_DEF@[191; 223) - ENUM_KW@[191; 195) "enum" - WHITESPACE@[195; 196) " " - NAME@[196; 201) - IDENT@[196; 201) "Test2" - WHITESPACE@[201; 202) " " - ENUM_VARIANT_LIST@[202; 223) - L_CURLY@[202; 203) "{" - WHITESPACE@[203; 212) "\n " - ENUM_VARIANT@[212; 216) - NAME@[212; 216) - IDENT@[212; 216) "Fine" - COMMA@[216; 217) "," - WHITESPACE@[217; 222) "\n " - R_CURLY@[222; 223) "}" - WHITESPACE@[223; 229) "\n\n " - ENUM_DEF@[229; 300) - ENUM_KW@[229; 233) "enum" - WHITESPACE@[233; 234) " " - NAME@[234; 239) - IDENT@[234; 239) "Test3" - WHITESPACE@[239; 240) " " - ENUM_VARIANT_LIST@[240; 300) - L_CURLY@[240; 241) "{" - WHITESPACE@[241; 250) "\n " - ENUM_VARIANT@[250; 293) - NAME@[250; 259) - IDENT@[250; 259) "StillFine" - WHITESPACE@[259; 260) " " - RECORD_FIELD_DEF_LIST@[260; 293) - L_CURLY@[260; 261) "{" - WHITESPACE@[261; 274) "\n " - RECORD_FIELD_DEF@[274; 282) - NAME@[274; 277) - IDENT@[274; 277) "def" - COLON@[277; 278) ":" - WHITESPACE@[278; 279) " " - PATH_TYPE@[279; 282) - PATH@[279; 282) - PATH_SEGMENT@[279; 282) - NAME_REF@[279; 282) - IDENT@[279; 282) "i32" - COMMA@[282; 283) "," - WHITESPACE@[283; 292) "\n " - R_CURLY@[292; 293) "}" - COMMA@[293; 294) "," - WHITESPACE@[294; 299) "\n " - R_CURLY@[299; 300) "}" - WHITESPACE@[300; 306) "\n\n " - EXPR_STMT@[306; 459) - BLOCK_EXPR@[306; 459) - BLOCK@[306; 459) - L_CURLY@[306; 307) "{" - WHITESPACE@[307; 316) "\n " - ENUM_DEF@[316; 453) - COMMENT@[316; 329) "// fail again" - WHITESPACE@[329; 338) "\n " - ENUM_KW@[338; 342) "enum" - WHITESPACE@[342; 343) " " - NAME@[343; 348) - IDENT@[343; 348) "Test4" - WHITESPACE@[348; 349) " " - ENUM_VARIANT_LIST@[349; 453) - L_CURLY@[349; 350) "{" - WHITESPACE@[350; 363) "\n " - ENUM_VARIANT@[363; 372) - NAME@[363; 367) - IDENT@[363; 367) "Nope" - TUPLE_FIELD_DEF_LIST@[367; 372) - L_PAREN@[367; 368) "(" - TUPLE_FIELD_DEF@[368; 371) - PATH_TYPE@[368; 371) - PATH@[368; 371) - PATH_SEGMENT@[368; 371) - NAME_REF@[368; 371) - IDENT@[368; 371) "i32" - WHITESPACE@[371; 372) " " - ERROR@[372; 372) - ERROR@[372; 374) - L_CURLY@[372; 373) "{" - R_CURLY@[373; 374) "}" - ERROR@[374; 375) - R_PAREN@[374; 375) ")" - WHITESPACE@[375; 376) " " - COMMENT@[376; 396) "//~ ERROR: found `{`" - WHITESPACE@[396; 422) "\n ..." - COMMENT@[422; 443) "//~^ ERROR: found `{`" - WHITESPACE@[443; 452) "\n " - R_CURLY@[452; 453) "}" - WHITESPACE@[453; 458) "\n " - R_CURLY@[458; 459) "}" - WHITESPACE@[459; 464) "\n " - COMMENT@[464; 486) "// still recover later" - WHITESPACE@[486; 491) "\n " - LET_STMT@[491; 510) - LET_KW@[491; 494) "let" - WHITESPACE@[494; 495) " " - BIND_PAT@[495; 505) - NAME@[495; 505) - IDENT@[495; 505) "bad_syntax" - WHITESPACE@[505; 506) " " - EQ@[506; 507) "=" - WHITESPACE@[507; 508) " " - ERROR@[508; 509) - UNDERSCORE@[508; 509) "_" - SEMI@[509; 510) ";" - WHITESPACE@[510; 511) " " - COMMENT@[511; 572) "//~ ERROR: expected e ..." - WHITESPACE@[572; 573) "\n" - R_CURLY@[573; 574) "}" - WHITESPACE@[574; 575) "\n" -error [95; 95): expected type -error [95; 95): expected COMMA -error [96; 96): expected field -error [98; 98): expected field declaration -error [371; 371): expected COMMA -error [372; 372): expected a type -error [372; 372): expected R_PAREN -error [372; 372): expected COMMA -error [372; 372): expected enum variant -error [374; 374): expected enum variant -error [508; 508): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast b/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast new file mode 100644 index 000000000..f239b7b1e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.rast @@ -0,0 +1,49 @@ +SOURCE_FILE@[0; 38) + IMPL_DEF@[0; 14) + IMPL_KW@[0; 4) "impl" + TYPE_PARAM_LIST@[4; 14) + L_ANGLE@[4; 5) "<" + TYPE_PARAM@[5; 13) + NAME@[5; 6) + IDENT@[5; 6) "T" + COLON@[6; 7) ":" + WHITESPACE@[7; 8) " " + TYPE_BOUND_LIST@[8; 13) + TYPE_BOUND@[8; 13) + PATH_TYPE@[8; 13) + PATH@[8; 13) + PATH_SEGMENT@[8; 13) + NAME_REF@[8; 13) + IDENT@[8; 13) "Clone" + R_ANGLE@[13; 14) ">" + WHITESPACE@[14; 15) "\n" + IMPL_DEF@[15; 37) + IMPL_KW@[15; 19) "impl" + TYPE_PARAM_LIST@[19; 22) + L_ANGLE@[19; 20) "<" + TYPE_PARAM@[20; 21) + NAME@[20; 21) + IDENT@[20; 21) "T" + R_ANGLE@[21; 22) ">" + WHITESPACE@[22; 23) " " + PATH_TYPE@[23; 34) + PATH@[23; 34) + PATH_SEGMENT@[23; 34) + NAME_REF@[23; 31) + IDENT@[23; 31) "OnceCell" + TYPE_ARG_LIST@[31; 34) + L_ANGLE@[31; 32) "<" + TYPE_ARG@[32; 33) + PATH_TYPE@[32; 33) + PATH@[32; 33) + PATH_SEGMENT@[32; 33) + NAME_REF@[32; 33) + IDENT@[32; 33) "T" + R_ANGLE@[33; 34) ">" + WHITESPACE@[34; 35) " " + ITEM_LIST@[35; 37) + L_CURLY@[35; 36) "{" + R_CURLY@[36; 37) "}" + WHITESPACE@[37; 38) "\n" +error [14; 14): expected trait or type +error [14; 14): expected `{` diff --git a/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.txt b/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.txt deleted file mode 100644 index f239b7b1e..000000000 --- a/crates/ra_syntax/test_data/parser/err/0026_imp_recovery.txt +++ /dev/null @@ -1,49 +0,0 @@ -SOURCE_FILE@[0; 38) - IMPL_DEF@[0; 14) - IMPL_KW@[0; 4) "impl" - TYPE_PARAM_LIST@[4; 14) - L_ANGLE@[4; 5) "<" - TYPE_PARAM@[5; 13) - NAME@[5; 6) - IDENT@[5; 6) "T" - COLON@[6; 7) ":" - WHITESPACE@[7; 8) " " - TYPE_BOUND_LIST@[8; 13) - TYPE_BOUND@[8; 13) - PATH_TYPE@[8; 13) - PATH@[8; 13) - PATH_SEGMENT@[8; 13) - NAME_REF@[8; 13) - IDENT@[8; 13) "Clone" - R_ANGLE@[13; 14) ">" - WHITESPACE@[14; 15) "\n" - IMPL_DEF@[15; 37) - IMPL_KW@[15; 19) "impl" - TYPE_PARAM_LIST@[19; 22) - L_ANGLE@[19; 20) "<" - TYPE_PARAM@[20; 21) - NAME@[20; 21) - IDENT@[20; 21) "T" - R_ANGLE@[21; 22) ">" - WHITESPACE@[22; 23) " " - PATH_TYPE@[23; 34) - PATH@[23; 34) - PATH_SEGMENT@[23; 34) - NAME_REF@[23; 31) - IDENT@[23; 31) "OnceCell" - TYPE_ARG_LIST@[31; 34) - L_ANGLE@[31; 32) "<" - TYPE_ARG@[32; 33) - PATH_TYPE@[32; 33) - PATH@[32; 33) - PATH_SEGMENT@[32; 33) - NAME_REF@[32; 33) - IDENT@[32; 33) "T" - R_ANGLE@[33; 34) ">" - WHITESPACE@[34; 35) " " - ITEM_LIST@[35; 37) - L_CURLY@[35; 36) "{" - R_CURLY@[36; 37) "}" - WHITESPACE@[37; 38) "\n" -error [14; 14): expected trait or type -error [14; 14): expected `{` diff --git a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast new file mode 100644 index 000000000..4a28bcabf --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast @@ -0,0 +1,29 @@ +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; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 13) "\n " + WHERE_CLAUSE@[13; 26) + WHERE_KW@[13; 18) "where" + WHITESPACE@[18; 19) " " + WHERE_PRED@[19; 26) + FOR_TYPE@[19; 26) + FOR_KW@[19; 22) "for" + TYPE_PARAM_LIST@[22; 26) + L_ANGLE@[22; 23) "<" + LIFETIME_PARAM@[23; 25) + LIFETIME@[23; 25) "\'a" + R_ANGLE@[25; 26) ">" + WHITESPACE@[26; 27) "\n" + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" +error [26; 26): expected a path +error [26; 26): expected colon diff --git a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt deleted file mode 100644 index 4a28bcabf..000000000 --- a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.txt +++ /dev/null @@ -1,29 +0,0 @@ -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; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 13) "\n " - WHERE_CLAUSE@[13; 26) - WHERE_KW@[13; 18) "where" - WHITESPACE@[18; 19) " " - WHERE_PRED@[19; 26) - FOR_TYPE@[19; 26) - FOR_KW@[19; 22) "for" - TYPE_PARAM_LIST@[22; 26) - L_ANGLE@[22; 23) "<" - LIFETIME_PARAM@[23; 25) - LIFETIME@[23; 25) "\'a" - R_ANGLE@[25; 26) ">" - WHITESPACE@[26; 27) "\n" - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" -error [26; 26): expected a path -error [26; 26): expected colon diff --git a/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast b/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast new file mode 100644 index 000000000..177849476 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast @@ -0,0 +1,36 @@ +SOURCE_FILE@[0; 24) + FN_DEF@[0; 23) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 12) + L_PAREN@[6; 7) "(" + PARAM@[7; 11) + BIND_PAT@[7; 8) + NAME@[7; 8) + IDENT@[7; 8) "a" + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " + PATH_TYPE@[10; 11) + PATH@[10; 11) + PATH_SEGMENT@[10; 11) + NAME_REF@[10; 11) + IDENT@[10; 11) "A" + R_PAREN@[11; 12) ")" + WHITESPACE@[12; 13) " " + BLOCK_EXPR@[13; 23) + BLOCK@[13; 23) + L_CURLY@[13; 14) "{" + WHITESPACE@[14; 19) "\n " + FIELD_EXPR@[19; 21) + PATH_EXPR@[19; 20) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "a" + DOT@[20; 21) "." + WHITESPACE@[21; 22) "\n" + R_CURLY@[22; 23) "}" + WHITESPACE@[23; 24) "\n" +error [21; 21): expected field name or number diff --git a/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt b/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt deleted file mode 100644 index 177849476..000000000 --- a/crates/ra_syntax/test_data/parser/err/0029_field_completion.txt +++ /dev/null @@ -1,36 +0,0 @@ -SOURCE_FILE@[0; 24) - FN_DEF@[0; 23) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 12) - L_PAREN@[6; 7) "(" - PARAM@[7; 11) - BIND_PAT@[7; 8) - NAME@[7; 8) - IDENT@[7; 8) "a" - COLON@[8; 9) ":" - WHITESPACE@[9; 10) " " - PATH_TYPE@[10; 11) - PATH@[10; 11) - PATH_SEGMENT@[10; 11) - NAME_REF@[10; 11) - IDENT@[10; 11) "A" - R_PAREN@[11; 12) ")" - WHITESPACE@[12; 13) " " - BLOCK_EXPR@[13; 23) - BLOCK@[13; 23) - L_CURLY@[13; 14) "{" - WHITESPACE@[14; 19) "\n " - FIELD_EXPR@[19; 21) - PATH_EXPR@[19; 20) - PATH@[19; 20) - PATH_SEGMENT@[19; 20) - NAME_REF@[19; 20) - IDENT@[19; 20) "a" - DOT@[20; 21) "." - WHITESPACE@[21; 22) "\n" - R_CURLY@[22; 23) "}" - WHITESPACE@[23; 24) "\n" -error [21; 21): expected field name or number diff --git a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast new file mode 100644 index 000000000..522a0d0e0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast @@ -0,0 +1,125 @@ +SOURCE_FILE@[0; 350) + FN_DEF@[0; 349) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 8) + IDENT@[3; 8) "block" + PARAM_LIST@[8; 10) + L_PAREN@[8; 9) "(" + R_PAREN@[9; 10) ")" + WHITESPACE@[10; 11) " " + BLOCK_EXPR@[11; 349) + BLOCK@[11; 349) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " + LET_STMT@[17; 129) + LET_KW@[17; 20) "let" + WHITESPACE@[20; 21) " " + BIND_PAT@[21; 26) + NAME@[21; 26) + IDENT@[21; 26) "inner" + WHITESPACE@[26; 27) " " + EQ@[27; 28) "=" + WHITESPACE@[28; 29) " " + BLOCK_EXPR@[29; 128) + BLOCK@[29; 128) + L_CURLY@[29; 30) "{" + WHITESPACE@[30; 39) "\n " + ATTR@[39; 83) + POUND@[39; 40) "#" + EXCL@[40; 41) "!" + L_BRACK@[41; 42) "[" + PATH@[42; 45) + PATH_SEGMENT@[42; 45) + NAME_REF@[42; 45) + IDENT@[42; 45) "doc" + TOKEN_TREE@[45; 82) + L_PAREN@[45; 46) "(" + STRING@[46; 81) "\"Inner attributes not ..." + R_PAREN@[81; 82) ")" + R_BRACK@[82; 83) "]" + WHITESPACE@[83; 92) "\n " + COMMENT@[92; 122) "//! Nor are ModuleDoc ..." + WHITESPACE@[122; 127) "\n " + R_CURLY@[127; 128) "}" + SEMI@[128; 129) ";" + WHITESPACE@[129; 134) "\n " + EXPR_STMT@[134; 257) + IF_EXPR@[134; 257) + IF_KW@[134; 136) "if" + WHITESPACE@[136; 137) " " + CONDITION@[137; 141) + LITERAL@[137; 141) + TRUE_KW@[137; 141) "true" + WHITESPACE@[141; 142) " " + BLOCK_EXPR@[142; 257) + BLOCK@[142; 257) + L_CURLY@[142; 143) "{" + WHITESPACE@[143; 152) "\n " + ATTR@[152; 171) + POUND@[152; 153) "#" + EXCL@[153; 154) "!" + L_BRACK@[154; 155) "[" + PATH@[155; 158) + PATH_SEGMENT@[155; 158) + NAME_REF@[155; 158) + IDENT@[155; 158) "doc" + TOKEN_TREE@[158; 170) + L_PAREN@[158; 159) "(" + STRING@[159; 169) "\"Nor here\"" + R_PAREN@[169; 170) ")" + R_BRACK@[170; 171) "]" + WHITESPACE@[171; 180) "\n " + ATTR@[180; 212) + POUND@[180; 181) "#" + EXCL@[181; 182) "!" + L_BRACK@[182; 183) "[" + PATH@[183; 186) + PATH_SEGMENT@[183; 186) + NAME_REF@[183; 186) + IDENT@[183; 186) "doc" + TOKEN_TREE@[186; 211) + L_PAREN@[186; 187) "(" + STRING@[187; 210) "\"We error on each attr\"" + R_PAREN@[210; 211) ")" + R_BRACK@[211; 212) "]" + WHITESPACE@[212; 221) "\n " + COMMENT@[221; 251) "//! Nor are ModuleDoc ..." + WHITESPACE@[251; 256) "\n " + R_CURLY@[256; 257) "}" + WHITESPACE@[257; 262) "\n " + WHILE_EXPR@[262; 347) + WHILE_KW@[262; 267) "while" + WHITESPACE@[267; 268) " " + CONDITION@[268; 272) + LITERAL@[268; 272) + TRUE_KW@[268; 272) "true" + WHITESPACE@[272; 273) " " + BLOCK_EXPR@[273; 347) + BLOCK@[273; 347) + L_CURLY@[273; 274) "{" + WHITESPACE@[274; 283) "\n " + ATTR@[283; 302) + POUND@[283; 284) "#" + EXCL@[284; 285) "!" + L_BRACK@[285; 286) "[" + PATH@[286; 289) + PATH_SEGMENT@[286; 289) + NAME_REF@[286; 289) + IDENT@[286; 289) "doc" + TOKEN_TREE@[289; 301) + L_PAREN@[289; 290) "(" + STRING@[290; 300) "\"Nor here\"" + R_PAREN@[300; 301) ")" + R_BRACK@[301; 302) "]" + WHITESPACE@[302; 311) "\n " + COMMENT@[311; 341) "//! Nor are ModuleDoc ..." + WHITESPACE@[341; 346) "\n " + R_CURLY@[346; 347) "}" + WHITESPACE@[347; 348) "\n" + R_CURLY@[348; 349) "}" + WHITESPACE@[349; 350) "\n" +error [39; 83): A block in this position cannot accept inner attributes +error [152; 171): A block in this position cannot accept inner attributes +error [180; 212): A block in this position cannot accept inner attributes +error [283; 302): A block in this position cannot accept inner attributes diff --git a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt deleted file mode 100644 index 522a0d0e0..000000000 --- a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.txt +++ /dev/null @@ -1,125 +0,0 @@ -SOURCE_FILE@[0; 350) - FN_DEF@[0; 349) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 8) - IDENT@[3; 8) "block" - PARAM_LIST@[8; 10) - L_PAREN@[8; 9) "(" - R_PAREN@[9; 10) ")" - WHITESPACE@[10; 11) " " - BLOCK_EXPR@[11; 349) - BLOCK@[11; 349) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 17) "\n " - LET_STMT@[17; 129) - LET_KW@[17; 20) "let" - WHITESPACE@[20; 21) " " - BIND_PAT@[21; 26) - NAME@[21; 26) - IDENT@[21; 26) "inner" - WHITESPACE@[26; 27) " " - EQ@[27; 28) "=" - WHITESPACE@[28; 29) " " - BLOCK_EXPR@[29; 128) - BLOCK@[29; 128) - L_CURLY@[29; 30) "{" - WHITESPACE@[30; 39) "\n " - ATTR@[39; 83) - POUND@[39; 40) "#" - EXCL@[40; 41) "!" - L_BRACK@[41; 42) "[" - PATH@[42; 45) - PATH_SEGMENT@[42; 45) - NAME_REF@[42; 45) - IDENT@[42; 45) "doc" - TOKEN_TREE@[45; 82) - L_PAREN@[45; 46) "(" - STRING@[46; 81) "\"Inner attributes not ..." - R_PAREN@[81; 82) ")" - R_BRACK@[82; 83) "]" - WHITESPACE@[83; 92) "\n " - COMMENT@[92; 122) "//! Nor are ModuleDoc ..." - WHITESPACE@[122; 127) "\n " - R_CURLY@[127; 128) "}" - SEMI@[128; 129) ";" - WHITESPACE@[129; 134) "\n " - EXPR_STMT@[134; 257) - IF_EXPR@[134; 257) - IF_KW@[134; 136) "if" - WHITESPACE@[136; 137) " " - CONDITION@[137; 141) - LITERAL@[137; 141) - TRUE_KW@[137; 141) "true" - WHITESPACE@[141; 142) " " - BLOCK_EXPR@[142; 257) - BLOCK@[142; 257) - L_CURLY@[142; 143) "{" - WHITESPACE@[143; 152) "\n " - ATTR@[152; 171) - POUND@[152; 153) "#" - EXCL@[153; 154) "!" - L_BRACK@[154; 155) "[" - PATH@[155; 158) - PATH_SEGMENT@[155; 158) - NAME_REF@[155; 158) - IDENT@[155; 158) "doc" - TOKEN_TREE@[158; 170) - L_PAREN@[158; 159) "(" - STRING@[159; 169) "\"Nor here\"" - R_PAREN@[169; 170) ")" - R_BRACK@[170; 171) "]" - WHITESPACE@[171; 180) "\n " - ATTR@[180; 212) - POUND@[180; 181) "#" - EXCL@[181; 182) "!" - L_BRACK@[182; 183) "[" - PATH@[183; 186) - PATH_SEGMENT@[183; 186) - NAME_REF@[183; 186) - IDENT@[183; 186) "doc" - TOKEN_TREE@[186; 211) - L_PAREN@[186; 187) "(" - STRING@[187; 210) "\"We error on each attr\"" - R_PAREN@[210; 211) ")" - R_BRACK@[211; 212) "]" - WHITESPACE@[212; 221) "\n " - COMMENT@[221; 251) "//! Nor are ModuleDoc ..." - WHITESPACE@[251; 256) "\n " - R_CURLY@[256; 257) "}" - WHITESPACE@[257; 262) "\n " - WHILE_EXPR@[262; 347) - WHILE_KW@[262; 267) "while" - WHITESPACE@[267; 268) " " - CONDITION@[268; 272) - LITERAL@[268; 272) - TRUE_KW@[268; 272) "true" - WHITESPACE@[272; 273) " " - BLOCK_EXPR@[273; 347) - BLOCK@[273; 347) - L_CURLY@[273; 274) "{" - WHITESPACE@[274; 283) "\n " - ATTR@[283; 302) - POUND@[283; 284) "#" - EXCL@[284; 285) "!" - L_BRACK@[285; 286) "[" - PATH@[286; 289) - PATH_SEGMENT@[286; 289) - NAME_REF@[286; 289) - IDENT@[286; 289) "doc" - TOKEN_TREE@[289; 301) - L_PAREN@[289; 290) "(" - STRING@[290; 300) "\"Nor here\"" - R_PAREN@[300; 301) ")" - R_BRACK@[301; 302) "]" - WHITESPACE@[302; 311) "\n " - COMMENT@[311; 341) "//! Nor are ModuleDoc ..." - WHITESPACE@[341; 346) "\n " - R_CURLY@[346; 347) "}" - WHITESPACE@[347; 348) "\n" - R_CURLY@[348; 349) "}" - WHITESPACE@[349; 350) "\n" -error [39; 83): A block in this position cannot accept inner attributes -error [152; 171): A block in this position cannot accept inner attributes -error [180; 212): A block in this position cannot accept inner attributes -error [283; 302): A block in this position cannot accept inner attributes diff --git a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast new file mode 100644 index 000000000..c36e2f770 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast @@ -0,0 +1,204 @@ +SOURCE_FILE@[0; 293) + FN_DEF@[0; 292) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 292) + BLOCK@[9; 292) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 101) + MATCH_EXPR@[15; 101) + MATCH_KW@[15; 20) "match" + WHITESPACE@[20; 21) " " + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) "(" + R_PAREN@[22; 23) ")" + WHITESPACE@[23; 24) " " + MATCH_ARM_LIST@[24; 101) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 34) "\n " + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) "_" + WHITESPACE@[35; 36) " " + FAT_ARROW@[36; 38) "=>" + WHITESPACE@[38; 39) " " + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) "(" + R_PAREN@[40; 41) ")" + COMMA@[41; 42) "," + WHITESPACE@[42; 51) "\n " + MATCH_ARM@[51; 78) + ATTR@[51; 52) + POUND@[51; 52) "#" + ERROR@[52; 53) + EXCL@[52; 53) "!" + ARRAY_EXPR@[53; 78) + L_BRACK@[53; 54) "[" + CALL_EXPR@[54; 77) + PATH_EXPR@[54; 57) + PATH@[54; 57) + PATH_SEGMENT@[54; 57) + NAME_REF@[54; 57) + IDENT@[54; 57) "doc" + ARG_LIST@[57; 77) + L_PAREN@[57; 58) "(" + LITERAL@[58; 76) + STRING@[58; 76) "\"Not allowed here\"" + R_PAREN@[76; 77) ")" + R_BRACK@[77; 78) "]" + WHITESPACE@[78; 87) "\n " + MATCH_ARM@[87; 94) + PLACEHOLDER_PAT@[87; 88) + UNDERSCORE@[87; 88) "_" + WHITESPACE@[88; 89) " " + FAT_ARROW@[89; 91) "=>" + WHITESPACE@[91; 92) " " + TUPLE_EXPR@[92; 94) + L_PAREN@[92; 93) "(" + R_PAREN@[93; 94) ")" + COMMA@[94; 95) "," + WHITESPACE@[95; 100) "\n " + R_CURLY@[100; 101) "}" + WHITESPACE@[101; 107) "\n\n " + EXPR_STMT@[107; 185) + MATCH_EXPR@[107; 185) + MATCH_KW@[107; 112) "match" + WHITESPACE@[112; 113) " " + TUPLE_EXPR@[113; 115) + L_PAREN@[113; 114) "(" + R_PAREN@[114; 115) ")" + WHITESPACE@[115; 116) " " + MATCH_ARM_LIST@[116; 185) + L_CURLY@[116; 117) "{" + WHITESPACE@[117; 126) "\n " + MATCH_ARM@[126; 133) + PLACEHOLDER_PAT@[126; 127) + UNDERSCORE@[126; 127) "_" + WHITESPACE@[127; 128) " " + FAT_ARROW@[128; 130) "=>" + WHITESPACE@[130; 131) " " + TUPLE_EXPR@[131; 133) + L_PAREN@[131; 132) "(" + R_PAREN@[132; 133) ")" + COMMA@[133; 134) "," + WHITESPACE@[134; 143) "\n " + MATCH_ARM@[143; 150) + PLACEHOLDER_PAT@[143; 144) + UNDERSCORE@[143; 144) "_" + WHITESPACE@[144; 145) " " + FAT_ARROW@[145; 147) "=>" + WHITESPACE@[147; 148) " " + TUPLE_EXPR@[148; 150) + L_PAREN@[148; 149) "(" + R_PAREN@[149; 150) ")" + COMMA@[150; 151) "," + WHITESPACE@[151; 160) "\n " + MATCH_ARM@[160; 179) + ATTR@[160; 161) + POUND@[160; 161) "#" + ERROR@[161; 162) + EXCL@[161; 162) "!" + ARRAY_EXPR@[162; 179) + L_BRACK@[162; 163) "[" + CALL_EXPR@[163; 178) + PATH_EXPR@[163; 166) + PATH@[163; 166) + PATH_SEGMENT@[163; 166) + NAME_REF@[163; 166) + IDENT@[163; 166) "doc" + ARG_LIST@[166; 178) + L_PAREN@[166; 167) "(" + LITERAL@[167; 177) + STRING@[167; 177) "\"Nor here\"" + R_PAREN@[177; 178) ")" + R_BRACK@[178; 179) "]" + WHITESPACE@[179; 184) "\n " + R_CURLY@[184; 185) "}" + WHITESPACE@[185; 191) "\n\n " + MATCH_EXPR@[191; 290) + MATCH_KW@[191; 196) "match" + WHITESPACE@[196; 197) " " + TUPLE_EXPR@[197; 199) + L_PAREN@[197; 198) "(" + R_PAREN@[198; 199) ")" + WHITESPACE@[199; 200) " " + MATCH_ARM_LIST@[200; 290) + L_CURLY@[200; 201) "{" + WHITESPACE@[201; 210) "\n " + MATCH_ARM@[210; 250) + ATTR@[210; 222) + POUND@[210; 211) "#" + L_BRACK@[211; 212) "[" + PATH@[212; 215) + PATH_SEGMENT@[212; 215) + NAME_REF@[212; 215) + IDENT@[212; 215) "cfg" + TOKEN_TREE@[215; 221) + L_PAREN@[215; 216) "(" + IDENT@[216; 220) "test" + R_PAREN@[220; 221) ")" + R_BRACK@[221; 222) "]" + WHITESPACE@[222; 231) "\n " + ATTR@[231; 232) + POUND@[231; 232) "#" + ERROR@[232; 233) + EXCL@[232; 233) "!" + ARRAY_EXPR@[233; 250) + L_BRACK@[233; 234) "[" + CALL_EXPR@[234; 249) + PATH_EXPR@[234; 237) + PATH@[234; 237) + PATH_SEGMENT@[234; 237) + NAME_REF@[234; 237) + IDENT@[234; 237) "doc" + ARG_LIST@[237; 249) + L_PAREN@[237; 238) "(" + LITERAL@[238; 248) + STRING@[238; 248) "\"Nor here\"" + R_PAREN@[248; 249) ")" + R_BRACK@[249; 250) "]" + WHITESPACE@[250; 259) "\n " + MATCH_ARM@[259; 266) + PLACEHOLDER_PAT@[259; 260) + UNDERSCORE@[259; 260) "_" + WHITESPACE@[260; 261) " " + FAT_ARROW@[261; 263) "=>" + WHITESPACE@[263; 264) " " + TUPLE_EXPR@[264; 266) + L_PAREN@[264; 265) "(" + R_PAREN@[265; 266) ")" + COMMA@[266; 267) "," + WHITESPACE@[267; 276) "\n " + MATCH_ARM@[276; 283) + PLACEHOLDER_PAT@[276; 277) + UNDERSCORE@[276; 277) "_" + WHITESPACE@[277; 278) " " + FAT_ARROW@[278; 280) "=>" + WHITESPACE@[280; 281) " " + TUPLE_EXPR@[281; 283) + L_PAREN@[281; 282) "(" + R_PAREN@[282; 283) ")" + COMMA@[283; 284) "," + WHITESPACE@[284; 289) "\n " + R_CURLY@[289; 290) "}" + WHITESPACE@[290; 291) "\n" + R_CURLY@[291; 292) "}" + WHITESPACE@[292; 293) "\n" +error [52; 52): expected `[` +error [52; 52): expected pattern +error [53; 53): expected FAT_ARROW +error [78; 78): expected COMMA +error [161; 161): expected `[` +error [161; 161): expected pattern +error [162; 162): expected FAT_ARROW +error [232; 232): expected `[` +error [232; 232): expected pattern +error [233; 233): expected FAT_ARROW +error [250; 250): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt deleted file mode 100644 index c36e2f770..000000000 --- a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.txt +++ /dev/null @@ -1,204 +0,0 @@ -SOURCE_FILE@[0; 293) - FN_DEF@[0; 292) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 292) - BLOCK@[9; 292) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 101) - MATCH_EXPR@[15; 101) - MATCH_KW@[15; 20) "match" - WHITESPACE@[20; 21) " " - TUPLE_EXPR@[21; 23) - L_PAREN@[21; 22) "(" - R_PAREN@[22; 23) ")" - WHITESPACE@[23; 24) " " - MATCH_ARM_LIST@[24; 101) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 34) "\n " - MATCH_ARM@[34; 41) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) "_" - WHITESPACE@[35; 36) " " - FAT_ARROW@[36; 38) "=>" - WHITESPACE@[38; 39) " " - TUPLE_EXPR@[39; 41) - L_PAREN@[39; 40) "(" - R_PAREN@[40; 41) ")" - COMMA@[41; 42) "," - WHITESPACE@[42; 51) "\n " - MATCH_ARM@[51; 78) - ATTR@[51; 52) - POUND@[51; 52) "#" - ERROR@[52; 53) - EXCL@[52; 53) "!" - ARRAY_EXPR@[53; 78) - L_BRACK@[53; 54) "[" - CALL_EXPR@[54; 77) - PATH_EXPR@[54; 57) - PATH@[54; 57) - PATH_SEGMENT@[54; 57) - NAME_REF@[54; 57) - IDENT@[54; 57) "doc" - ARG_LIST@[57; 77) - L_PAREN@[57; 58) "(" - LITERAL@[58; 76) - STRING@[58; 76) "\"Not allowed here\"" - R_PAREN@[76; 77) ")" - R_BRACK@[77; 78) "]" - WHITESPACE@[78; 87) "\n " - MATCH_ARM@[87; 94) - PLACEHOLDER_PAT@[87; 88) - UNDERSCORE@[87; 88) "_" - WHITESPACE@[88; 89) " " - FAT_ARROW@[89; 91) "=>" - WHITESPACE@[91; 92) " " - TUPLE_EXPR@[92; 94) - L_PAREN@[92; 93) "(" - R_PAREN@[93; 94) ")" - COMMA@[94; 95) "," - WHITESPACE@[95; 100) "\n " - R_CURLY@[100; 101) "}" - WHITESPACE@[101; 107) "\n\n " - EXPR_STMT@[107; 185) - MATCH_EXPR@[107; 185) - MATCH_KW@[107; 112) "match" - WHITESPACE@[112; 113) " " - TUPLE_EXPR@[113; 115) - L_PAREN@[113; 114) "(" - R_PAREN@[114; 115) ")" - WHITESPACE@[115; 116) " " - MATCH_ARM_LIST@[116; 185) - L_CURLY@[116; 117) "{" - WHITESPACE@[117; 126) "\n " - MATCH_ARM@[126; 133) - PLACEHOLDER_PAT@[126; 127) - UNDERSCORE@[126; 127) "_" - WHITESPACE@[127; 128) " " - FAT_ARROW@[128; 130) "=>" - WHITESPACE@[130; 131) " " - TUPLE_EXPR@[131; 133) - L_PAREN@[131; 132) "(" - R_PAREN@[132; 133) ")" - COMMA@[133; 134) "," - WHITESPACE@[134; 143) "\n " - MATCH_ARM@[143; 150) - PLACEHOLDER_PAT@[143; 144) - UNDERSCORE@[143; 144) "_" - WHITESPACE@[144; 145) " " - FAT_ARROW@[145; 147) "=>" - WHITESPACE@[147; 148) " " - TUPLE_EXPR@[148; 150) - L_PAREN@[148; 149) "(" - R_PAREN@[149; 150) ")" - COMMA@[150; 151) "," - WHITESPACE@[151; 160) "\n " - MATCH_ARM@[160; 179) - ATTR@[160; 161) - POUND@[160; 161) "#" - ERROR@[161; 162) - EXCL@[161; 162) "!" - ARRAY_EXPR@[162; 179) - L_BRACK@[162; 163) "[" - CALL_EXPR@[163; 178) - PATH_EXPR@[163; 166) - PATH@[163; 166) - PATH_SEGMENT@[163; 166) - NAME_REF@[163; 166) - IDENT@[163; 166) "doc" - ARG_LIST@[166; 178) - L_PAREN@[166; 167) "(" - LITERAL@[167; 177) - STRING@[167; 177) "\"Nor here\"" - R_PAREN@[177; 178) ")" - R_BRACK@[178; 179) "]" - WHITESPACE@[179; 184) "\n " - R_CURLY@[184; 185) "}" - WHITESPACE@[185; 191) "\n\n " - MATCH_EXPR@[191; 290) - MATCH_KW@[191; 196) "match" - WHITESPACE@[196; 197) " " - TUPLE_EXPR@[197; 199) - L_PAREN@[197; 198) "(" - R_PAREN@[198; 199) ")" - WHITESPACE@[199; 200) " " - MATCH_ARM_LIST@[200; 290) - L_CURLY@[200; 201) "{" - WHITESPACE@[201; 210) "\n " - MATCH_ARM@[210; 250) - ATTR@[210; 222) - POUND@[210; 211) "#" - L_BRACK@[211; 212) "[" - PATH@[212; 215) - PATH_SEGMENT@[212; 215) - NAME_REF@[212; 215) - IDENT@[212; 215) "cfg" - TOKEN_TREE@[215; 221) - L_PAREN@[215; 216) "(" - IDENT@[216; 220) "test" - R_PAREN@[220; 221) ")" - R_BRACK@[221; 222) "]" - WHITESPACE@[222; 231) "\n " - ATTR@[231; 232) - POUND@[231; 232) "#" - ERROR@[232; 233) - EXCL@[232; 233) "!" - ARRAY_EXPR@[233; 250) - L_BRACK@[233; 234) "[" - CALL_EXPR@[234; 249) - PATH_EXPR@[234; 237) - PATH@[234; 237) - PATH_SEGMENT@[234; 237) - NAME_REF@[234; 237) - IDENT@[234; 237) "doc" - ARG_LIST@[237; 249) - L_PAREN@[237; 238) "(" - LITERAL@[238; 248) - STRING@[238; 248) "\"Nor here\"" - R_PAREN@[248; 249) ")" - R_BRACK@[249; 250) "]" - WHITESPACE@[250; 259) "\n " - MATCH_ARM@[259; 266) - PLACEHOLDER_PAT@[259; 260) - UNDERSCORE@[259; 260) "_" - WHITESPACE@[260; 261) " " - FAT_ARROW@[261; 263) "=>" - WHITESPACE@[263; 264) " " - TUPLE_EXPR@[264; 266) - L_PAREN@[264; 265) "(" - R_PAREN@[265; 266) ")" - COMMA@[266; 267) "," - WHITESPACE@[267; 276) "\n " - MATCH_ARM@[276; 283) - PLACEHOLDER_PAT@[276; 277) - UNDERSCORE@[276; 277) "_" - WHITESPACE@[277; 278) " " - FAT_ARROW@[278; 280) "=>" - WHITESPACE@[280; 281) " " - TUPLE_EXPR@[281; 283) - L_PAREN@[281; 282) "(" - R_PAREN@[282; 283) ")" - COMMA@[283; 284) "," - WHITESPACE@[284; 289) "\n " - R_CURLY@[289; 290) "}" - WHITESPACE@[290; 291) "\n" - R_CURLY@[291; 292) "}" - WHITESPACE@[292; 293) "\n" -error [52; 52): expected `[` -error [52; 52): expected pattern -error [53; 53): expected FAT_ARROW -error [78; 78): expected COMMA -error [161; 161): expected `[` -error [161; 161): expected pattern -error [162; 162): expected FAT_ARROW -error [232; 232): expected `[` -error [232; 232): expected pattern -error [233; 233): expected FAT_ARROW -error [250; 250): expected COMMA diff --git a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast new file mode 100644 index 000000000..e914e688b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast @@ -0,0 +1,67 @@ +SOURCE_FILE@[0; 89) + FN_DEF@[0; 88) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 88) + BLOCK@[9; 88) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + MATCH_EXPR@[15; 86) + MATCH_KW@[15; 20) "match" + WHITESPACE@[20; 21) " " + TUPLE_EXPR@[21; 23) + L_PAREN@[21; 22) "(" + R_PAREN@[22; 23) ")" + WHITESPACE@[23; 24) " " + MATCH_ARM_LIST@[24; 86) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 34) "\n " + MATCH_ARM@[34; 41) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) "_" + WHITESPACE@[35; 36) " " + FAT_ARROW@[36; 38) "=>" + WHITESPACE@[38; 39) " " + TUPLE_EXPR@[39; 41) + L_PAREN@[39; 40) "(" + R_PAREN@[40; 41) ")" + COMMA@[41; 42) "," + WHITESPACE@[42; 51) "\n " + MATCH_ARM@[51; 58) + PLACEHOLDER_PAT@[51; 52) + UNDERSCORE@[51; 52) "_" + WHITESPACE@[52; 53) " " + FAT_ARROW@[53; 55) "=>" + WHITESPACE@[55; 56) " " + TUPLE_EXPR@[56; 58) + L_PAREN@[56; 57) "(" + R_PAREN@[57; 58) ")" + COMMA@[58; 59) "," + WHITESPACE@[59; 68) "\n " + MATCH_ARM@[68; 80) + ATTR@[68; 80) + POUND@[68; 69) "#" + L_BRACK@[69; 70) "[" + PATH@[70; 73) + PATH_SEGMENT@[70; 73) + NAME_REF@[70; 73) + IDENT@[70; 73) "cfg" + TOKEN_TREE@[73; 79) + L_PAREN@[73; 74) "(" + IDENT@[74; 78) "test" + R_PAREN@[78; 79) ")" + R_BRACK@[79; 80) "]" + WHITESPACE@[80; 85) "\n " + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) "\n" + R_CURLY@[87; 88) "}" + WHITESPACE@[88; 89) "\n" +error [80; 80): expected pattern +error [80; 80): expected FAT_ARROW +error [80; 80): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt deleted file mode 100644 index e914e688b..000000000 --- a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.txt +++ /dev/null @@ -1,67 +0,0 @@ -SOURCE_FILE@[0; 89) - FN_DEF@[0; 88) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 88) - BLOCK@[9; 88) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - MATCH_EXPR@[15; 86) - MATCH_KW@[15; 20) "match" - WHITESPACE@[20; 21) " " - TUPLE_EXPR@[21; 23) - L_PAREN@[21; 22) "(" - R_PAREN@[22; 23) ")" - WHITESPACE@[23; 24) " " - MATCH_ARM_LIST@[24; 86) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 34) "\n " - MATCH_ARM@[34; 41) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) "_" - WHITESPACE@[35; 36) " " - FAT_ARROW@[36; 38) "=>" - WHITESPACE@[38; 39) " " - TUPLE_EXPR@[39; 41) - L_PAREN@[39; 40) "(" - R_PAREN@[40; 41) ")" - COMMA@[41; 42) "," - WHITESPACE@[42; 51) "\n " - MATCH_ARM@[51; 58) - PLACEHOLDER_PAT@[51; 52) - UNDERSCORE@[51; 52) "_" - WHITESPACE@[52; 53) " " - FAT_ARROW@[53; 55) "=>" - WHITESPACE@[55; 56) " " - TUPLE_EXPR@[56; 58) - L_PAREN@[56; 57) "(" - R_PAREN@[57; 58) ")" - COMMA@[58; 59) "," - WHITESPACE@[59; 68) "\n " - MATCH_ARM@[68; 80) - ATTR@[68; 80) - POUND@[68; 69) "#" - L_BRACK@[69; 70) "[" - PATH@[70; 73) - PATH_SEGMENT@[70; 73) - NAME_REF@[70; 73) - IDENT@[70; 73) "cfg" - TOKEN_TREE@[73; 79) - L_PAREN@[73; 74) "(" - IDENT@[74; 78) "test" - R_PAREN@[78; 79) ")" - R_BRACK@[79; 80) "]" - WHITESPACE@[80; 85) "\n " - R_CURLY@[85; 86) "}" - WHITESPACE@[86; 87) "\n" - R_CURLY@[87; 88) "}" - WHITESPACE@[88; 89) "\n" -error [80; 80): expected pattern -error [80; 80): expected FAT_ARROW -error [80; 80): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast new file mode 100644 index 000000000..2c91b6841 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast @@ -0,0 +1,96 @@ +SOURCE_FILE@[0; 91) + FN_DEF@[0; 89) + 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; 89) + BLOCK@[10; 89) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 27) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + BIND_PAT@[20; 27) + REF_KW@[20; 23) "ref" + WHITESPACE@[23; 24) " " + ERROR@[24; 27) + BOX_KW@[24; 27) "box" + WHITESPACE@[27; 28) " " + EXPR_STMT@[28; 35) + BIN_EXPR@[28; 34) + PATH_EXPR@[28; 29) + PATH@[28; 29) + PATH_SEGMENT@[28; 29) + NAME_REF@[28; 29) + IDENT@[28; 29) "i" + WHITESPACE@[29; 30) " " + EQ@[30; 31) "=" + WHITESPACE@[31; 32) " " + TUPLE_EXPR@[32; 34) + L_PAREN@[32; 33) "(" + R_PAREN@[33; 34) ")" + SEMI@[34; 35) ";" + WHITESPACE@[35; 40) "\n " + LET_STMT@[40; 51) + LET_KW@[40; 43) "let" + WHITESPACE@[43; 44) " " + BIND_PAT@[44; 51) + MUT_KW@[44; 47) "mut" + WHITESPACE@[47; 48) " " + ERROR@[48; 51) + BOX_KW@[48; 51) "box" + WHITESPACE@[51; 52) " " + EXPR_STMT@[52; 59) + BIN_EXPR@[52; 58) + PATH_EXPR@[52; 53) + PATH@[52; 53) + PATH_SEGMENT@[52; 53) + NAME_REF@[52; 53) + IDENT@[52; 53) "i" + WHITESPACE@[53; 54) " " + EQ@[54; 55) "=" + WHITESPACE@[55; 56) " " + TUPLE_EXPR@[56; 58) + L_PAREN@[56; 57) "(" + R_PAREN@[57; 58) ")" + SEMI@[58; 59) ";" + WHITESPACE@[59; 64) "\n " + LET_STMT@[64; 79) + LET_KW@[64; 67) "let" + WHITESPACE@[67; 68) " " + BIND_PAT@[68; 79) + REF_KW@[68; 71) "ref" + WHITESPACE@[71; 72) " " + MUT_KW@[72; 75) "mut" + WHITESPACE@[75; 76) " " + ERROR@[76; 79) + BOX_KW@[76; 79) "box" + WHITESPACE@[79; 80) " " + EXPR_STMT@[80; 87) + BIN_EXPR@[80; 86) + PATH_EXPR@[80; 81) + PATH@[80; 81) + PATH_SEGMENT@[80; 81) + NAME_REF@[80; 81) + IDENT@[80; 81) "i" + WHITESPACE@[81; 82) " " + EQ@[82; 83) "=" + WHITESPACE@[83; 84) " " + TUPLE_EXPR@[84; 86) + L_PAREN@[84; 85) "(" + R_PAREN@[85; 86) ")" + SEMI@[86; 87) ";" + WHITESPACE@[87; 88) "\n" + R_CURLY@[88; 89) "}" + WHITESPACE@[89; 91) "\n\n" +error [24; 24): expected a name +error [27; 27): expected SEMI +error [48; 48): expected a name +error [51; 51): expected SEMI +error [76; 76): expected a name +error [79; 79): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt deleted file mode 100644 index 2c91b6841..000000000 --- a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.txt +++ /dev/null @@ -1,96 +0,0 @@ -SOURCE_FILE@[0; 91) - FN_DEF@[0; 89) - 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; 89) - BLOCK@[10; 89) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 27) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - BIND_PAT@[20; 27) - REF_KW@[20; 23) "ref" - WHITESPACE@[23; 24) " " - ERROR@[24; 27) - BOX_KW@[24; 27) "box" - WHITESPACE@[27; 28) " " - EXPR_STMT@[28; 35) - BIN_EXPR@[28; 34) - PATH_EXPR@[28; 29) - PATH@[28; 29) - PATH_SEGMENT@[28; 29) - NAME_REF@[28; 29) - IDENT@[28; 29) "i" - WHITESPACE@[29; 30) " " - EQ@[30; 31) "=" - WHITESPACE@[31; 32) " " - TUPLE_EXPR@[32; 34) - L_PAREN@[32; 33) "(" - R_PAREN@[33; 34) ")" - SEMI@[34; 35) ";" - WHITESPACE@[35; 40) "\n " - LET_STMT@[40; 51) - LET_KW@[40; 43) "let" - WHITESPACE@[43; 44) " " - BIND_PAT@[44; 51) - MUT_KW@[44; 47) "mut" - WHITESPACE@[47; 48) " " - ERROR@[48; 51) - BOX_KW@[48; 51) "box" - WHITESPACE@[51; 52) " " - EXPR_STMT@[52; 59) - BIN_EXPR@[52; 58) - PATH_EXPR@[52; 53) - PATH@[52; 53) - PATH_SEGMENT@[52; 53) - NAME_REF@[52; 53) - IDENT@[52; 53) "i" - WHITESPACE@[53; 54) " " - EQ@[54; 55) "=" - WHITESPACE@[55; 56) " " - TUPLE_EXPR@[56; 58) - L_PAREN@[56; 57) "(" - R_PAREN@[57; 58) ")" - SEMI@[58; 59) ";" - WHITESPACE@[59; 64) "\n " - LET_STMT@[64; 79) - LET_KW@[64; 67) "let" - WHITESPACE@[67; 68) " " - BIND_PAT@[68; 79) - REF_KW@[68; 71) "ref" - WHITESPACE@[71; 72) " " - MUT_KW@[72; 75) "mut" - WHITESPACE@[75; 76) " " - ERROR@[76; 79) - BOX_KW@[76; 79) "box" - WHITESPACE@[79; 80) " " - EXPR_STMT@[80; 87) - BIN_EXPR@[80; 86) - PATH_EXPR@[80; 81) - PATH@[80; 81) - PATH_SEGMENT@[80; 81) - NAME_REF@[80; 81) - IDENT@[80; 81) "i" - WHITESPACE@[81; 82) " " - EQ@[82; 83) "=" - WHITESPACE@[83; 84) " " - TUPLE_EXPR@[84; 86) - L_PAREN@[84; 85) "(" - R_PAREN@[85; 86) ")" - SEMI@[86; 87) ";" - WHITESPACE@[87; 88) "\n" - R_CURLY@[88; 89) "}" - WHITESPACE@[89; 91) "\n\n" -error [24; 24): expected a name -error [27; 27): expected SEMI -error [48; 48): expected a name -error [51; 51): expected SEMI -error [76; 76): expected a name -error [79; 79): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast b/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast new file mode 100644 index 000000000..8cb4ea796 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast @@ -0,0 +1,54 @@ +SOURCE_FILE@[0; 48) + USE_ITEM@[0; 13) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 12) + PATH@[4; 12) + PATH@[4; 7) + PATH_SEGMENT@[4; 7) + NAME_REF@[4; 7) + IDENT@[4; 7) "foo" + COLONCOLON@[7; 9) "::" + PATH_SEGMENT@[9; 12) + NAME_REF@[9; 12) + IDENT@[9; 12) "bar" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" + USE_ITEM@[14; 17) + USE_KW@[14; 17) "use" + WHITESPACE@[17; 18) "\n" + USE_ITEM@[18; 33) + USE_KW@[18; 21) "use" + WHITESPACE@[21; 22) " " + USE_TREE@[22; 32) + PATH@[22; 32) + PATH@[22; 27) + PATH_SEGMENT@[22; 27) + CRATE_KW@[22; 27) "crate" + COLONCOLON@[27; 29) "::" + PATH_SEGMENT@[29; 32) + NAME_REF@[29; 32) + IDENT@[29; 32) "baz" + SEMI@[32; 33) ";" + WHITESPACE@[33; 34) "\n" + USE_ITEM@[34; 37) + USE_KW@[34; 37) "use" + WHITESPACE@[37; 38) "\n" + FN_DEF@[38; 47) + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 42) + IDENT@[41; 42) "f" + PARAM_LIST@[42; 44) + L_PAREN@[42; 43) "(" + R_PAREN@[43; 44) ")" + WHITESPACE@[44; 45) " " + BLOCK_EXPR@[45; 47) + BLOCK@[45; 47) + L_CURLY@[45; 46) "{" + R_CURLY@[46; 47) "}" + WHITESPACE@[47; 48) "\n" +error [17; 17): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [17; 17): expected SEMI +error [37; 37): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [37; 37): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0035_use_recover.txt b/crates/ra_syntax/test_data/parser/err/0035_use_recover.txt deleted file mode 100644 index 8cb4ea796..000000000 --- a/crates/ra_syntax/test_data/parser/err/0035_use_recover.txt +++ /dev/null @@ -1,54 +0,0 @@ -SOURCE_FILE@[0; 48) - USE_ITEM@[0; 13) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 12) - PATH@[4; 12) - PATH@[4; 7) - PATH_SEGMENT@[4; 7) - NAME_REF@[4; 7) - IDENT@[4; 7) "foo" - COLONCOLON@[7; 9) "::" - PATH_SEGMENT@[9; 12) - NAME_REF@[9; 12) - IDENT@[9; 12) "bar" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) "\n" - USE_ITEM@[14; 17) - USE_KW@[14; 17) "use" - WHITESPACE@[17; 18) "\n" - USE_ITEM@[18; 33) - USE_KW@[18; 21) "use" - WHITESPACE@[21; 22) " " - USE_TREE@[22; 32) - PATH@[22; 32) - PATH@[22; 27) - PATH_SEGMENT@[22; 27) - CRATE_KW@[22; 27) "crate" - COLONCOLON@[27; 29) "::" - PATH_SEGMENT@[29; 32) - NAME_REF@[29; 32) - IDENT@[29; 32) "baz" - SEMI@[32; 33) ";" - WHITESPACE@[33; 34) "\n" - USE_ITEM@[34; 37) - USE_KW@[34; 37) "use" - WHITESPACE@[37; 38) "\n" - FN_DEF@[38; 47) - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 42) - IDENT@[41; 42) "f" - PARAM_LIST@[42; 44) - L_PAREN@[42; 43) "(" - R_PAREN@[43; 44) ")" - WHITESPACE@[44; 45) " " - BLOCK_EXPR@[45; 47) - BLOCK@[45; 47) - L_CURLY@[45; 46) "{" - R_CURLY@[46; 47) "}" - WHITESPACE@[47; 48) "\n" -error [17; 17): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [17; 17): expected SEMI -error [37; 37): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [37; 37): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast b/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast new file mode 100644 index 000000000..f5490fbe8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast @@ -0,0 +1,51 @@ +SOURCE_FILE@[0; 37) + USE_ITEM@[0; 36) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 36) + PATH@[4; 7) + PATH_SEGMENT@[4; 7) + NAME_REF@[4; 7) + IDENT@[4; 7) "std" + COLONCOLON@[7; 9) "::" + USE_TREE_LIST@[9; 36) + L_CURLY@[9; 10) "{" + USE_TREE@[10; 22) + PATH@[10; 22) + PATH@[10; 15) + PATH_SEGMENT@[10; 15) + NAME_REF@[10; 15) + IDENT@[10; 15) "error" + COLONCOLON@[15; 17) "::" + PATH_SEGMENT@[17; 22) + NAME_REF@[17; 22) + IDENT@[17; 22) "Error" + ERROR@[22; 23) + SEMI@[22; 23) ";" + WHITESPACE@[23; 24) "\n" + ERROR@[24; 27) + USE_KW@[24; 27) "use" + WHITESPACE@[27; 28) " " + USE_TREE@[28; 35) + PATH@[28; 35) + PATH@[28; 31) + PATH_SEGMENT@[28; 31) + NAME_REF@[28; 31) + IDENT@[28; 31) "std" + COLONCOLON@[31; 33) "::" + PATH_SEGMENT@[33; 35) + NAME_REF@[33; 35) + IDENT@[33; 35) "io" + ERROR@[35; 36) + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" +error [22; 22): expected COMMA +error [22; 22): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [23; 23): expected COMMA +error [24; 24): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [27; 27): expected COMMA +error [35; 35): expected COMMA +error [35; 35): expected one of `*`, `::`, `{`, `self`, `super` or an identifier +error [36; 36): expected COMMA +error [36; 36): expected R_CURLY +error [36; 36): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0036_partial_use.txt b/crates/ra_syntax/test_data/parser/err/0036_partial_use.txt deleted file mode 100644 index f5490fbe8..000000000 --- a/crates/ra_syntax/test_data/parser/err/0036_partial_use.txt +++ /dev/null @@ -1,51 +0,0 @@ -SOURCE_FILE@[0; 37) - USE_ITEM@[0; 36) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 36) - PATH@[4; 7) - PATH_SEGMENT@[4; 7) - NAME_REF@[4; 7) - IDENT@[4; 7) "std" - COLONCOLON@[7; 9) "::" - USE_TREE_LIST@[9; 36) - L_CURLY@[9; 10) "{" - USE_TREE@[10; 22) - PATH@[10; 22) - PATH@[10; 15) - PATH_SEGMENT@[10; 15) - NAME_REF@[10; 15) - IDENT@[10; 15) "error" - COLONCOLON@[15; 17) "::" - PATH_SEGMENT@[17; 22) - NAME_REF@[17; 22) - IDENT@[17; 22) "Error" - ERROR@[22; 23) - SEMI@[22; 23) ";" - WHITESPACE@[23; 24) "\n" - ERROR@[24; 27) - USE_KW@[24; 27) "use" - WHITESPACE@[27; 28) " " - USE_TREE@[28; 35) - PATH@[28; 35) - PATH@[28; 31) - PATH_SEGMENT@[28; 31) - NAME_REF@[28; 31) - IDENT@[28; 31) "std" - COLONCOLON@[31; 33) "::" - PATH_SEGMENT@[33; 35) - NAME_REF@[33; 35) - IDENT@[33; 35) "io" - ERROR@[35; 36) - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" -error [22; 22): expected COMMA -error [22; 22): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [23; 23): expected COMMA -error [24; 24): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [27; 27): expected COMMA -error [35; 35): expected COMMA -error [35; 35): expected one of `*`, `::`, `{`, `self`, `super` or an identifier -error [36; 36): expected COMMA -error [36; 36): expected R_CURLY -error [36; 36): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast new file mode 100644 index 000000000..d8622d45f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast @@ -0,0 +1,99 @@ +SOURCE_FILE@[0; 118) + IMPL_DEF@[0; 117) + 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) "T" + WHITESPACE@[6; 7) " " + FOR_KW@[7; 10) "for" + WHITESPACE@[10; 11) " " + TUPLE_TYPE@[11; 13) + L_PAREN@[11; 12) "(" + R_PAREN@[12; 13) ")" + WHITESPACE@[13; 14) " " + ITEM_LIST@[14; 117) + L_CURLY@[14; 15) "{" + WHITESPACE@[15; 20) "\n " + FN_DEF@[20; 31) + FN_KW@[20; 22) "fn" + WHITESPACE@[22; 23) " " + NAME@[23; 26) + IDENT@[23; 26) "foo" + PARAM_LIST@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + WHITESPACE@[28; 29) " " + BLOCK_EXPR@[29; 31) + BLOCK@[29; 31) + L_CURLY@[29; 30) "{" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 36) "\n " + FN_DEF@[36; 51) + VISIBILITY@[36; 39) + PUB_KW@[36; 39) "pub" + WHITESPACE@[39; 40) " " + FN_KW@[40; 42) "fn" + WHITESPACE@[42; 43) " " + NAME@[43; 46) + IDENT@[43; 46) "bar" + PARAM_LIST@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + WHITESPACE@[48; 49) " " + BLOCK_EXPR@[49; 51) + BLOCK@[49; 51) + L_CURLY@[49; 50) "{" + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 56) "\n " + TYPE_ALIAS_DEF@[56; 81) + VISIBILITY@[56; 66) + PUB_KW@[56; 59) "pub" + L_PAREN@[59; 60) "(" + CRATE_KW@[60; 65) "crate" + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " + TYPE_KW@[67; 71) "type" + WHITESPACE@[71; 72) " " + NAME@[72; 75) + IDENT@[72; 75) "Baz" + WHITESPACE@[75; 76) " " + EQ@[76; 77) "=" + WHITESPACE@[77; 78) " " + TUPLE_TYPE@[78; 80) + L_PAREN@[78; 79) "(" + R_PAREN@[79; 80) ")" + SEMI@[80; 81) ";" + WHITESPACE@[81; 86) "\n " + CONST_DEF@[86; 115) + VISIBILITY@[86; 96) + PUB_KW@[86; 89) "pub" + L_PAREN@[89; 90) "(" + CRATE_KW@[90; 95) "crate" + R_PAREN@[95; 96) ")" + WHITESPACE@[96; 97) " " + CONST_KW@[97; 102) "const" + WHITESPACE@[102; 103) " " + NAME@[103; 104) + IDENT@[103; 104) "C" + COLON@[104; 105) ":" + WHITESPACE@[105; 106) " " + PATH_TYPE@[106; 109) + PATH@[106; 109) + PATH_SEGMENT@[106; 109) + NAME_REF@[106; 109) + IDENT@[106; 109) "i32" + WHITESPACE@[109; 110) " " + EQ@[110; 111) "=" + WHITESPACE@[111; 112) " " + LITERAL@[112; 114) + INT_NUMBER@[112; 114) "92" + SEMI@[114; 115) ";" + WHITESPACE@[115; 116) "\n" + R_CURLY@[116; 117) "}" + WHITESPACE@[117; 118) "\n" +error [36; 39): Unnecessary visibility qualifier +error [56; 66): Unnecessary visibility qualifier +error [86; 96): Unnecessary visibility qualifier diff --git a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.txt b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.txt deleted file mode 100644 index d8622d45f..000000000 --- a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.txt +++ /dev/null @@ -1,99 +0,0 @@ -SOURCE_FILE@[0; 118) - IMPL_DEF@[0; 117) - 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) "T" - WHITESPACE@[6; 7) " " - FOR_KW@[7; 10) "for" - WHITESPACE@[10; 11) " " - TUPLE_TYPE@[11; 13) - L_PAREN@[11; 12) "(" - R_PAREN@[12; 13) ")" - WHITESPACE@[13; 14) " " - ITEM_LIST@[14; 117) - L_CURLY@[14; 15) "{" - WHITESPACE@[15; 20) "\n " - FN_DEF@[20; 31) - FN_KW@[20; 22) "fn" - WHITESPACE@[22; 23) " " - NAME@[23; 26) - IDENT@[23; 26) "foo" - PARAM_LIST@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - WHITESPACE@[28; 29) " " - BLOCK_EXPR@[29; 31) - BLOCK@[29; 31) - L_CURLY@[29; 30) "{" - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 36) "\n " - FN_DEF@[36; 51) - VISIBILITY@[36; 39) - PUB_KW@[36; 39) "pub" - WHITESPACE@[39; 40) " " - FN_KW@[40; 42) "fn" - WHITESPACE@[42; 43) " " - NAME@[43; 46) - IDENT@[43; 46) "bar" - PARAM_LIST@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - WHITESPACE@[48; 49) " " - BLOCK_EXPR@[49; 51) - BLOCK@[49; 51) - L_CURLY@[49; 50) "{" - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 56) "\n " - TYPE_ALIAS_DEF@[56; 81) - VISIBILITY@[56; 66) - PUB_KW@[56; 59) "pub" - L_PAREN@[59; 60) "(" - CRATE_KW@[60; 65) "crate" - R_PAREN@[65; 66) ")" - WHITESPACE@[66; 67) " " - TYPE_KW@[67; 71) "type" - WHITESPACE@[71; 72) " " - NAME@[72; 75) - IDENT@[72; 75) "Baz" - WHITESPACE@[75; 76) " " - EQ@[76; 77) "=" - WHITESPACE@[77; 78) " " - TUPLE_TYPE@[78; 80) - L_PAREN@[78; 79) "(" - R_PAREN@[79; 80) ")" - SEMI@[80; 81) ";" - WHITESPACE@[81; 86) "\n " - CONST_DEF@[86; 115) - VISIBILITY@[86; 96) - PUB_KW@[86; 89) "pub" - L_PAREN@[89; 90) "(" - CRATE_KW@[90; 95) "crate" - R_PAREN@[95; 96) ")" - WHITESPACE@[96; 97) " " - CONST_KW@[97; 102) "const" - WHITESPACE@[102; 103) " " - NAME@[103; 104) - IDENT@[103; 104) "C" - COLON@[104; 105) ":" - WHITESPACE@[105; 106) " " - PATH_TYPE@[106; 109) - PATH@[106; 109) - PATH_SEGMENT@[106; 109) - NAME_REF@[106; 109) - IDENT@[106; 109) "i32" - WHITESPACE@[109; 110) " " - EQ@[110; 111) "=" - WHITESPACE@[111; 112) " " - LITERAL@[112; 114) - INT_NUMBER@[112; 114) "92" - SEMI@[114; 115) ";" - WHITESPACE@[115; 116) "\n" - R_CURLY@[116; 117) "}" - WHITESPACE@[117; 118) "\n" -error [36; 39): Unnecessary visibility qualifier -error [56; 66): Unnecessary visibility qualifier -error [86; 96): Unnecessary visibility qualifier diff --git a/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast b/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast new file mode 100644 index 000000000..3810b9680 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast @@ -0,0 +1,30 @@ +SOURCE_FILE@[0; 33) + FN_DEF@[0; 32) + 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; 32) + BLOCK@[10; 32) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + EXPR_STMT@[16; 21) + RANGE_EXPR@[16; 20) + LITERAL@[16; 17) + INT_NUMBER@[16; 17) "0" + DOTDOTEQ@[17; 20) "..=" + SEMI@[20; 21) ";" + WHITESPACE@[21; 26) "\n " + EXPR_STMT@[26; 30) + RANGE_EXPR@[26; 29) + DOTDOTEQ@[26; 29) "..=" + SEMI@[29; 30) ";" + WHITESPACE@[30; 31) "\n" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" +error [16; 20): An inclusive range must have an end expression +error [26; 29): An inclusive range must have an end expression diff --git a/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.txt b/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.txt deleted file mode 100644 index 3810b9680..000000000 --- a/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.txt +++ /dev/null @@ -1,30 +0,0 @@ -SOURCE_FILE@[0; 33) - FN_DEF@[0; 32) - 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; 32) - BLOCK@[10; 32) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - EXPR_STMT@[16; 21) - RANGE_EXPR@[16; 20) - LITERAL@[16; 17) - INT_NUMBER@[16; 17) "0" - DOTDOTEQ@[17; 20) "..=" - SEMI@[20; 21) ";" - WHITESPACE@[21; 26) "\n " - EXPR_STMT@[26; 30) - RANGE_EXPR@[26; 29) - DOTDOTEQ@[26; 29) "..=" - SEMI@[29; 30) ";" - WHITESPACE@[30; 31) "\n" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" -error [16; 20): An inclusive range must have an end expression -error [26; 29): An inclusive range must have an end expression diff --git a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast new file mode 100644 index 000000000..4a2f0a696 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast @@ -0,0 +1,83 @@ +SOURCE_FILE@[0; 83) + FN_DEF@[0; 82) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + RET_TYPE@[9; 15) + THIN_ARROW@[9; 11) "->" + WHITESPACE@[11; 12) " " + PATH_TYPE@[12; 15) + PATH@[12; 15) + PATH_SEGMENT@[12; 15) + NAME_REF@[12; 15) + IDENT@[12; 15) "i32" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 82) + BLOCK@[16; 82) + L_CURLY@[16; 17) "{" + WHITESPACE@[17; 22) "\n " + EXPR_STMT@[22; 80) + METHOD_CALL_EXPR@[22; 79) + METHOD_CALL_EXPR@[22; 57) + METHOD_CALL_EXPR@[22; 38) + ARRAY_EXPR@[22; 31) + L_BRACK@[22; 23) "[" + LITERAL@[23; 24) + INT_NUMBER@[23; 24) "1" + COMMA@[24; 25) "," + WHITESPACE@[25; 26) " " + LITERAL@[26; 27) + INT_NUMBER@[26; 27) "2" + COMMA@[27; 28) "," + WHITESPACE@[28; 29) " " + LITERAL@[29; 30) + INT_NUMBER@[29; 30) "3" + R_BRACK@[30; 31) "]" + DOT@[31; 32) "." + NAME_REF@[32; 36) + IDENT@[32; 36) "iter" + ARG_LIST@[36; 38) + L_PAREN@[36; 37) "(" + R_PAREN@[37; 38) ")" + WHITESPACE@[38; 47) "\n " + DOT@[47; 48) "." + NAME_REF@[48; 51) + IDENT@[48; 51) "map" + ARG_LIST@[51; 57) + L_PAREN@[51; 52) "(" + LAMBDA_EXPR@[52; 56) + PARAM_LIST@[52; 56) + PIPE@[52; 53) "|" + PARAM@[53; 55) + BIND_PAT@[53; 55) + NAME@[53; 55) + IDENT@[53; 55) "it" + PIPE@[55; 56) "|" + R_PAREN@[56; 57) ")" + WHITESPACE@[57; 66) "\n " + DOT@[66; 67) "." + NAME_REF@[67; 70) + IDENT@[67; 70) "max" + TYPE_ARG_LIST@[70; 77) + COLONCOLON@[70; 72) "::" + L_ANGLE@[72; 73) "<" + TYPE_ARG@[73; 76) + PATH_TYPE@[73; 76) + PATH@[73; 76) + PATH_SEGMENT@[73; 76) + NAME_REF@[73; 76) + IDENT@[73; 76) "i32" + R_ANGLE@[76; 77) ">" + ARG_LIST@[77; 79) + L_PAREN@[77; 78) "(" + R_PAREN@[78; 79) ")" + SEMI@[79; 80) ";" + WHITESPACE@[80; 81) "\n" + R_CURLY@[81; 82) "}" + WHITESPACE@[82; 83) "\n" +error [56; 56): expected expression diff --git a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.txt b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.txt deleted file mode 100644 index 4a2f0a696..000000000 --- a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.txt +++ /dev/null @@ -1,83 +0,0 @@ -SOURCE_FILE@[0; 83) - FN_DEF@[0; 82) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - RET_TYPE@[9; 15) - THIN_ARROW@[9; 11) "->" - WHITESPACE@[11; 12) " " - PATH_TYPE@[12; 15) - PATH@[12; 15) - PATH_SEGMENT@[12; 15) - NAME_REF@[12; 15) - IDENT@[12; 15) "i32" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 82) - BLOCK@[16; 82) - L_CURLY@[16; 17) "{" - WHITESPACE@[17; 22) "\n " - EXPR_STMT@[22; 80) - METHOD_CALL_EXPR@[22; 79) - METHOD_CALL_EXPR@[22; 57) - METHOD_CALL_EXPR@[22; 38) - ARRAY_EXPR@[22; 31) - L_BRACK@[22; 23) "[" - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "1" - COMMA@[24; 25) "," - WHITESPACE@[25; 26) " " - LITERAL@[26; 27) - INT_NUMBER@[26; 27) "2" - COMMA@[27; 28) "," - WHITESPACE@[28; 29) " " - LITERAL@[29; 30) - INT_NUMBER@[29; 30) "3" - R_BRACK@[30; 31) "]" - DOT@[31; 32) "." - NAME_REF@[32; 36) - IDENT@[32; 36) "iter" - ARG_LIST@[36; 38) - L_PAREN@[36; 37) "(" - R_PAREN@[37; 38) ")" - WHITESPACE@[38; 47) "\n " - DOT@[47; 48) "." - NAME_REF@[48; 51) - IDENT@[48; 51) "map" - ARG_LIST@[51; 57) - L_PAREN@[51; 52) "(" - LAMBDA_EXPR@[52; 56) - PARAM_LIST@[52; 56) - PIPE@[52; 53) "|" - PARAM@[53; 55) - BIND_PAT@[53; 55) - NAME@[53; 55) - IDENT@[53; 55) "it" - PIPE@[55; 56) "|" - R_PAREN@[56; 57) ")" - WHITESPACE@[57; 66) "\n " - DOT@[66; 67) "." - NAME_REF@[67; 70) - IDENT@[67; 70) "max" - TYPE_ARG_LIST@[70; 77) - COLONCOLON@[70; 72) "::" - L_ANGLE@[72; 73) "<" - TYPE_ARG@[73; 76) - PATH_TYPE@[73; 76) - PATH@[73; 76) - PATH_SEGMENT@[73; 76) - NAME_REF@[73; 76) - IDENT@[73; 76) "i32" - R_ANGLE@[76; 77) ">" - ARG_LIST@[77; 79) - L_PAREN@[77; 78) "(" - R_PAREN@[78; 79) ")" - SEMI@[79; 80) ";" - WHITESPACE@[80; 81) "\n" - R_CURLY@[81; 82) "}" - WHITESPACE@[82; 83) "\n" -error [56; 56): expected expression -- cgit v1.2.3