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. --- crates/ra_syntax/src/tests.rs | 14 +- .../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 - .../inline/err/0001_array_type_missing_semi.rast | 27 + .../inline/err/0001_array_type_missing_semi.txt | 27 - .../inline/err/0002_misplaced_label_err.rast | 29 + .../parser/inline/err/0002_misplaced_label_err.txt | 29 - .../err/0003_pointer_type_no_mutability.rast | 17 + .../inline/err/0003_pointer_type_no_mutability.txt | 17 - .../parser/inline/err/0004_impl_type.rast | 79 + .../test_data/parser/inline/err/0004_impl_type.txt | 79 - .../err/0005_fn_pointer_type_missing_fn.rast | 23 + .../inline/err/0005_fn_pointer_type_missing_fn.txt | 23 - .../inline/err/0006_unsafe_block_in_mod.rast | 37 + .../parser/inline/err/0006_unsafe_block_in_mod.txt | 37 - .../inline/err/0007_async_without_semicolon.rast | 32 + .../inline/err/0007_async_without_semicolon.txt | 32 - .../test_data/parser/inline/err/0008_pub_expr.rast | 26 + .../test_data/parser/inline/err/0008_pub_expr.txt | 26 - .../inline/err/0009_attr_on_expr_not_allowed.rast | 61 + .../inline/err/0009_attr_on_expr_not_allowed.txt | 61 - .../inline/err/0010_bad_tuple_index_expr.rast | 53 + .../inline/err/0010_bad_tuple_index_expr.txt | 53 - .../parser/inline/err/0010_wrong_order_fns.rast | 41 + .../parser/inline/err/0010_wrong_order_fns.txt | 41 - .../parser/inline/err/0013_static_underscore.rast | 21 + .../parser/inline/err/0013_static_underscore.txt | 21 - .../parser/inline/err/0014_default_fn_type.rast | 59 + .../parser/inline/err/0014_default_fn_type.txt | 59 - .../parser/inline/ok/0001_trait_item_list.rast | 72 + .../parser/inline/ok/0001_trait_item_list.txt | 72 - .../parser/inline/ok/0002_use_tree_list.rast | 135 ++ .../parser/inline/ok/0002_use_tree_list.txt | 135 -- .../parser/inline/ok/0003_where_pred_for.rast | 62 + .../parser/inline/ok/0003_where_pred_for.txt | 62 - .../ok/0004_value_parameters_no_patterns.rast | 60 + .../ok/0004_value_parameters_no_patterns.txt | 60 - .../inline/ok/0005_function_type_params.rast | 38 + .../parser/inline/ok/0005_function_type_params.txt | 38 - .../parser/inline/ok/0006_self_param.rast | 121 + .../test_data/parser/inline/ok/0006_self_param.txt | 121 - .../parser/inline/ok/0007_type_param_bounds.rast | 40 + .../parser/inline/ok/0007_type_param_bounds.txt | 40 - .../test_data/parser/inline/ok/0008_path_part.rast | 97 + .../test_data/parser/inline/ok/0008_path_part.txt | 97 - .../test_data/parser/inline/ok/0009_loop_expr.rast | 26 + .../test_data/parser/inline/ok/0009_loop_expr.txt | 26 - .../parser/inline/ok/0010_extern_block.rast | 9 + .../parser/inline/ok/0010_extern_block.txt | 9 - .../parser/inline/ok/0011_field_expr.rast | 60 + .../test_data/parser/inline/ok/0011_field_expr.txt | 60 - .../inline/ok/0012_type_item_where_clause.rast | 33 + .../inline/ok/0012_type_item_where_clause.txt | 33 - .../parser/inline/ok/0013_pointer_type_mut.rast | 35 + .../parser/inline/ok/0013_pointer_type_mut.txt | 35 - .../parser/inline/ok/0014_never_type.rast | 13 + .../test_data/parser/inline/ok/0014_never_type.txt | 13 - .../parser/inline/ok/0015_continue_expr.rast | 37 + .../parser/inline/ok/0015_continue_expr.txt | 37 - .../parser/inline/ok/0016_unsafe_trait.rast | 13 + .../parser/inline/ok/0016_unsafe_trait.txt | 13 - .../parser/inline/ok/0017_array_type.rast | 21 + .../test_data/parser/inline/ok/0017_array_type.txt | 21 - .../parser/inline/ok/0018_arb_self_types.rast | 74 + .../parser/inline/ok/0018_arb_self_types.txt | 74 - .../parser/inline/ok/0019_unary_expr.rast | 45 + .../test_data/parser/inline/ok/0019_unary_expr.txt | 45 - .../test_data/parser/inline/ok/0020_use_star.rast | 59 + .../test_data/parser/inline/ok/0020_use_star.txt | 59 - .../parser/inline/ok/0021_impl_item_list.rast | 80 + .../parser/inline/ok/0021_impl_item_list.txt | 80 - .../parser/inline/ok/0022_crate_visibility.rast | 53 + .../parser/inline/ok/0022_crate_visibility.txt | 53 - .../parser/inline/ok/0023_placeholder_type.rast | 13 + .../parser/inline/ok/0023_placeholder_type.txt | 13 - .../test_data/parser/inline/ok/0024_slice_pat.rast | 42 + .../test_data/parser/inline/ok/0024_slice_pat.txt | 42 - .../parser/inline/ok/0025_slice_type.rast | 17 + .../test_data/parser/inline/ok/0025_slice_type.txt | 17 - .../parser/inline/ok/0026_tuple_pat_fields.rast | 105 + .../parser/inline/ok/0026_tuple_pat_fields.txt | 105 - .../test_data/parser/inline/ok/0027_ref_pat.rast | 50 + .../test_data/parser/inline/ok/0027_ref_pat.txt | 50 - .../parser/inline/ok/0028_impl_trait_type.rast | 43 + .../parser/inline/ok/0028_impl_trait_type.txt | 43 - .../test_data/parser/inline/ok/0029_cast_expr.rast | 90 + .../test_data/parser/inline/ok/0029_cast_expr.txt | 90 - .../test_data/parser/inline/ok/0030_cond.rast | 209 ++ .../test_data/parser/inline/ok/0030_cond.txt | 209 -- .../parser/inline/ok/0031_while_expr.rast | 89 + .../test_data/parser/inline/ok/0031_while_expr.txt | 89 - .../parser/inline/ok/0032_fn_pointer_type.rast | 98 + .../parser/inline/ok/0032_fn_pointer_type.txt | 98 - .../parser/inline/ok/0033_reference_type;.rast | 50 + .../parser/inline/ok/0033_reference_type;.txt | 50 - .../parser/inline/ok/0034_break_expr.rast | 55 + .../test_data/parser/inline/ok/0034_break_expr.txt | 55 - .../parser/inline/ok/0036_unsafe_extern_fn.rast | 22 + .../parser/inline/ok/0036_unsafe_extern_fn.txt | 22 - .../parser/inline/ok/0037_qual_paths.rast | 79 + .../test_data/parser/inline/ok/0037_qual_paths.txt | 79 - .../parser/inline/ok/0038_full_range_expr.rast | 29 + .../parser/inline/ok/0038_full_range_expr.txt | 29 - .../test_data/parser/inline/ok/0039_type_arg.rast | 55 + .../test_data/parser/inline/ok/0039_type_arg.txt | 55 - .../parser/inline/ok/0040_crate_keyword_vis.rast | 63 + .../parser/inline/ok/0040_crate_keyword_vis.txt | 63 - .../parser/inline/ok/0041_trait_item.rast | 125 ++ .../test_data/parser/inline/ok/0041_trait_item.txt | 125 -- .../test_data/parser/inline/ok/0042_call_expr.rast | 148 ++ .../test_data/parser/inline/ok/0042_call_expr.txt | 148 -- .../test_data/parser/inline/ok/0043_use_alias.rast | 138 ++ .../test_data/parser/inline/ok/0043_use_alias.txt | 138 -- .../parser/inline/ok/0044_block_items.rast | 30 + .../parser/inline/ok/0044_block_items.txt | 30 - .../inline/ok/0045_param_list_opt_patterns.rast | 47 + .../inline/ok/0045_param_list_opt_patterns.txt | 47 - .../inline/ok/0046_singleton_tuple_type.rast | 20 + .../parser/inline/ok/0046_singleton_tuple_type.txt | 20 - .../parser/inline/ok/0047_unsafe_default_impl.rast | 18 + .../parser/inline/ok/0047_unsafe_default_impl.txt | 18 - .../inline/ok/0048_path_type_with_bounds.rast | 83 + .../inline/ok/0048_path_type_with_bounds.txt | 83 - .../test_data/parser/inline/ok/0050_fn_decl.rast | 22 + .../test_data/parser/inline/ok/0050_fn_decl.txt | 22 - .../test_data/parser/inline/ok/0051_unit_type.rast | 14 + .../test_data/parser/inline/ok/0051_unit_type.txt | 14 - .../test_data/parser/inline/ok/0052_path_type.rast | 70 + .../test_data/parser/inline/ok/0052_path_type.txt | 70 - .../test_data/parser/inline/ok/0053_path_expr.rast | 96 + .../test_data/parser/inline/ok/0053_path_expr.txt | 96 - .../parser/inline/ok/0054_record_field_attrs.rast | 44 + .../parser/inline/ok/0054_record_field_attrs.txt | 44 - .../parser/inline/ok/0055_literal_pattern.rast | 77 + .../parser/inline/ok/0055_literal_pattern.txt | 77 - .../parser/inline/ok/0056_where_clause.rast | 111 + .../parser/inline/ok/0056_where_clause.txt | 111 - .../test_data/parser/inline/ok/0057_const_fn.rast | 17 + .../test_data/parser/inline/ok/0057_const_fn.txt | 17 - .../test_data/parser/inline/ok/0058_range_pat.rast | 83 + .../test_data/parser/inline/ok/0058_range_pat.txt | 83 - .../parser/inline/ok/0059_match_arms_commas.rast | 60 + .../parser/inline/ok/0059_match_arms_commas.txt | 60 - .../parser/inline/ok/0060_extern_crate.rast | 10 + .../parser/inline/ok/0060_extern_crate.txt | 10 - .../parser/inline/ok/0061_record_lit.rast | 119 + .../test_data/parser/inline/ok/0061_record_lit.txt | 119 - .../parser/inline/ok/0062_mod_contents.rast | 67 + .../parser/inline/ok/0062_mod_contents.txt | 67 - .../parser/inline/ok/0063_impl_def_neg.rast | 23 + .../parser/inline/ok/0063_impl_def_neg.txt | 23 - .../test_data/parser/inline/ok/0064_if_expr.rast | 132 ++ .../test_data/parser/inline/ok/0064_if_expr.txt | 132 -- .../parser/inline/ok/0065_dyn_trait_type.rast | 43 + .../parser/inline/ok/0065_dyn_trait_type.txt | 43 - .../test_data/parser/inline/ok/0066_match_arm.rast | 152 ++ .../test_data/parser/inline/ok/0066_match_arm.txt | 152 -- .../parser/inline/ok/0067_crate_path.rast | 15 + .../test_data/parser/inline/ok/0067_crate_path.txt | 15 - .../parser/inline/ok/0068_union_items.rast | 46 + .../parser/inline/ok/0068_union_items.txt | 46 - .../inline/ok/0069_use_tree_list_after_path.rast | 37 + .../inline/ok/0069_use_tree_list_after_path.txt | 37 - .../inline/ok/0070_stmt_bin_expr_ambiguity.rast | 53 + .../inline/ok/0070_stmt_bin_expr_ambiguity.txt | 53 - .../parser/inline/ok/0071_match_expr.rast | 96 + .../test_data/parser/inline/ok/0071_match_expr.txt | 96 - .../parser/inline/ok/0072_return_expr.rast | 29 + .../parser/inline/ok/0072_return_expr.txt | 29 - .../inline/ok/0073_type_item_type_params.rast | 20 + .../inline/ok/0073_type_item_type_params.txt | 20 - .../ok/0074_stmt_postfix_expr_ambiguity.rast | 63 + .../inline/ok/0074_stmt_postfix_expr_ambiguity.txt | 63 - .../test_data/parser/inline/ok/0075_block.rast | 90 + .../test_data/parser/inline/ok/0075_block.txt | 90 - .../inline/ok/0076_function_where_clause.rast | 40 + .../inline/ok/0076_function_where_clause.txt | 40 - .../test_data/parser/inline/ok/0077_try_expr.rast | 26 + .../test_data/parser/inline/ok/0077_try_expr.txt | 26 - .../test_data/parser/inline/ok/0078_type_item.rast | 16 + .../test_data/parser/inline/ok/0078_type_item.txt | 16 - .../test_data/parser/inline/ok/0079_impl_def.rast | 14 + .../test_data/parser/inline/ok/0079_impl_def.txt | 14 - .../parser/inline/ok/0080_postfix_range.rast | 96 + .../parser/inline/ok/0080_postfix_range.txt | 96 - .../test_data/parser/inline/ok/0081_for_type.rast | 243 ++ .../test_data/parser/inline/ok/0081_for_type.txt | 243 -- .../test_data/parser/inline/ok/0082_ref_expr.rast | 55 + .../test_data/parser/inline/ok/0082_ref_expr.txt | 55 - .../parser/inline/ok/0083_struct_items.rast | 87 + .../parser/inline/ok/0083_struct_items.txt | 87 - .../parser/inline/ok/0084_paren_type.rast | 19 + .../test_data/parser/inline/ok/0084_paren_type.txt | 19 - .../parser/inline/ok/0085_expr_literals.rast | 136 ++ .../parser/inline/ok/0085_expr_literals.txt | 136 -- .../parser/inline/ok/0086_function_ret_type.rast | 36 + .../parser/inline/ok/0086_function_ret_type.txt | 36 - .../parser/inline/ok/0087_unsafe_impl.rast | 16 + .../parser/inline/ok/0087_unsafe_impl.txt | 16 - .../parser/inline/ok/0088_break_ambiguity.rast | 69 + .../parser/inline/ok/0088_break_ambiguity.txt | 69 - .../test_data/parser/inline/ok/0089_extern_fn.rast | 18 + .../test_data/parser/inline/ok/0089_extern_fn.txt | 18 - .../parser/inline/ok/0090_type_param_default.rast | 22 + .../parser/inline/ok/0090_type_param_default.txt | 22 - .../parser/inline/ok/0091_auto_trait.rast | 13 + .../test_data/parser/inline/ok/0091_auto_trait.txt | 13 - .../inline/ok/0092_fn_pointer_type_with_ret.rast | 23 + .../inline/ok/0092_fn_pointer_type_with_ret.txt | 23 - .../parser/inline/ok/0093_index_expr.rast | 34 + .../test_data/parser/inline/ok/0093_index_expr.txt | 34 - .../parser/inline/ok/0094_unsafe_auto_trait.rast | 15 + .../parser/inline/ok/0094_unsafe_auto_trait.txt | 15 - .../parser/inline/ok/0095_placeholder_pat.rast | 29 + .../parser/inline/ok/0095_placeholder_pat.txt | 29 - .../parser/inline/ok/0096_no_semi_after_block.rast | 130 ++ .../parser/inline/ok/0096_no_semi_after_block.txt | 130 -- .../parser/inline/ok/0097_default_impl.rast | 16 + .../parser/inline/ok/0097_default_impl.txt | 16 - .../parser/inline/ok/0098_const_unsafe_fn.rast | 19 + .../parser/inline/ok/0098_const_unsafe_fn.txt | 19 - .../parser/inline/ok/0099_param_list.rast | 103 + .../test_data/parser/inline/ok/0099_param_list.txt | 103 - .../test_data/parser/inline/ok/0100_for_expr.rast | 36 + .../test_data/parser/inline/ok/0100_for_expr.txt | 36 - .../test_data/parser/inline/ok/0101_unsafe_fn.rast | 17 + .../test_data/parser/inline/ok/0101_unsafe_fn.txt | 17 - .../inline/ok/0102_record_field_pat_list.rast | 131 ++ .../inline/ok/0102_record_field_pat_list.txt | 131 -- .../parser/inline/ok/0103_array_expr.rast | 55 + .../test_data/parser/inline/ok/0103_array_expr.txt | 55 - .../parser/inline/ok/0104_path_fn_trait_args.rast | 41 + .../parser/inline/ok/0104_path_fn_trait_args.txt | 41 - .../parser/inline/ok/0105_block_expr.rast | 43 + .../test_data/parser/inline/ok/0105_block_expr.txt | 43 - .../parser/inline/ok/0106_lambda_expr.rast | 140 ++ .../parser/inline/ok/0106_lambda_expr.txt | 140 -- .../parser/inline/ok/0107_method_call_expr.rast | 63 + .../parser/inline/ok/0107_method_call_expr.txt | 63 - .../parser/inline/ok/0108_tuple_expr.rast | 39 + .../test_data/parser/inline/ok/0108_tuple_expr.txt | 39 - .../test_data/parser/inline/ok/0109_label.rast | 68 + .../test_data/parser/inline/ok/0109_label.txt | 68 - .../test_data/parser/inline/ok/0110_use_path.rast | 38 + .../test_data/parser/inline/ok/0110_use_path.txt | 38 - .../test_data/parser/inline/ok/0111_tuple_pat.rast | 90 + .../test_data/parser/inline/ok/0111_tuple_pat.txt | 90 - .../test_data/parser/inline/ok/0112_bind_pat.rast | 128 ++ .../test_data/parser/inline/ok/0112_bind_pat.txt | 128 -- .../parser/inline/ok/0113_nocontentexpr.rast | 57 + .../parser/inline/ok/0113_nocontentexpr.txt | 57 - .../parser/inline/ok/0114_tuple_struct_where.rast | 64 + .../parser/inline/ok/0114_tuple_struct_where.txt | 64 - .../parser/inline/ok/0115_tuple_field_attrs.rast | 41 + .../parser/inline/ok/0115_tuple_field_attrs.txt | 41 - .../parser/inline/ok/0117_macro_call_type.rast | 43 + .../parser/inline/ok/0117_macro_call_type.txt | 43 - .../inline/ok/0118_impl_inner_attributes.rast | 40 + .../inline/ok/0118_impl_inner_attributes.txt | 40 - .../parser/inline/ok/0118_match_guard.rast | 48 + .../parser/inline/ok/0118_match_guard.txt | 48 - .../inline/ok/0120_match_arms_inner_attribute.rast | 81 + .../inline/ok/0120_match_arms_inner_attribute.txt | 81 - .../ok/0121_match_arms_outer_attributes.rast | 146 ++ .../inline/ok/0121_match_arms_outer_attributes.txt | 146 -- .../ok/0122_generic_lifetime_type_attribute.rast | 66 + .../ok/0122_generic_lifetime_type_attribute.txt | 66 - .../parser/inline/ok/0123_param_list_vararg.rast | 50 + .../parser/inline/ok/0123_param_list_vararg.txt | 50 - .../test_data/parser/inline/ok/0124_async_fn.rast | 17 + .../test_data/parser/inline/ok/0124_async_fn.txt | 17 - .../parser/inline/ok/0125_crate_keyword_path.rast | 32 + .../parser/inline/ok/0125_crate_keyword_path.txt | 32 - .../ok/0125_record_literal_field_with_attr.rast | 48 + .../ok/0125_record_literal_field_with_attr.txt | 48 - .../parser/inline/ok/0126_attr_on_expr_stmt.rast | 99 + .../parser/inline/ok/0126_attr_on_expr_stmt.txt | 99 - .../inline/ok/0127_attr_on_last_expr_in_block.rast | 59 + .../inline/ok/0127_attr_on_last_expr_in_block.txt | 59 - .../parser/inline/ok/0128_combined_fns.rast | 37 + .../parser/inline/ok/0128_combined_fns.txt | 37 - .../test_data/parser/inline/ok/0129_marco_pat.rast | 37 + .../test_data/parser/inline/ok/0129_marco_pat.txt | 37 - .../test_data/parser/inline/ok/0130_let_stmt.rast | 129 ++ .../test_data/parser/inline/ok/0130_let_stmt.txt | 129 -- .../parser/inline/ok/0130_try_block_expr.rast | 33 + .../parser/inline/ok/0130_try_block_expr.txt | 33 - .../parser/inline/ok/0131_existential_type.rast | 31 + .../parser/inline/ok/0131_existential_type.txt | 31 - .../test_data/parser/inline/ok/0132_box_expr.rast | 90 + .../test_data/parser/inline/ok/0132_box_expr.txt | 90 - .../parser/inline/ok/0132_default_fn_type.rast | 56 + .../parser/inline/ok/0132_default_fn_type.txt | 56 - .../inline/ok/0134_nocontentexpr_after_item.rast | 64 + .../inline/ok/0134_nocontentexpr_after_item.txt | 64 - .../parser/inline/ok/0137_await_expr.rast | 70 + .../test_data/parser/inline/ok/0137_await_expr.txt | 70 - .../inline/ok/0138_associated_type_bounds.rast | 56 + .../inline/ok/0138_associated_type_bounds.txt | 56 - .../inline/ok/0138_expression_after_block.rast | 66 + .../inline/ok/0138_expression_after_block.txt | 66 - .../inline/ok/0138_self_param_outer_attr.rast | 26 + .../inline/ok/0138_self_param_outer_attr.txt | 26 - .../parser/inline/ok/0139_param_outer_arg.rast | 35 + .../parser/inline/ok/0139_param_outer_arg.txt | 35 - .../parser/inline/ok/0142_for_range_from.rast | 42 + .../parser/inline/ok/0142_for_range_from.txt | 42 - .../test_data/parser/inline/ok/0143_box_pat.rast | 110 + .../test_data/parser/inline/ok/0143_box_pat.txt | 110 - .../parser/inline/ok/0144_dot_dot_pat.rast | 456 ++++ .../parser/inline/ok/0144_dot_dot_pat.txt | 456 ---- .../parser/inline/ok/0145_record_field_pat.rast | 75 + .../parser/inline/ok/0145_record_field_pat.txt | 75 - .../parser/inline/ok/0146_as_precedence.rast | 43 + .../parser/inline/ok/0146_as_precedence.txt | 43 - .../parser/inline/ok/0147_const_param.rast | 23 + .../parser/inline/ok/0147_const_param.txt | 23 - .../test_data/parser/inline/ok/0147_macro_def.rast | 45 + .../test_data/parser/inline/ok/0147_macro_def.txt | 45 - .../parser/inline/ok/0148_pub_macro_def.rast | 21 + .../parser/inline/ok/0148_pub_macro_def.txt | 21 - .../parser/inline/ok/0150_array_attrs.rast | 47 + .../parser/inline/ok/0150_array_attrs.txt | 47 - .../parser/inline/ok/0150_impl_type_params.rast | 38 + .../parser/inline/ok/0150_impl_type_params.txt | 38 - .../parser/inline/ok/0151_trait_alias.rast | 128 ++ .../parser/inline/ok/0151_trait_alias.txt | 128 -- .../parser/inline/ok/0152_arg_with_attr.rast | 37 + .../parser/inline/ok/0152_arg_with_attr.txt | 37 - .../ok/0154_fn_pointer_param_ident_path.rast | 58 + .../inline/ok/0154_fn_pointer_param_ident_path.txt | 58 - .../parser/inline/ok/0155_closure_params.rast | 70 + .../parser/inline/ok/0155_closure_params.txt | 70 - .../parser/inline/ok/0156_fn_def_param.rast | 44 + .../parser/inline/ok/0156_fn_def_param.txt | 44 - .../parser/inline/ok/0156_or_pattern.rast | 112 + .../test_data/parser/inline/ok/0156_or_pattern.txt | 112 - .../inline/ok/0157_fn_pointer_unnamed_arg.rast | 26 + .../inline/ok/0157_fn_pointer_unnamed_arg.txt | 26 - .../inline/ok/0157_variant_discriminant.rast | 30 + .../parser/inline/ok/0157_variant_discriminant.txt | 30 - .../inline/ok/0158_binop_resets_statementness.rast | 38 + .../inline/ok/0158_binop_resets_statementness.txt | 38 - .../parser/inline/ok/0158_lambda_ret_block.rast | 45 + .../parser/inline/ok/0158_lambda_ret_block.txt | 45 - .../ra_syntax/test_data/parser/ok/0000_empty.rast | 1 + .../ra_syntax/test_data/parser/ok/0000_empty.txt | 1 - .../test_data/parser/ok/0001_struct_item.rast | 39 + .../test_data/parser/ok/0001_struct_item.txt | 39 - .../parser/ok/0002_struct_item_field.rast | 22 + .../test_data/parser/ok/0002_struct_item_field.txt | 22 - .../test_data/parser/ok/0004_file_shebang.rast | 2 + .../test_data/parser/ok/0004_file_shebang.txt | 2 - .../test_data/parser/ok/0005_fn_item.rast | 16 + .../ra_syntax/test_data/parser/ok/0005_fn_item.txt | 16 - .../test_data/parser/ok/0006_inner_attributes.rast | 184 ++ .../test_data/parser/ok/0006_inner_attributes.txt | 184 -- .../test_data/parser/ok/0007_extern_crate.rast | 40 + .../test_data/parser/ok/0007_extern_crate.txt | 40 - .../test_data/parser/ok/0008_mod_item.rast | 93 + .../test_data/parser/ok/0008_mod_item.txt | 93 - .../test_data/parser/ok/0009_use_item.rast | 21 + .../test_data/parser/ok/0009_use_item.txt | 21 - .../parser/ok/0010_use_path_segments.rast | 42 + .../test_data/parser/ok/0010_use_path_segments.txt | 42 - .../test_data/parser/ok/0011_outer_attribute.rast | 58 + .../test_data/parser/ok/0011_outer_attribute.txt | 58 - .../test_data/parser/ok/0012_visibility.rast | 107 + .../test_data/parser/ok/0012_visibility.txt | 107 - .../parser/ok/0013_use_path_self_super.rast | 57 + .../parser/ok/0013_use_path_self_super.txt | 57 - .../test_data/parser/ok/0014_use_tree.rast | 95 + .../test_data/parser/ok/0014_use_tree.txt | 95 - .../test_data/parser/ok/0015_use_tree.rast | 65 + .../test_data/parser/ok/0015_use_tree.txt | 65 - .../test_data/parser/ok/0016_struct_flavors.rast | 93 + .../test_data/parser/ok/0016_struct_flavors.txt | 93 - .../parser/ok/0017_attr_trailing_comma.rast | 29 + .../parser/ok/0017_attr_trailing_comma.txt | 29 - .../parser/ok/0018_struct_type_params.rast | 257 +++ .../parser/ok/0018_struct_type_params.txt | 257 --- .../ra_syntax/test_data/parser/ok/0019_enums.rast | 155 ++ .../ra_syntax/test_data/parser/ok/0019_enums.txt | 155 -- .../parser/ok/0020_type_param_bounds.rast | 268 +++ .../test_data/parser/ok/0020_type_param_bounds.txt | 268 --- .../test_data/parser/ok/0021_extern_fn.rast | 59 + .../test_data/parser/ok/0021_extern_fn.txt | 59 - .../parser/ok/0022_empty_extern_block.rast | 21 + .../parser/ok/0022_empty_extern_block.txt | 21 - .../test_data/parser/ok/0023_static_items.rast | 41 + .../test_data/parser/ok/0023_static_items.txt | 41 - .../test_data/parser/ok/0024_const_item.rast | 59 + .../test_data/parser/ok/0024_const_item.txt | 59 - .../parser/ok/0025_extern_fn_in_block.rast | 33 + .../parser/ok/0025_extern_fn_in_block.txt | 33 - .../parser/ok/0026_const_fn_in_block.rast | 32 + .../test_data/parser/ok/0026_const_fn_in_block.txt | 32 - .../parser/ok/0027_unsafe_fn_in_block.rast | 43 + .../parser/ok/0027_unsafe_fn_in_block.txt | 43 - .../parser/ok/0028_operator_binding_power.rast | 186 ++ .../parser/ok/0028_operator_binding_power.txt | 186 -- .../test_data/parser/ok/0029_range_forms.rast | 152 ++ .../test_data/parser/ok/0029_range_forms.txt | 152 -- .../test_data/parser/ok/0030_string_suffixes.rast | 64 + .../test_data/parser/ok/0030_string_suffixes.txt | 64 - .../ra_syntax/test_data/parser/ok/0030_traits.rast | 61 + .../ra_syntax/test_data/parser/ok/0030_traits.txt | 61 - .../ra_syntax/test_data/parser/ok/0031_extern.rast | 973 ++++++++ .../ra_syntax/test_data/parser/ok/0031_extern.txt | 973 -------- .../test_data/parser/ok/0032_where_for.rast | 91 + .../test_data/parser/ok/0032_where_for.txt | 91 - .../test_data/parser/ok/0033_label_break.rast | 220 ++ .../test_data/parser/ok/0033_label_break.txt | 220 -- .../parser/ok/0034_crate_path_in_call.rast | 42 + .../parser/ok/0034_crate_path_in_call.txt | 42 - .../test_data/parser/ok/0035_weird_exprs.rast | 2329 ++++++++++++++++++++ .../test_data/parser/ok/0035_weird_exprs.txt | 2329 -------------------- .../test_data/parser/ok/0036_fully_qualified.rast | 93 + .../test_data/parser/ok/0036_fully_qualified.txt | 93 - crates/ra_syntax/test_data/parser/ok/0037_mod.rast | 16 + crates/ra_syntax/test_data/parser/ok/0037_mod.txt | 16 - .../test_data/parser/ok/0038_where_pred_type.rast | 43 + .../test_data/parser/ok/0038_where_pred_type.txt | 43 - .../test_data/parser/ok/0039_raw_fn_item.rast | 16 + .../test_data/parser/ok/0039_raw_fn_item.txt | 16 - .../parser/ok/0040_raw_struct_item_field.rast | 22 + .../parser/ok/0040_raw_struct_item_field.txt | 22 - .../test_data/parser/ok/0041_raw_keywords.rast | 50 + .../test_data/parser/ok/0041_raw_keywords.txt | 50 - .../test_data/parser/ok/0042_ufcs_call_list.rast | 126 ++ .../test_data/parser/ok/0042_ufcs_call_list.txt | 126 -- .../parser/ok/0043_complex_assignment.rast | 110 + .../parser/ok/0043_complex_assignment.txt | 110 - .../test_data/parser/ok/0044_let_attrs.rast | 76 + .../test_data/parser/ok/0044_let_attrs.txt | 76 - .../parser/ok/0045_block_inner_attrs.rast | 181 ++ .../test_data/parser/ok/0045_block_inner_attrs.txt | 181 -- .../parser/ok/0046_extern_inner_attributes.rast | 28 + .../parser/ok/0046_extern_inner_attributes.txt | 28 - .../parser/ok/0047_minus_in_inner_pattern.rast | 323 +++ .../parser/ok/0047_minus_in_inner_pattern.txt | 323 --- .../parser/ok/0048_compound_assignment.rast | 201 ++ .../parser/ok/0048_compound_assignment.txt | 201 -- .../test_data/parser/ok/0049_async_block.rast | 36 + .../test_data/parser/ok/0049_async_block.txt | 36 - .../parser/ok/0050_async_block_as_argument.rast | 92 + .../parser/ok/0050_async_block_as_argument.txt | 92 - .../test_data/parser/ok/0051_parameter_attrs.rast | 519 +++++ .../test_data/parser/ok/0051_parameter_attrs.txt | 519 ----- .../test_data/parser/ok/0052_for_range_block.rast | 81 + .../test_data/parser/ok/0052_for_range_block.txt | 81 - .../ok/0053_outer_attribute_on_macro_rules.rast | 39 + .../ok/0053_outer_attribute_on_macro_rules.txt | 39 - .../parser/ok/0054_qual_path_in_type_arg.rast | 126 ++ .../parser/ok/0054_qual_path_in_type_arg.txt | 126 -- .../test_data/parser/ok/0055_dot_dot_dot.rast | 50 + .../test_data/parser/ok/0055_dot_dot_dot.txt | 50 - .../test_data/parser/ok/0056_neq_in_type.rast | 66 + .../test_data/parser/ok/0056_neq_in_type.txt | 66 - .../test_data/parser/ok/0057_loop_in_call.rast | 59 + .../test_data/parser/ok/0057_loop_in_call.txt | 59 - .../parser/ok/0058_unary_expr_precedence.rast | 97 + .../parser/ok/0058_unary_expr_precedence.txt | 97 - .../test_data/parser/ok/0059_loops_in_parens.rast | 101 + .../test_data/parser/ok/0059_loops_in_parens.txt | 101 - .../test_data/parser/ok/0060_as_range.rast | 56 + .../test_data/parser/ok/0060_as_range.txt | 56 - .../test_data/parser/ok/0061_match_full_range.rast | 27 + .../test_data/parser/ok/0061_match_full_range.txt | 27 - .../test_data/parser/ok/0062_macro_2.0.rast | 176 ++ .../test_data/parser/ok/0062_macro_2.0.txt | 176 -- .../parser/ok/0063_trait_fn_patterns.rast | 196 ++ .../test_data/parser/ok/0063_trait_fn_patterns.txt | 196 -- .../test_data/parser/ok/0063_variadic_fun.rast | 133 ++ .../test_data/parser/ok/0063_variadic_fun.txt | 133 -- .../test_data/parser/ok/0064_impl_fn_params.rast | 164 ++ .../test_data/parser/ok/0064_impl_fn_params.txt | 164 -- .../test_data/parser/ok/0065_comment_newline.rast | 17 + .../test_data/parser/ok/0065_comment_newline.txt | 17 - 553 files changed, 22748 insertions(+), 22748 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 create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0030_cond.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0075_block.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0109_label.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.txt create mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0000_empty.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0000_empty.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0001_struct_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0001_struct_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0004_file_shebang.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0004_file_shebang.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0007_extern_crate.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0009_use_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0009_use_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0012_visibility.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0012_visibility.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0014_use_tree.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0015_use_tree.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0019_enums.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0019_enums.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0023_static_items.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0023_static_items.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0024_const_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0024_const_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0030_traits.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0030_traits.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0031_extern.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0031_extern.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0032_where_for.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0032_where_for.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0033_label_break.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0033_label_break.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0037_mod.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0037_mod.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0049_async_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0049_async_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0052_for_range_block.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0060_as_range.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0060_as_range.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0061_match_full_range.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt create mode 100644 crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast delete mode 100644 crates/ra_syntax/test_data/parser/ok/0065_comment_newline.txt (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/tests.rs b/crates/ra_syntax/src/tests.rs index 6a8cb6bb5..355843b94 100644 --- a/crates/ra_syntax/src/tests.rs +++ b/crates/ra_syntax/src/tests.rs @@ -3,7 +3,7 @@ use std::{ path::{Component, Path, PathBuf}, }; -use test_utils::{collect_tests, dir_tests, project_dir, read_text}; +use test_utils::{collect_rust_files, dir_tests, project_dir, read_text}; use crate::{fuzz, tokenize, SourceFile, SyntaxError, TextRange, TextUnit, Token}; @@ -13,12 +13,12 @@ fn lexer_tests() { // * Add tests for unicode escapes in byte-character and [raw]-byte-string literals // * Add tests for unescape errors - dir_tests(&test_data_dir(), &["lexer/ok"], |text, path| { + dir_tests(&test_data_dir(), &["lexer/ok"], "txt", |text, path| { let (tokens, errors) = tokenize(text); assert_errors_are_absent(&errors, path); dump_tokens_and_errors(&tokens, &errors, text) }); - dir_tests(&test_data_dir(), &["lexer/err"], |text, path| { + dir_tests(&test_data_dir(), &["lexer/err"], "txt", |text, path| { let (tokens, errors) = tokenize(text); assert_errors_are_present(&errors, path); dump_tokens_and_errors(&tokens, &errors, text) @@ -40,13 +40,13 @@ fn main() { #[test] fn parser_tests() { - dir_tests(&test_data_dir(), &["parser/inline/ok", "parser/ok"], |text, path| { + dir_tests(&test_data_dir(), &["parser/inline/ok", "parser/ok"], "rast", |text, path| { let parse = SourceFile::parse(text); let errors = parse.errors(); assert_errors_are_absent(&errors, path); parse.debug_dump() }); - dir_tests(&test_data_dir(), &["parser/err", "parser/inline/err"], |text, path| { + dir_tests(&test_data_dir(), &["parser/err", "parser/inline/err"], "rast", |text, path| { let parse = SourceFile::parse(text); let errors = parse.errors(); assert_errors_are_present(&errors, path); @@ -56,14 +56,14 @@ fn parser_tests() { #[test] fn parser_fuzz_tests() { - for (_, text) in collect_tests(&test_data_dir(), &["parser/fuzz-failures"]) { + for (_, text) in collect_rust_files(&test_data_dir(), &["parser/fuzz-failures"]) { fuzz::check_parser(&text) } } #[test] fn reparse_fuzz_tests() { - for (_, text) in collect_tests(&test_data_dir(), &["reparse/fuzz-failures"]) { + for (_, text) in collect_rust_files(&test_data_dir(), &["reparse/fuzz-failures"]) { let check = fuzz::CheckReparse::from_data(text.as_bytes()).unwrap(); println!("{:?}", check); check.run(); 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 diff --git a/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast b/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast new file mode 100644 index 000000000..530533b71 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast @@ -0,0 +1,27 @@ +SOURCE_FILE@[0; 18) + TYPE_ALIAS_DEF@[0; 12) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + SLICE_TYPE@[9; 12) + L_BRACK@[9; 10) "[" + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + WHITESPACE@[12; 13) " " + ERROR@[13; 15) + INT_NUMBER@[13; 15) "92" + ERROR@[15; 16) + R_BRACK@[15; 16) "]" + ERROR@[16; 17) + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" +error [12; 12): expected `;` or `]` +error [12; 12): expected SEMI +error [13; 13): expected an item +error [15; 15): expected an item +error [16; 16): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.txt b/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.txt deleted file mode 100644 index 530533b71..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.txt +++ /dev/null @@ -1,27 +0,0 @@ -SOURCE_FILE@[0; 18) - TYPE_ALIAS_DEF@[0; 12) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - SLICE_TYPE@[9; 12) - L_BRACK@[9; 10) "[" - TUPLE_TYPE@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - WHITESPACE@[12; 13) " " - ERROR@[13; 15) - INT_NUMBER@[13; 15) "92" - ERROR@[15; 16) - R_BRACK@[15; 16) "]" - ERROR@[16; 17) - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) "\n" -error [12; 12): expected `;` or `]` -error [12; 12): expected SEMI -error [13; 13): expected an item -error [15; 15): expected an item -error [16; 16): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast b/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast new file mode 100644 index 000000000..01a853d63 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@[0; 30) + FN_DEF@[0; 29) + 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; 29) + BLOCK@[10; 29) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + EXPR_STMT@[16; 22) + ERROR@[16; 22) + LABEL@[16; 22) + LIFETIME@[16; 21) "\'loop" + COLON@[21; 22) ":" + WHITESPACE@[22; 23) " " + IMPL_DEF@[23; 27) + IMPL_KW@[23; 27) "impl" + WHITESPACE@[27; 28) "\n" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" +error [22; 22): expected a loop +error [22; 22): expected SEMI +error [27; 27): expected type +error [27; 27): expected `{` diff --git a/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.txt b/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.txt deleted file mode 100644 index 01a853d63..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.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; 7) - IDENT@[3; 7) "main" - PARAM_LIST@[7; 9) - L_PAREN@[7; 8) "(" - R_PAREN@[8; 9) ")" - WHITESPACE@[9; 10) " " - BLOCK_EXPR@[10; 29) - BLOCK@[10; 29) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - EXPR_STMT@[16; 22) - ERROR@[16; 22) - LABEL@[16; 22) - LIFETIME@[16; 21) "\'loop" - COLON@[21; 22) ":" - WHITESPACE@[22; 23) " " - IMPL_DEF@[23; 27) - IMPL_KW@[23; 27) "impl" - WHITESPACE@[27; 28) "\n" - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" -error [22; 22): expected a loop -error [22; 22): expected SEMI -error [27; 27): expected type -error [27; 27): expected `{` diff --git a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast new file mode 100644 index 000000000..2ab29eecc --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 14) + TYPE_ALIAS_DEF@[0; 13) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + POINTER_TYPE@[9; 12) + STAR@[9; 10) "*" + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" +error [10; 10): expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate) diff --git a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.txt b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.txt deleted file mode 100644 index 2ab29eecc..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 14) - TYPE_ALIAS_DEF@[0; 13) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - POINTER_TYPE@[9; 12) - STAR@[9; 10) "*" - TUPLE_TYPE@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) "\n" -error [10; 10): expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate) diff --git a/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast b/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast new file mode 100644 index 000000000..124f0a891 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.rast @@ -0,0 +1,79 @@ +SOURCE_FILE@[0; 87) + IMPL_DEF@[0; 12) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + PATH_TYPE@[5; 9) + PATH@[5; 9) + PATH_SEGMENT@[5; 9) + NAME_REF@[5; 9) + IDENT@[5; 9) "Type" + WHITESPACE@[9; 10) " " + ITEM_LIST@[10; 12) + L_CURLY@[10; 11) "{" + R_CURLY@[11; 12) "}" + WHITESPACE@[12; 13) "\n" + IMPL_DEF@[13; 33) + IMPL_KW@[13; 17) "impl" + WHITESPACE@[17; 18) " " + PATH_TYPE@[18; 24) + PATH@[18; 24) + PATH_SEGMENT@[18; 24) + NAME_REF@[18; 24) + IDENT@[18; 24) "Trait1" + WHITESPACE@[24; 25) " " + FOR_KW@[25; 28) "for" + WHITESPACE@[28; 29) " " + PATH_TYPE@[29; 30) + PATH@[29; 30) + PATH_SEGMENT@[29; 30) + NAME_REF@[29; 30) + IDENT@[29; 30) "T" + WHITESPACE@[30; 31) " " + ITEM_LIST@[31; 33) + L_CURLY@[31; 32) "{" + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" + IMPL_DEF@[34; 38) + IMPL_KW@[34; 38) "impl" + WHITESPACE@[38; 39) " " + IMPL_DEF@[39; 54) + IMPL_KW@[39; 43) "impl" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 51) + PATH@[44; 51) + PATH_SEGMENT@[44; 51) + NAME_REF@[44; 51) + IDENT@[44; 51) "NotType" + WHITESPACE@[51; 52) " " + ITEM_LIST@[52; 54) + L_CURLY@[52; 53) "{" + R_CURLY@[53; 54) "}" + WHITESPACE@[54; 55) "\n" + IMPL_DEF@[55; 70) + IMPL_KW@[55; 59) "impl" + WHITESPACE@[59; 60) " " + PATH_TYPE@[60; 66) + PATH@[60; 66) + PATH_SEGMENT@[60; 66) + NAME_REF@[60; 66) + IDENT@[60; 66) "Trait2" + WHITESPACE@[66; 67) " " + FOR_KW@[67; 70) "for" + WHITESPACE@[70; 71) " " + IMPL_DEF@[71; 86) + IMPL_KW@[71; 75) "impl" + WHITESPACE@[75; 76) " " + PATH_TYPE@[76; 83) + PATH@[76; 83) + PATH_SEGMENT@[76; 83) + NAME_REF@[76; 83) + IDENT@[76; 83) "NotType" + WHITESPACE@[83; 84) " " + ITEM_LIST@[84; 86) + L_CURLY@[84; 85) "{" + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) "\n" +error [38; 38): expected trait or type +error [38; 38): expected `{` +error [70; 70): expected trait or type +error [70; 70): expected `{` diff --git a/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.txt b/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.txt deleted file mode 100644 index 124f0a891..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0004_impl_type.txt +++ /dev/null @@ -1,79 +0,0 @@ -SOURCE_FILE@[0; 87) - IMPL_DEF@[0; 12) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - PATH_TYPE@[5; 9) - PATH@[5; 9) - PATH_SEGMENT@[5; 9) - NAME_REF@[5; 9) - IDENT@[5; 9) "Type" - WHITESPACE@[9; 10) " " - ITEM_LIST@[10; 12) - L_CURLY@[10; 11) "{" - R_CURLY@[11; 12) "}" - WHITESPACE@[12; 13) "\n" - IMPL_DEF@[13; 33) - IMPL_KW@[13; 17) "impl" - WHITESPACE@[17; 18) " " - PATH_TYPE@[18; 24) - PATH@[18; 24) - PATH_SEGMENT@[18; 24) - NAME_REF@[18; 24) - IDENT@[18; 24) "Trait1" - WHITESPACE@[24; 25) " " - FOR_KW@[25; 28) "for" - WHITESPACE@[28; 29) " " - PATH_TYPE@[29; 30) - PATH@[29; 30) - PATH_SEGMENT@[29; 30) - NAME_REF@[29; 30) - IDENT@[29; 30) "T" - WHITESPACE@[30; 31) " " - ITEM_LIST@[31; 33) - L_CURLY@[31; 32) "{" - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 34) "\n" - IMPL_DEF@[34; 38) - IMPL_KW@[34; 38) "impl" - WHITESPACE@[38; 39) " " - IMPL_DEF@[39; 54) - IMPL_KW@[39; 43) "impl" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 51) - PATH@[44; 51) - PATH_SEGMENT@[44; 51) - NAME_REF@[44; 51) - IDENT@[44; 51) "NotType" - WHITESPACE@[51; 52) " " - ITEM_LIST@[52; 54) - L_CURLY@[52; 53) "{" - R_CURLY@[53; 54) "}" - WHITESPACE@[54; 55) "\n" - IMPL_DEF@[55; 70) - IMPL_KW@[55; 59) "impl" - WHITESPACE@[59; 60) " " - PATH_TYPE@[60; 66) - PATH@[60; 66) - PATH_SEGMENT@[60; 66) - NAME_REF@[60; 66) - IDENT@[60; 66) "Trait2" - WHITESPACE@[66; 67) " " - FOR_KW@[67; 70) "for" - WHITESPACE@[70; 71) " " - IMPL_DEF@[71; 86) - IMPL_KW@[71; 75) "impl" - WHITESPACE@[75; 76) " " - PATH_TYPE@[76; 83) - PATH@[76; 83) - PATH_SEGMENT@[76; 83) - NAME_REF@[76; 83) - IDENT@[76; 83) "NotType" - WHITESPACE@[83; 84) " " - ITEM_LIST@[84; 86) - L_CURLY@[84; 85) "{" - R_CURLY@[85; 86) "}" - WHITESPACE@[86; 87) "\n" -error [38; 38): expected trait or type -error [38; 38): expected `{` -error [70; 70): expected trait or type -error [70; 70): expected `{` diff --git a/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast b/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast new file mode 100644 index 000000000..9e9186ad4 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast @@ -0,0 +1,23 @@ +SOURCE_FILE@[0; 20) + TYPE_ALIAS_DEF@[0; 15) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + UNSAFE_KW@[9; 15) "unsafe" + WHITESPACE@[15; 16) " " + ERROR@[16; 17) + L_PAREN@[16; 17) "(" + ERROR@[17; 18) + R_PAREN@[17; 18) ")" + ERROR@[18; 19) + SEMI@[18; 19) ";" + WHITESPACE@[19; 20) "\n" +error [15; 15): expected `fn` +error [15; 15): expected SEMI +error [16; 16): expected an item +error [17; 17): expected an item +error [18; 18): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt b/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt deleted file mode 100644 index 9e9186ad4..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt +++ /dev/null @@ -1,23 +0,0 @@ -SOURCE_FILE@[0; 20) - TYPE_ALIAS_DEF@[0; 15) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "F" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - UNSAFE_KW@[9; 15) "unsafe" - WHITESPACE@[15; 16) " " - ERROR@[16; 17) - L_PAREN@[16; 17) "(" - ERROR@[17; 18) - R_PAREN@[17; 18) ")" - ERROR@[18; 19) - SEMI@[18; 19) ";" - WHITESPACE@[19; 20) "\n" -error [15; 15): expected `fn` -error [15; 15): expected SEMI -error [16; 16): expected an item -error [17; 17): expected an item -error [18; 18): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast b/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast new file mode 100644 index 000000000..690acdca3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast @@ -0,0 +1,37 @@ +SOURCE_FILE@[0; 33) + FN_DEF@[0; 10) + 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) ")" + BLOCK_EXPR@[8; 10) + BLOCK@[8; 10) + L_CURLY@[8; 9) "{" + R_CURLY@[9; 10) "}" + WHITESPACE@[10; 11) " " + ERROR@[11; 17) + UNSAFE_KW@[11; 17) "unsafe" + WHITESPACE@[17; 18) " " + ERROR@[18; 21) + L_CURLY@[18; 19) "{" + WHITESPACE@[19; 20) " " + R_CURLY@[20; 21) "}" + WHITESPACE@[21; 22) " " + FN_DEF@[22; 32) + FN_KW@[22; 24) "fn" + WHITESPACE@[24; 25) " " + NAME@[25; 28) + IDENT@[25; 28) "bar" + PARAM_LIST@[28; 30) + L_PAREN@[28; 29) "(" + R_PAREN@[29; 30) ")" + BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" +error [11; 11): expected an item +error [18; 18): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.txt b/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.txt deleted file mode 100644 index 690acdca3..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.txt +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE_FILE@[0; 33) - FN_DEF@[0; 10) - 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) ")" - BLOCK_EXPR@[8; 10) - BLOCK@[8; 10) - L_CURLY@[8; 9) "{" - R_CURLY@[9; 10) "}" - WHITESPACE@[10; 11) " " - ERROR@[11; 17) - UNSAFE_KW@[11; 17) "unsafe" - WHITESPACE@[17; 18) " " - ERROR@[18; 21) - L_CURLY@[18; 19) "{" - WHITESPACE@[19; 20) " " - R_CURLY@[20; 21) "}" - WHITESPACE@[21; 22) " " - FN_DEF@[22; 32) - FN_KW@[22; 24) "fn" - WHITESPACE@[24; 25) " " - NAME@[25; 28) - IDENT@[25; 28) "bar" - PARAM_LIST@[28; 30) - L_PAREN@[28; 29) "(" - R_PAREN@[29; 30) ")" - BLOCK_EXPR@[30; 32) - BLOCK@[30; 32) - L_CURLY@[30; 31) "{" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" -error [11; 11): expected an item -error [18; 18): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast b/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast new file mode 100644 index 000000000..a4002a998 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast @@ -0,0 +1,32 @@ +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; 9) " " + BLOCK_EXPR@[9; 29) + BLOCK@[9; 29) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + LET_STMT@[11; 27) + LET_KW@[11; 14) "let" + WHITESPACE@[14; 15) " " + PLACEHOLDER_PAT@[15; 16) + UNDERSCORE@[15; 16) "_" + WHITESPACE@[16; 17) " " + EQ@[17; 18) "=" + WHITESPACE@[18; 19) " " + BLOCK_EXPR@[19; 27) + ASYNC_KW@[19; 24) "async" + WHITESPACE@[24; 25) " " + BLOCK@[25; 27) + L_CURLY@[25; 26) "{" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 28) " " + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" +error [27; 27): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.txt b/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.txt deleted file mode 100644 index a4002a998..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.txt +++ /dev/null @@ -1,32 +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; 9) " " - BLOCK_EXPR@[9; 29) - BLOCK@[9; 29) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - LET_STMT@[11; 27) - LET_KW@[11; 14) "let" - WHITESPACE@[14; 15) " " - PLACEHOLDER_PAT@[15; 16) - UNDERSCORE@[15; 16) "_" - WHITESPACE@[16; 17) " " - EQ@[17; 18) "=" - WHITESPACE@[18; 19) " " - BLOCK_EXPR@[19; 27) - ASYNC_KW@[19; 24) "async" - WHITESPACE@[24; 25) " " - BLOCK@[25; 27) - L_CURLY@[25; 26) "{" - R_CURLY@[26; 27) "}" - WHITESPACE@[27; 28) " " - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" -error [27; 27): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast b/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast new file mode 100644 index 000000000..6f45a4fa6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast @@ -0,0 +1,26 @@ +SOURCE_FILE@[0; 21) + FN_DEF@[0; 20) + 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; 20) + BLOCK@[9; 20) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + ERROR@[11; 14) + VISIBILITY@[11; 14) + PUB_KW@[11; 14) "pub" + WHITESPACE@[14; 15) " " + EXPR_STMT@[15; 18) + LITERAL@[15; 17) + INT_NUMBER@[15; 17) "92" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) " " + R_CURLY@[19; 20) "}" + WHITESPACE@[20; 21) "\n" +error [14; 14): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.txt b/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.txt deleted file mode 100644 index 6f45a4fa6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.txt +++ /dev/null @@ -1,26 +0,0 @@ -SOURCE_FILE@[0; 21) - FN_DEF@[0; 20) - 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; 20) - BLOCK@[9; 20) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - ERROR@[11; 14) - VISIBILITY@[11; 14) - PUB_KW@[11; 14) "pub" - WHITESPACE@[14; 15) " " - EXPR_STMT@[15; 18) - LITERAL@[15; 17) - INT_NUMBER@[15; 17) "92" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) " " - R_CURLY@[19; 20) "}" - WHITESPACE@[20; 21) "\n" -error [14; 14): expected an item diff --git a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast new file mode 100644 index 000000000..e6d3a5c95 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast @@ -0,0 +1,61 @@ +SOURCE_FILE@[0; 48) + FN_DEF@[0; 47) + 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; 47) + BLOCK@[9; 47) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 14) "\n " + EXPR_STMT@[14; 25) + ATTR@[14; 18) + POUND@[14; 15) "#" + L_BRACK@[15; 16) "[" + PATH@[16; 17) + PATH_SEGMENT@[16; 17) + NAME_REF@[16; 17) + IDENT@[16; 17) "A" + R_BRACK@[17; 18) "]" + WHITESPACE@[18; 19) " " + BIN_EXPR@[19; 24) + LITERAL@[19; 20) + INT_NUMBER@[19; 20) "1" + WHITESPACE@[20; 21) " " + PLUS@[21; 22) "+" + WHITESPACE@[22; 23) " " + LITERAL@[23; 24) + INT_NUMBER@[23; 24) "2" + SEMI@[24; 25) ";" + WHITESPACE@[25; 29) "\n " + EXPR_STMT@[29; 45) + ATTR@[29; 33) + POUND@[29; 30) "#" + L_BRACK@[30; 31) "[" + PATH@[31; 32) + PATH_SEGMENT@[31; 32) + NAME_REF@[31; 32) + IDENT@[31; 32) "B" + R_BRACK@[32; 33) "]" + WHITESPACE@[33; 34) " " + IF_EXPR@[34; 44) + IF_KW@[34; 36) "if" + WHITESPACE@[36; 37) " " + CONDITION@[37; 41) + LITERAL@[37; 41) + TRUE_KW@[37; 41) "true" + WHITESPACE@[41; 42) " " + BLOCK_EXPR@[42; 44) + BLOCK@[42; 44) + L_CURLY@[42; 43) "{" + R_CURLY@[43; 44) "}" + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" + R_CURLY@[46; 47) "}" + WHITESPACE@[47; 48) "\n" +error [24; 24): attributes are not allowed on BIN_EXPR +error [44; 44): attributes are not allowed on IF_EXPR diff --git a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.txt b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.txt deleted file mode 100644 index e6d3a5c95..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.txt +++ /dev/null @@ -1,61 +0,0 @@ -SOURCE_FILE@[0; 48) - FN_DEF@[0; 47) - 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; 47) - BLOCK@[9; 47) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 14) "\n " - EXPR_STMT@[14; 25) - ATTR@[14; 18) - POUND@[14; 15) "#" - L_BRACK@[15; 16) "[" - PATH@[16; 17) - PATH_SEGMENT@[16; 17) - NAME_REF@[16; 17) - IDENT@[16; 17) "A" - R_BRACK@[17; 18) "]" - WHITESPACE@[18; 19) " " - BIN_EXPR@[19; 24) - LITERAL@[19; 20) - INT_NUMBER@[19; 20) "1" - WHITESPACE@[20; 21) " " - PLUS@[21; 22) "+" - WHITESPACE@[22; 23) " " - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "2" - SEMI@[24; 25) ";" - WHITESPACE@[25; 29) "\n " - EXPR_STMT@[29; 45) - ATTR@[29; 33) - POUND@[29; 30) "#" - L_BRACK@[30; 31) "[" - PATH@[31; 32) - PATH_SEGMENT@[31; 32) - NAME_REF@[31; 32) - IDENT@[31; 32) "B" - R_BRACK@[32; 33) "]" - WHITESPACE@[33; 34) " " - IF_EXPR@[34; 44) - IF_KW@[34; 36) "if" - WHITESPACE@[36; 37) " " - CONDITION@[37; 41) - LITERAL@[37; 41) - TRUE_KW@[37; 41) "true" - WHITESPACE@[41; 42) " " - BLOCK_EXPR@[42; 44) - BLOCK@[42; 44) - L_CURLY@[42; 43) "{" - R_CURLY@[43; 44) "}" - SEMI@[44; 45) ";" - WHITESPACE@[45; 46) "\n" - R_CURLY@[46; 47) "}" - WHITESPACE@[47; 48) "\n" -error [24; 24): attributes are not allowed on BIN_EXPR -error [44; 44): attributes are not allowed on IF_EXPR diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast new file mode 100644 index 000000000..8ad2a588f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast @@ -0,0 +1,53 @@ +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; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 46) + BLOCK@[9; 46) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 20) + FIELD_EXPR@[15; 19) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) "." + FLOAT_NUMBER@[17; 19) "0." + SEMI@[19; 20) ";" + WHITESPACE@[20; 25) "\n " + EXPR_STMT@[25; 32) + FIELD_EXPR@[25; 31) + PATH_EXPR@[25; 26) + PATH@[25; 26) + PATH_SEGMENT@[25; 26) + NAME_REF@[25; 26) + IDENT@[25; 26) "x" + DOT@[26; 27) "." + NAME_REF@[27; 31) + INT_NUMBER@[27; 31) "1i32" + SEMI@[31; 32) ";" + WHITESPACE@[32; 37) "\n " + EXPR_STMT@[37; 44) + FIELD_EXPR@[37; 43) + PATH_EXPR@[37; 38) + PATH@[37; 38) + PATH_SEGMENT@[37; 38) + NAME_REF@[37; 38) + IDENT@[37; 38) "x" + DOT@[38; 39) "." + NAME_REF@[39; 43) + INT_NUMBER@[39; 43) "0x01" + SEMI@[43; 44) ";" + WHITESPACE@[44; 45) "\n" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 47) "\n" +error [27; 31): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix +error [39; 43): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.txt b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.txt deleted file mode 100644 index 8ad2a588f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.txt +++ /dev/null @@ -1,53 +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; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 46) - BLOCK@[9; 46) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 20) - FIELD_EXPR@[15; 19) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - DOT@[16; 17) "." - FLOAT_NUMBER@[17; 19) "0." - SEMI@[19; 20) ";" - WHITESPACE@[20; 25) "\n " - EXPR_STMT@[25; 32) - FIELD_EXPR@[25; 31) - PATH_EXPR@[25; 26) - PATH@[25; 26) - PATH_SEGMENT@[25; 26) - NAME_REF@[25; 26) - IDENT@[25; 26) "x" - DOT@[26; 27) "." - NAME_REF@[27; 31) - INT_NUMBER@[27; 31) "1i32" - SEMI@[31; 32) ";" - WHITESPACE@[32; 37) "\n " - EXPR_STMT@[37; 44) - FIELD_EXPR@[37; 43) - PATH_EXPR@[37; 38) - PATH@[37; 38) - PATH_SEGMENT@[37; 38) - NAME_REF@[37; 38) - IDENT@[37; 38) "x" - DOT@[38; 39) "." - NAME_REF@[39; 43) - INT_NUMBER@[39; 43) "0x01" - SEMI@[43; 44) ";" - WHITESPACE@[44; 45) "\n" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 47) "\n" -error [27; 31): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix -error [39; 43): Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast new file mode 100644 index 000000000..f6ac0feaf --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast @@ -0,0 +1,41 @@ +SOURCE_FILE@[0; 50) + ERROR@[0; 6) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + FN_DEF@[7; 24) + ASYNC_KW@[7; 12) "async" + WHITESPACE@[12; 13) " " + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 19) + IDENT@[16; 19) "foo" + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) "(" + R_PAREN@[20; 21) ")" + WHITESPACE@[21; 22) " " + BLOCK_EXPR@[22; 24) + BLOCK@[22; 24) + L_CURLY@[22; 23) "{" + R_CURLY@[23; 24) "}" + WHITESPACE@[24; 25) "\n" + ERROR@[25; 31) + UNSAFE_KW@[25; 31) "unsafe" + WHITESPACE@[31; 32) " " + FN_DEF@[32; 49) + CONST_KW@[32; 37) "const" + WHITESPACE@[37; 38) " " + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 44) + IDENT@[41; 44) "bar" + PARAM_LIST@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + BLOCK_EXPR@[47; 49) + BLOCK@[47; 49) + L_CURLY@[47; 48) "{" + R_CURLY@[48; 49) "}" + WHITESPACE@[49; 50) "\n" +error [6; 6): expected existential, fn, trait or impl +error [31; 31): expected existential, fn, trait or impl diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt deleted file mode 100644 index f6ac0feaf..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.txt +++ /dev/null @@ -1,41 +0,0 @@ -SOURCE_FILE@[0; 50) - ERROR@[0; 6) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - FN_DEF@[7; 24) - ASYNC_KW@[7; 12) "async" - WHITESPACE@[12; 13) " " - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 19) - IDENT@[16; 19) "foo" - PARAM_LIST@[19; 21) - L_PAREN@[19; 20) "(" - R_PAREN@[20; 21) ")" - WHITESPACE@[21; 22) " " - BLOCK_EXPR@[22; 24) - BLOCK@[22; 24) - L_CURLY@[22; 23) "{" - R_CURLY@[23; 24) "}" - WHITESPACE@[24; 25) "\n" - ERROR@[25; 31) - UNSAFE_KW@[25; 31) "unsafe" - WHITESPACE@[31; 32) " " - FN_DEF@[32; 49) - CONST_KW@[32; 37) "const" - WHITESPACE@[37; 38) " " - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 44) - IDENT@[41; 44) "bar" - PARAM_LIST@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - BLOCK_EXPR@[47; 49) - BLOCK@[47; 49) - L_CURLY@[47; 48) "{" - R_CURLY@[48; 49) "}" - WHITESPACE@[49; 50) "\n" -error [6; 6): expected existential, fn, trait or impl -error [31; 31): expected existential, fn, trait or impl diff --git a/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast b/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast new file mode 100644 index 000000000..5b3dc5af2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 19) + STATIC_DEF@[0; 18) + STATIC_KW@[0; 6) "static" + WHITESPACE@[6; 7) " " + ERROR@[7; 8) + UNDERSCORE@[7; 8) "_" + 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" + WHITESPACE@[13; 14) " " + EQ@[14; 15) "=" + WHITESPACE@[15; 16) " " + LITERAL@[16; 17) + INT_NUMBER@[16; 17) "5" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" +error [7; 7): expected a name diff --git a/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.txt b/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.txt deleted file mode 100644 index 5b3dc5af2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 19) - STATIC_DEF@[0; 18) - STATIC_KW@[0; 6) "static" - WHITESPACE@[6; 7) " " - ERROR@[7; 8) - UNDERSCORE@[7; 8) "_" - 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" - WHITESPACE@[13; 14) " " - EQ@[14; 15) "=" - WHITESPACE@[15; 16) " " - LITERAL@[16; 17) - INT_NUMBER@[16; 17) "5" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" -error [7; 7): expected a name diff --git a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast new file mode 100644 index 000000000..25d80be1d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast @@ -0,0 +1,59 @@ +SOURCE_FILE@[0; 62) + TRAIT_DEF@[0; 61) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "T" + WHITESPACE@[7; 8) " " + ITEM_LIST@[8; 61) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 14) "\n " + MACRO_CALL@[14; 21) + PATH@[14; 21) + PATH_SEGMENT@[14; 21) + NAME_REF@[14; 21) + IDENT@[14; 21) "default" + WHITESPACE@[21; 22) " " + TYPE_ALIAS_DEF@[22; 35) + TYPE_KW@[22; 26) "type" + WHITESPACE@[26; 27) " " + NAME@[27; 28) + IDENT@[27; 28) "T" + WHITESPACE@[28; 29) " " + EQ@[29; 30) "=" + WHITESPACE@[30; 31) " " + PATH_TYPE@[31; 34) + PATH@[31; 34) + PATH_SEGMENT@[31; 34) + NAME_REF@[31; 34) + IDENT@[31; 34) "Bar" + SEMI@[34; 35) ";" + WHITESPACE@[35; 40) "\n " + MACRO_CALL@[40; 47) + PATH@[40; 47) + PATH_SEGMENT@[40; 47) + NAME_REF@[40; 47) + IDENT@[40; 47) "default" + WHITESPACE@[47; 48) " " + FN_DEF@[48; 59) + FN_KW@[48; 50) "fn" + WHITESPACE@[50; 51) " " + NAME@[51; 54) + IDENT@[51; 54) "foo" + PARAM_LIST@[54; 56) + L_PAREN@[54; 55) "(" + R_PAREN@[55; 56) ")" + WHITESPACE@[56; 57) " " + BLOCK_EXPR@[57; 59) + BLOCK@[57; 59) + L_CURLY@[57; 58) "{" + R_CURLY@[58; 59) "}" + WHITESPACE@[59; 60) "\n" + R_CURLY@[60; 61) "}" + WHITESPACE@[61; 62) "\n" +error [21; 21): expected EXCL +error [21; 21): expected `{`, `[`, `(` +error [21; 21): expected SEMI +error [47; 47): expected EXCL +error [47; 47): expected `{`, `[`, `(` +error [47; 47): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.txt b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.txt deleted file mode 100644 index 25d80be1d..000000000 --- a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.txt +++ /dev/null @@ -1,59 +0,0 @@ -SOURCE_FILE@[0; 62) - TRAIT_DEF@[0; 61) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "T" - WHITESPACE@[7; 8) " " - ITEM_LIST@[8; 61) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 14) "\n " - MACRO_CALL@[14; 21) - PATH@[14; 21) - PATH_SEGMENT@[14; 21) - NAME_REF@[14; 21) - IDENT@[14; 21) "default" - WHITESPACE@[21; 22) " " - TYPE_ALIAS_DEF@[22; 35) - TYPE_KW@[22; 26) "type" - WHITESPACE@[26; 27) " " - NAME@[27; 28) - IDENT@[27; 28) "T" - WHITESPACE@[28; 29) " " - EQ@[29; 30) "=" - WHITESPACE@[30; 31) " " - PATH_TYPE@[31; 34) - PATH@[31; 34) - PATH_SEGMENT@[31; 34) - NAME_REF@[31; 34) - IDENT@[31; 34) "Bar" - SEMI@[34; 35) ";" - WHITESPACE@[35; 40) "\n " - MACRO_CALL@[40; 47) - PATH@[40; 47) - PATH_SEGMENT@[40; 47) - NAME_REF@[40; 47) - IDENT@[40; 47) "default" - WHITESPACE@[47; 48) " " - FN_DEF@[48; 59) - FN_KW@[48; 50) "fn" - WHITESPACE@[50; 51) " " - NAME@[51; 54) - IDENT@[51; 54) "foo" - PARAM_LIST@[54; 56) - L_PAREN@[54; 55) "(" - R_PAREN@[55; 56) ")" - WHITESPACE@[56; 57) " " - BLOCK_EXPR@[57; 59) - BLOCK@[57; 59) - L_CURLY@[57; 58) "{" - R_CURLY@[58; 59) "}" - WHITESPACE@[59; 60) "\n" - R_CURLY@[60; 61) "}" - WHITESPACE@[61; 62) "\n" -error [21; 21): expected EXCL -error [21; 21): expected `{`, `[`, `(` -error [21; 21): expected SEMI -error [47; 47): expected EXCL -error [47; 47): expected `{`, `[`, `(` -error [47; 47): expected SEMI diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast new file mode 100644 index 000000000..ad9f0965e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast @@ -0,0 +1,72 @@ +SOURCE_FILE@[0; 83) + IMPL_DEF@[0; 82) + 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) "F" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 82) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + TYPE_ALIAS_DEF@[13; 27) + TYPE_KW@[13; 17) "type" + WHITESPACE@[17; 18) " " + NAME@[18; 19) + IDENT@[18; 19) "A" + COLON@[19; 20) ":" + WHITESPACE@[20; 21) " " + TYPE_BOUND_LIST@[21; 26) + TYPE_BOUND@[21; 26) + PATH_TYPE@[21; 26) + PATH@[21; 26) + PATH_SEGMENT@[21; 26) + NAME_REF@[21; 26) + IDENT@[21; 26) "Clone" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + CONST_DEF@[32; 45) + CONST_KW@[32; 37) "const" + WHITESPACE@[37; 38) " " + NAME@[38; 39) + IDENT@[38; 39) "B" + COLON@[39; 40) ":" + WHITESPACE@[40; 41) " " + PATH_TYPE@[41; 44) + PATH@[41; 44) + PATH_SEGMENT@[41; 44) + NAME_REF@[41; 44) + IDENT@[41; 44) "i32" + SEMI@[44; 45) ";" + WHITESPACE@[45; 50) "\n " + FN_DEF@[50; 61) + FN_KW@[50; 52) "fn" + WHITESPACE@[52; 53) " " + NAME@[53; 56) + IDENT@[53; 56) "foo" + PARAM_LIST@[56; 58) + L_PAREN@[56; 57) "(" + R_PAREN@[57; 58) ")" + WHITESPACE@[58; 59) " " + BLOCK_EXPR@[59; 61) + BLOCK@[59; 61) + L_CURLY@[59; 60) "{" + R_CURLY@[60; 61) "}" + WHITESPACE@[61; 66) "\n " + FN_DEF@[66; 80) + FN_KW@[66; 68) "fn" + WHITESPACE@[68; 69) " " + NAME@[69; 72) + IDENT@[69; 72) "bar" + PARAM_LIST@[72; 79) + L_PAREN@[72; 73) "(" + SELF_PARAM@[73; 78) + AMP@[73; 74) "&" + SELF_KW@[74; 78) "self" + R_PAREN@[78; 79) ")" + SEMI@[79; 80) ";" + WHITESPACE@[80; 81) "\n" + R_CURLY@[81; 82) "}" + WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.txt b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.txt deleted file mode 100644 index ad9f0965e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.txt +++ /dev/null @@ -1,72 +0,0 @@ -SOURCE_FILE@[0; 83) - IMPL_DEF@[0; 82) - 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) "F" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 82) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - TYPE_ALIAS_DEF@[13; 27) - TYPE_KW@[13; 17) "type" - WHITESPACE@[17; 18) " " - NAME@[18; 19) - IDENT@[18; 19) "A" - COLON@[19; 20) ":" - WHITESPACE@[20; 21) " " - TYPE_BOUND_LIST@[21; 26) - TYPE_BOUND@[21; 26) - PATH_TYPE@[21; 26) - PATH@[21; 26) - PATH_SEGMENT@[21; 26) - NAME_REF@[21; 26) - IDENT@[21; 26) "Clone" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - CONST_DEF@[32; 45) - CONST_KW@[32; 37) "const" - WHITESPACE@[37; 38) " " - NAME@[38; 39) - IDENT@[38; 39) "B" - COLON@[39; 40) ":" - WHITESPACE@[40; 41) " " - PATH_TYPE@[41; 44) - PATH@[41; 44) - PATH_SEGMENT@[41; 44) - NAME_REF@[41; 44) - IDENT@[41; 44) "i32" - SEMI@[44; 45) ";" - WHITESPACE@[45; 50) "\n " - FN_DEF@[50; 61) - FN_KW@[50; 52) "fn" - WHITESPACE@[52; 53) " " - NAME@[53; 56) - IDENT@[53; 56) "foo" - PARAM_LIST@[56; 58) - L_PAREN@[56; 57) "(" - R_PAREN@[57; 58) ")" - WHITESPACE@[58; 59) " " - BLOCK_EXPR@[59; 61) - BLOCK@[59; 61) - L_CURLY@[59; 60) "{" - R_CURLY@[60; 61) "}" - WHITESPACE@[61; 66) "\n " - FN_DEF@[66; 80) - FN_KW@[66; 68) "fn" - WHITESPACE@[68; 69) " " - NAME@[69; 72) - IDENT@[69; 72) "bar" - PARAM_LIST@[72; 79) - L_PAREN@[72; 73) "(" - SELF_PARAM@[73; 78) - AMP@[73; 74) "&" - SELF_KW@[74; 78) "self" - R_PAREN@[78; 79) ")" - SEMI@[79; 80) ";" - WHITESPACE@[80; 81) "\n" - R_CURLY@[81; 82) "}" - WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast new file mode 100644 index 000000000..1b318dfb9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast @@ -0,0 +1,135 @@ +SOURCE_FILE@[0; 250) + USE_ITEM@[0; 58) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 57) + USE_TREE_LIST@[4; 57) + L_CURLY@[4; 5) "{" + USE_TREE@[5; 28) + PATH@[5; 28) + PATH@[5; 22) + PATH@[5; 16) + PATH@[5; 10) + PATH_SEGMENT@[5; 10) + CRATE_KW@[5; 10) "crate" + COLONCOLON@[10; 12) "::" + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "path" + COLONCOLON@[16; 18) "::" + PATH_SEGMENT@[18; 22) + NAME_REF@[18; 22) + IDENT@[18; 22) "from" + COLONCOLON@[22; 24) "::" + PATH_SEGMENT@[24; 28) + NAME_REF@[24; 28) + IDENT@[24; 28) "root" + COMMA@[28; 29) "," + WHITESPACE@[29; 30) " " + USE_TREE@[30; 56) + PATH@[30; 56) + PATH@[30; 44) + PATH@[30; 38) + PATH@[30; 32) + PATH_SEGMENT@[30; 32) + NAME_REF@[30; 32) + IDENT@[30; 32) "or" + COLONCOLON@[32; 34) "::" + PATH_SEGMENT@[34; 38) + NAME_REF@[34; 38) + IDENT@[34; 38) "path" + COLONCOLON@[38; 40) "::" + PATH_SEGMENT@[40; 44) + NAME_REF@[40; 44) + IDENT@[40; 44) "from" + COLONCOLON@[44; 46) "::" + PATH_SEGMENT@[46; 56) + NAME_REF@[46; 56) + IDENT@[46; 56) "crate_name" + R_CURLY@[56; 57) "}" + SEMI@[57; 58) ";" + WHITESPACE@[58; 59) " " + COMMENT@[59; 97) "// Rust 2018 (with a ..." + WHITESPACE@[97; 98) "\n" + USE_ITEM@[98; 121) + USE_KW@[98; 101) "use" + WHITESPACE@[101; 102) " " + USE_TREE@[102; 120) + USE_TREE_LIST@[102; 120) + L_CURLY@[102; 103) "{" + USE_TREE@[103; 119) + PATH@[103; 119) + PATH@[103; 113) + PATH@[103; 107) + PATH_SEGMENT@[103; 107) + NAME_REF@[103; 107) + IDENT@[103; 107) "path" + COLONCOLON@[107; 109) "::" + PATH_SEGMENT@[109; 113) + NAME_REF@[109; 113) + IDENT@[109; 113) "from" + COLONCOLON@[113; 115) "::" + PATH_SEGMENT@[115; 119) + NAME_REF@[115; 119) + IDENT@[115; 119) "root" + R_CURLY@[119; 120) "}" + SEMI@[120; 121) ";" + WHITESPACE@[121; 122) " " + COMMENT@[122; 134) "// Rust 2015" + WHITESPACE@[134; 135) "\n" + USE_ITEM@[135; 166) + USE_KW@[135; 138) "use" + WHITESPACE@[138; 139) " " + USE_TREE@[139; 165) + COLONCOLON@[139; 141) "::" + USE_TREE_LIST@[141; 165) + L_CURLY@[141; 142) "{" + USE_TREE@[142; 164) + PATH@[142; 164) + PATH@[142; 158) + PATH@[142; 146) + PATH_SEGMENT@[142; 146) + NAME_REF@[142; 146) + IDENT@[142; 146) "some" + COLONCOLON@[146; 148) "::" + PATH_SEGMENT@[148; 158) + NAME_REF@[148; 158) + IDENT@[148; 158) "arbritrary" + COLONCOLON@[158; 160) "::" + PATH_SEGMENT@[160; 164) + NAME_REF@[160; 164) + IDENT@[160; 164) "path" + R_CURLY@[164; 165) "}" + SEMI@[165; 166) ";" + WHITESPACE@[166; 167) " " + COMMENT@[167; 179) "// Rust 2015" + WHITESPACE@[179; 180) "\n" + USE_ITEM@[180; 206) + USE_KW@[180; 183) "use" + WHITESPACE@[183; 184) " " + USE_TREE@[184; 205) + COLONCOLON@[184; 186) "::" + USE_TREE_LIST@[186; 205) + L_CURLY@[186; 187) "{" + USE_TREE@[187; 204) + USE_TREE_LIST@[187; 204) + L_CURLY@[187; 188) "{" + USE_TREE@[188; 203) + USE_TREE_LIST@[188; 203) + L_CURLY@[188; 189) "{" + USE_TREE@[189; 202) + PATH@[189; 202) + PATH@[189; 194) + PATH_SEGMENT@[189; 194) + CRATE_KW@[189; 194) "crate" + COLONCOLON@[194; 196) "::" + PATH_SEGMENT@[196; 202) + NAME_REF@[196; 202) + IDENT@[196; 202) "export" + R_CURLY@[202; 203) "}" + R_CURLY@[203; 204) "}" + R_CURLY@[204; 205) "}" + SEMI@[205; 206) ";" + WHITESPACE@[206; 207) " " + COMMENT@[207; 249) "// Nonsensical but pe ..." + WHITESPACE@[249; 250) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.txt b/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.txt deleted file mode 100644 index 1b318dfb9..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.txt +++ /dev/null @@ -1,135 +0,0 @@ -SOURCE_FILE@[0; 250) - USE_ITEM@[0; 58) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 57) - USE_TREE_LIST@[4; 57) - L_CURLY@[4; 5) "{" - USE_TREE@[5; 28) - PATH@[5; 28) - PATH@[5; 22) - PATH@[5; 16) - PATH@[5; 10) - PATH_SEGMENT@[5; 10) - CRATE_KW@[5; 10) "crate" - COLONCOLON@[10; 12) "::" - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "path" - COLONCOLON@[16; 18) "::" - PATH_SEGMENT@[18; 22) - NAME_REF@[18; 22) - IDENT@[18; 22) "from" - COLONCOLON@[22; 24) "::" - PATH_SEGMENT@[24; 28) - NAME_REF@[24; 28) - IDENT@[24; 28) "root" - COMMA@[28; 29) "," - WHITESPACE@[29; 30) " " - USE_TREE@[30; 56) - PATH@[30; 56) - PATH@[30; 44) - PATH@[30; 38) - PATH@[30; 32) - PATH_SEGMENT@[30; 32) - NAME_REF@[30; 32) - IDENT@[30; 32) "or" - COLONCOLON@[32; 34) "::" - PATH_SEGMENT@[34; 38) - NAME_REF@[34; 38) - IDENT@[34; 38) "path" - COLONCOLON@[38; 40) "::" - PATH_SEGMENT@[40; 44) - NAME_REF@[40; 44) - IDENT@[40; 44) "from" - COLONCOLON@[44; 46) "::" - PATH_SEGMENT@[46; 56) - NAME_REF@[46; 56) - IDENT@[46; 56) "crate_name" - R_CURLY@[56; 57) "}" - SEMI@[57; 58) ";" - WHITESPACE@[58; 59) " " - COMMENT@[59; 97) "// Rust 2018 (with a ..." - WHITESPACE@[97; 98) "\n" - USE_ITEM@[98; 121) - USE_KW@[98; 101) "use" - WHITESPACE@[101; 102) " " - USE_TREE@[102; 120) - USE_TREE_LIST@[102; 120) - L_CURLY@[102; 103) "{" - USE_TREE@[103; 119) - PATH@[103; 119) - PATH@[103; 113) - PATH@[103; 107) - PATH_SEGMENT@[103; 107) - NAME_REF@[103; 107) - IDENT@[103; 107) "path" - COLONCOLON@[107; 109) "::" - PATH_SEGMENT@[109; 113) - NAME_REF@[109; 113) - IDENT@[109; 113) "from" - COLONCOLON@[113; 115) "::" - PATH_SEGMENT@[115; 119) - NAME_REF@[115; 119) - IDENT@[115; 119) "root" - R_CURLY@[119; 120) "}" - SEMI@[120; 121) ";" - WHITESPACE@[121; 122) " " - COMMENT@[122; 134) "// Rust 2015" - WHITESPACE@[134; 135) "\n" - USE_ITEM@[135; 166) - USE_KW@[135; 138) "use" - WHITESPACE@[138; 139) " " - USE_TREE@[139; 165) - COLONCOLON@[139; 141) "::" - USE_TREE_LIST@[141; 165) - L_CURLY@[141; 142) "{" - USE_TREE@[142; 164) - PATH@[142; 164) - PATH@[142; 158) - PATH@[142; 146) - PATH_SEGMENT@[142; 146) - NAME_REF@[142; 146) - IDENT@[142; 146) "some" - COLONCOLON@[146; 148) "::" - PATH_SEGMENT@[148; 158) - NAME_REF@[148; 158) - IDENT@[148; 158) "arbritrary" - COLONCOLON@[158; 160) "::" - PATH_SEGMENT@[160; 164) - NAME_REF@[160; 164) - IDENT@[160; 164) "path" - R_CURLY@[164; 165) "}" - SEMI@[165; 166) ";" - WHITESPACE@[166; 167) " " - COMMENT@[167; 179) "// Rust 2015" - WHITESPACE@[179; 180) "\n" - USE_ITEM@[180; 206) - USE_KW@[180; 183) "use" - WHITESPACE@[183; 184) " " - USE_TREE@[184; 205) - COLONCOLON@[184; 186) "::" - USE_TREE_LIST@[186; 205) - L_CURLY@[186; 187) "{" - USE_TREE@[187; 204) - USE_TREE_LIST@[187; 204) - L_CURLY@[187; 188) "{" - USE_TREE@[188; 203) - USE_TREE_LIST@[188; 203) - L_CURLY@[188; 189) "{" - USE_TREE@[189; 202) - PATH@[189; 202) - PATH@[189; 194) - PATH_SEGMENT@[189; 194) - CRATE_KW@[189; 194) "crate" - COLONCOLON@[194; 196) "::" - PATH_SEGMENT@[196; 202) - NAME_REF@[196; 202) - IDENT@[196; 202) "export" - R_CURLY@[202; 203) "}" - R_CURLY@[203; 204) "}" - R_CURLY@[204; 205) "}" - SEMI@[205; 206) ";" - WHITESPACE@[206; 207) " " - COMMENT@[207; 249) "// Nonsensical but pe ..." - WHITESPACE@[249; 250) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast new file mode 100644 index 000000000..e3f5a7f04 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast @@ -0,0 +1,62 @@ +SOURCE_FILE@[0; 49) + FN_DEF@[0; 48) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 7) + IDENT@[3; 7) "test" + TYPE_PARAM_LIST@[7; 10) + L_ANGLE@[7; 8) "<" + TYPE_PARAM@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "F" + R_ANGLE@[9; 10) ">" + PARAM_LIST@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + WHITESPACE@[12; 13) "\n" + WHERE_CLAUSE@[13; 44) + WHERE_KW@[13; 18) "where" + WHITESPACE@[18; 22) "\n " + WHERE_PRED@[22; 44) + FOR_TYPE@[22; 31) + FOR_KW@[22; 25) "for" + TYPE_PARAM_LIST@[25; 29) + L_ANGLE@[25; 26) "<" + LIFETIME_PARAM@[26; 28) + LIFETIME@[26; 28) "\'a" + R_ANGLE@[28; 29) ">" + WHITESPACE@[29; 30) " " + PATH_TYPE@[30; 31) + PATH@[30; 31) + PATH_SEGMENT@[30; 31) + NAME_REF@[30; 31) + IDENT@[30; 31) "F" + COLON@[31; 32) ":" + WHITESPACE@[32; 33) " " + TYPE_BOUND_LIST@[33; 44) + TYPE_BOUND@[33; 44) + PATH_TYPE@[33; 44) + PATH@[33; 44) + PATH_SEGMENT@[33; 44) + NAME_REF@[33; 35) + IDENT@[33; 35) "Fn" + PARAM_LIST@[35; 44) + L_PAREN@[35; 36) "(" + PARAM@[36; 43) + REFERENCE_TYPE@[36; 43) + AMP@[36; 37) "&" + LIFETIME@[37; 39) "\'a" + WHITESPACE@[39; 40) " " + PATH_TYPE@[40; 43) + PATH@[40; 43) + PATH_SEGMENT@[40; 43) + NAME_REF@[40; 43) + IDENT@[40; 43) "str" + R_PAREN@[43; 44) ")" + WHITESPACE@[44; 45) "\n" + BLOCK_EXPR@[45; 48) + BLOCK@[45; 48) + L_CURLY@[45; 46) "{" + WHITESPACE@[46; 47) " " + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.txt b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.txt deleted file mode 100644 index e3f5a7f04..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.txt +++ /dev/null @@ -1,62 +0,0 @@ -SOURCE_FILE@[0; 49) - FN_DEF@[0; 48) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 7) - IDENT@[3; 7) "test" - TYPE_PARAM_LIST@[7; 10) - L_ANGLE@[7; 8) "<" - TYPE_PARAM@[8; 9) - NAME@[8; 9) - IDENT@[8; 9) "F" - R_ANGLE@[9; 10) ">" - PARAM_LIST@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - WHITESPACE@[12; 13) "\n" - WHERE_CLAUSE@[13; 44) - WHERE_KW@[13; 18) "where" - WHITESPACE@[18; 22) "\n " - WHERE_PRED@[22; 44) - FOR_TYPE@[22; 31) - FOR_KW@[22; 25) "for" - TYPE_PARAM_LIST@[25; 29) - L_ANGLE@[25; 26) "<" - LIFETIME_PARAM@[26; 28) - LIFETIME@[26; 28) "\'a" - R_ANGLE@[28; 29) ">" - WHITESPACE@[29; 30) " " - PATH_TYPE@[30; 31) - PATH@[30; 31) - PATH_SEGMENT@[30; 31) - NAME_REF@[30; 31) - IDENT@[30; 31) "F" - COLON@[31; 32) ":" - WHITESPACE@[32; 33) " " - TYPE_BOUND_LIST@[33; 44) - TYPE_BOUND@[33; 44) - PATH_TYPE@[33; 44) - PATH@[33; 44) - PATH_SEGMENT@[33; 44) - NAME_REF@[33; 35) - IDENT@[33; 35) "Fn" - PARAM_LIST@[35; 44) - L_PAREN@[35; 36) "(" - PARAM@[36; 43) - REFERENCE_TYPE@[36; 43) - AMP@[36; 37) "&" - LIFETIME@[37; 39) "\'a" - WHITESPACE@[39; 40) " " - PATH_TYPE@[40; 43) - PATH@[40; 43) - PATH_SEGMENT@[40; 43) - NAME_REF@[40; 43) - IDENT@[40; 43) "str" - R_PAREN@[43; 44) ")" - WHITESPACE@[44; 45) "\n" - BLOCK_EXPR@[45; 48) - BLOCK@[45; 48) - L_CURLY@[45; 46) "{" - WHITESPACE@[46; 47) " " - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast new file mode 100644 index 000000000..9241f6fb2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast @@ -0,0 +1,60 @@ +SOURCE_FILE@[0; 39) + TYPE_ALIAS_DEF@[0; 38) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 37) + PATH@[9; 37) + PATH_SEGMENT@[9; 37) + NAME_REF@[9; 12) + IDENT@[9; 12) "Box" + TYPE_ARG_LIST@[12; 37) + L_ANGLE@[12; 13) "<" + TYPE_ARG@[13; 36) + PATH_TYPE@[13; 36) + PATH@[13; 36) + PATH_SEGMENT@[13; 36) + NAME_REF@[13; 15) + IDENT@[13; 15) "Fn" + PARAM_LIST@[15; 36) + L_PAREN@[15; 16) "(" + PARAM@[16; 19) + PATH_TYPE@[16; 19) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "i32" + COMMA@[19; 20) "," + WHITESPACE@[20; 21) " " + PARAM@[21; 25) + REFERENCE_TYPE@[21; 25) + AMP@[21; 22) "&" + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "i32" + COMMA@[25; 26) "," + WHITESPACE@[26; 27) " " + PARAM@[27; 31) + REFERENCE_TYPE@[27; 31) + AMP@[27; 28) "&" + PATH_TYPE@[28; 31) + PATH@[28; 31) + PATH_SEGMENT@[28; 31) + NAME_REF@[28; 31) + IDENT@[28; 31) "i32" + COMMA@[31; 32) "," + WHITESPACE@[32; 33) " " + PARAM@[33; 35) + TUPLE_TYPE@[33; 35) + L_PAREN@[33; 34) "(" + R_PAREN@[34; 35) ")" + R_PAREN@[35; 36) ")" + R_ANGLE@[36; 37) ">" + SEMI@[37; 38) ";" + WHITESPACE@[38; 39) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.txt deleted file mode 100644 index 9241f6fb2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.txt +++ /dev/null @@ -1,60 +0,0 @@ -SOURCE_FILE@[0; 39) - TYPE_ALIAS_DEF@[0; 38) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "F" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 37) - PATH@[9; 37) - PATH_SEGMENT@[9; 37) - NAME_REF@[9; 12) - IDENT@[9; 12) "Box" - TYPE_ARG_LIST@[12; 37) - L_ANGLE@[12; 13) "<" - TYPE_ARG@[13; 36) - PATH_TYPE@[13; 36) - PATH@[13; 36) - PATH_SEGMENT@[13; 36) - NAME_REF@[13; 15) - IDENT@[13; 15) "Fn" - PARAM_LIST@[15; 36) - L_PAREN@[15; 16) "(" - PARAM@[16; 19) - PATH_TYPE@[16; 19) - PATH@[16; 19) - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "i32" - COMMA@[19; 20) "," - WHITESPACE@[20; 21) " " - PARAM@[21; 25) - REFERENCE_TYPE@[21; 25) - AMP@[21; 22) "&" - PATH_TYPE@[22; 25) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "i32" - COMMA@[25; 26) "," - WHITESPACE@[26; 27) " " - PARAM@[27; 31) - REFERENCE_TYPE@[27; 31) - AMP@[27; 28) "&" - PATH_TYPE@[28; 31) - PATH@[28; 31) - PATH_SEGMENT@[28; 31) - NAME_REF@[28; 31) - IDENT@[28; 31) "i32" - COMMA@[31; 32) "," - WHITESPACE@[32; 33) " " - PARAM@[33; 35) - TUPLE_TYPE@[33; 35) - L_PAREN@[33; 34) "(" - R_PAREN@[34; 35) ")" - R_PAREN@[35; 36) ")" - R_ANGLE@[36; 37) ">" - SEMI@[37; 38) ";" - WHITESPACE@[38; 39) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast new file mode 100644 index 000000000..8ae7909f9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast @@ -0,0 +1,38 @@ +SOURCE_FILE@[0; 28) + FN_DEF@[0; 27) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 23) + L_ANGLE@[6; 7) "<" + TYPE_PARAM@[7; 22) + NAME@[7; 8) + IDENT@[7; 8) "T" + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " + TYPE_BOUND_LIST@[10; 22) + TYPE_BOUND@[10; 15) + PATH_TYPE@[10; 15) + PATH@[10; 15) + PATH_SEGMENT@[10; 15) + NAME_REF@[10; 15) + IDENT@[10; 15) "Clone" + WHITESPACE@[15; 16) " " + PLUS@[16; 17) "+" + WHITESPACE@[17; 18) " " + TYPE_BOUND@[18; 22) + PATH_TYPE@[18; 22) + PATH@[18; 22) + PATH_SEGMENT@[18; 22) + NAME_REF@[18; 22) + IDENT@[18; 22) "Copy" + R_ANGLE@[22; 23) ">" + 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; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.txt b/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.txt deleted file mode 100644 index 8ae7909f9..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.txt +++ /dev/null @@ -1,38 +0,0 @@ -SOURCE_FILE@[0; 28) - FN_DEF@[0; 27) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - TYPE_PARAM_LIST@[6; 23) - L_ANGLE@[6; 7) "<" - TYPE_PARAM@[7; 22) - NAME@[7; 8) - IDENT@[7; 8) "T" - COLON@[8; 9) ":" - WHITESPACE@[9; 10) " " - TYPE_BOUND_LIST@[10; 22) - TYPE_BOUND@[10; 15) - PATH_TYPE@[10; 15) - PATH@[10; 15) - PATH_SEGMENT@[10; 15) - NAME_REF@[10; 15) - IDENT@[10; 15) "Clone" - WHITESPACE@[15; 16) " " - PLUS@[16; 17) "+" - WHITESPACE@[17; 18) " " - TYPE_BOUND@[18; 22) - PATH_TYPE@[18; 22) - PATH@[18; 22) - PATH_SEGMENT@[18; 22) - NAME_REF@[18; 22) - IDENT@[18; 22) "Copy" - R_ANGLE@[22; 23) ">" - 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; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast new file mode 100644 index 000000000..757ac092a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast @@ -0,0 +1,121 @@ +SOURCE_FILE@[0; 128) + IMPL_DEF@[0; 127) + 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) "S" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 127) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 26) + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 23) + L_PAREN@[17; 18) "(" + SELF_PARAM@[18; 22) + SELF_KW@[18; 22) "self" + R_PAREN@[22; 23) ")" + WHITESPACE@[23; 24) " " + BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 31) "\n " + FN_DEF@[31; 46) + FN_KW@[31; 33) "fn" + WHITESPACE@[33; 34) " " + NAME@[34; 35) + IDENT@[34; 35) "b" + PARAM_LIST@[35; 43) + L_PAREN@[35; 36) "(" + SELF_PARAM@[36; 41) + AMP@[36; 37) "&" + SELF_KW@[37; 41) "self" + COMMA@[41; 42) "," + R_PAREN@[42; 43) ")" + WHITESPACE@[43; 44) " " + BLOCK_EXPR@[44; 46) + BLOCK@[44; 46) + L_CURLY@[44; 45) "{" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 51) "\n " + FN_DEF@[51; 69) + FN_KW@[51; 53) "fn" + WHITESPACE@[53; 54) " " + NAME@[54; 55) + IDENT@[54; 55) "c" + PARAM_LIST@[55; 66) + L_PAREN@[55; 56) "(" + SELF_PARAM@[56; 64) + AMP@[56; 57) "&" + LIFETIME@[57; 59) "\'a" + WHITESPACE@[59; 60) " " + SELF_KW@[60; 64) "self" + COMMA@[64; 65) "," + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " + BLOCK_EXPR@[67; 69) + BLOCK@[67; 69) + L_CURLY@[67; 68) "{" + R_CURLY@[68; 69) "}" + WHITESPACE@[69; 74) "\n " + FN_DEF@[74; 103) + FN_KW@[74; 76) "fn" + WHITESPACE@[76; 77) " " + NAME@[77; 78) + IDENT@[77; 78) "d" + PARAM_LIST@[78; 100) + L_PAREN@[78; 79) "(" + SELF_PARAM@[79; 91) + AMP@[79; 80) "&" + LIFETIME@[80; 82) "\'a" + WHITESPACE@[82; 83) " " + MUT_KW@[83; 86) "mut" + WHITESPACE@[86; 87) " " + SELF_KW@[87; 91) "self" + COMMA@[91; 92) "," + WHITESPACE@[92; 93) " " + PARAM@[93; 99) + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "x" + COLON@[94; 95) ":" + WHITESPACE@[95; 96) " " + PATH_TYPE@[96; 99) + PATH@[96; 99) + PATH_SEGMENT@[96; 99) + NAME_REF@[96; 99) + IDENT@[96; 99) "i32" + R_PAREN@[99; 100) ")" + WHITESPACE@[100; 101) " " + BLOCK_EXPR@[101; 103) + BLOCK@[101; 103) + L_CURLY@[101; 102) "{" + R_CURLY@[102; 103) "}" + WHITESPACE@[103; 108) "\n " + FN_DEF@[108; 125) + FN_KW@[108; 110) "fn" + WHITESPACE@[110; 111) " " + NAME@[111; 112) + IDENT@[111; 112) "e" + PARAM_LIST@[112; 122) + L_PAREN@[112; 113) "(" + SELF_PARAM@[113; 121) + MUT_KW@[113; 116) "mut" + WHITESPACE@[116; 117) " " + SELF_KW@[117; 121) "self" + R_PAREN@[121; 122) ")" + WHITESPACE@[122; 123) " " + BLOCK_EXPR@[123; 125) + BLOCK@[123; 125) + L_CURLY@[123; 124) "{" + R_CURLY@[124; 125) "}" + WHITESPACE@[125; 126) "\n" + R_CURLY@[126; 127) "}" + WHITESPACE@[127; 128) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.txt b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.txt deleted file mode 100644 index 757ac092a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.txt +++ /dev/null @@ -1,121 +0,0 @@ -SOURCE_FILE@[0; 128) - IMPL_DEF@[0; 127) - 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) "S" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 127) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - FN_DEF@[13; 26) - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 17) - IDENT@[16; 17) "a" - PARAM_LIST@[17; 23) - L_PAREN@[17; 18) "(" - SELF_PARAM@[18; 22) - SELF_KW@[18; 22) "self" - R_PAREN@[22; 23) ")" - WHITESPACE@[23; 24) " " - BLOCK_EXPR@[24; 26) - BLOCK@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 31) "\n " - FN_DEF@[31; 46) - FN_KW@[31; 33) "fn" - WHITESPACE@[33; 34) " " - NAME@[34; 35) - IDENT@[34; 35) "b" - PARAM_LIST@[35; 43) - L_PAREN@[35; 36) "(" - SELF_PARAM@[36; 41) - AMP@[36; 37) "&" - SELF_KW@[37; 41) "self" - COMMA@[41; 42) "," - R_PAREN@[42; 43) ")" - WHITESPACE@[43; 44) " " - BLOCK_EXPR@[44; 46) - BLOCK@[44; 46) - L_CURLY@[44; 45) "{" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 51) "\n " - FN_DEF@[51; 69) - FN_KW@[51; 53) "fn" - WHITESPACE@[53; 54) " " - NAME@[54; 55) - IDENT@[54; 55) "c" - PARAM_LIST@[55; 66) - L_PAREN@[55; 56) "(" - SELF_PARAM@[56; 64) - AMP@[56; 57) "&" - LIFETIME@[57; 59) "\'a" - WHITESPACE@[59; 60) " " - SELF_KW@[60; 64) "self" - COMMA@[64; 65) "," - R_PAREN@[65; 66) ")" - WHITESPACE@[66; 67) " " - BLOCK_EXPR@[67; 69) - BLOCK@[67; 69) - L_CURLY@[67; 68) "{" - R_CURLY@[68; 69) "}" - WHITESPACE@[69; 74) "\n " - FN_DEF@[74; 103) - FN_KW@[74; 76) "fn" - WHITESPACE@[76; 77) " " - NAME@[77; 78) - IDENT@[77; 78) "d" - PARAM_LIST@[78; 100) - L_PAREN@[78; 79) "(" - SELF_PARAM@[79; 91) - AMP@[79; 80) "&" - LIFETIME@[80; 82) "\'a" - WHITESPACE@[82; 83) " " - MUT_KW@[83; 86) "mut" - WHITESPACE@[86; 87) " " - SELF_KW@[87; 91) "self" - COMMA@[91; 92) "," - WHITESPACE@[92; 93) " " - PARAM@[93; 99) - BIND_PAT@[93; 94) - NAME@[93; 94) - IDENT@[93; 94) "x" - COLON@[94; 95) ":" - WHITESPACE@[95; 96) " " - PATH_TYPE@[96; 99) - PATH@[96; 99) - PATH_SEGMENT@[96; 99) - NAME_REF@[96; 99) - IDENT@[96; 99) "i32" - R_PAREN@[99; 100) ")" - WHITESPACE@[100; 101) " " - BLOCK_EXPR@[101; 103) - BLOCK@[101; 103) - L_CURLY@[101; 102) "{" - R_CURLY@[102; 103) "}" - WHITESPACE@[103; 108) "\n " - FN_DEF@[108; 125) - FN_KW@[108; 110) "fn" - WHITESPACE@[110; 111) " " - NAME@[111; 112) - IDENT@[111; 112) "e" - PARAM_LIST@[112; 122) - L_PAREN@[112; 113) "(" - SELF_PARAM@[113; 121) - MUT_KW@[113; 116) "mut" - WHITESPACE@[116; 117) " " - SELF_KW@[117; 121) "self" - R_PAREN@[121; 122) ")" - WHITESPACE@[122; 123) " " - BLOCK_EXPR@[123; 125) - BLOCK@[123; 125) - L_CURLY@[123; 124) "{" - R_CURLY@[124; 125) "}" - WHITESPACE@[125; 126) "\n" - R_CURLY@[126; 127) "}" - WHITESPACE@[127; 128) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast new file mode 100644 index 000000000..a7186c7a8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast @@ -0,0 +1,40 @@ +SOURCE_FILE@[0; 35) + STRUCT_DEF@[0; 34) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 33) + L_ANGLE@[8; 9) "<" + TYPE_PARAM@[9; 32) + NAME@[9; 10) + IDENT@[9; 10) "T" + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " + TYPE_BOUND_LIST@[12; 32) + TYPE_BOUND@[12; 14) + LIFETIME@[12; 14) "\'a" + WHITESPACE@[14; 15) " " + PLUS@[15; 16) "+" + WHITESPACE@[16; 17) " " + TYPE_BOUND@[17; 23) + QUESTION@[17; 18) "?" + PATH_TYPE@[18; 23) + PATH@[18; 23) + PATH_SEGMENT@[18; 23) + NAME_REF@[18; 23) + IDENT@[18; 23) "Sized" + WHITESPACE@[23; 24) " " + PLUS@[24; 25) "+" + WHITESPACE@[25; 26) " " + TYPE_BOUND@[26; 32) + L_PAREN@[26; 27) "(" + PATH_TYPE@[27; 31) + PATH@[27; 31) + PATH_SEGMENT@[27; 31) + NAME_REF@[27; 31) + IDENT@[27; 31) "Copy" + R_PAREN@[31; 32) ")" + R_ANGLE@[32; 33) ">" + SEMI@[33; 34) ";" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.txt b/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.txt deleted file mode 100644 index a7186c7a8..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.txt +++ /dev/null @@ -1,40 +0,0 @@ -SOURCE_FILE@[0; 35) - STRUCT_DEF@[0; 34) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - TYPE_PARAM_LIST@[8; 33) - L_ANGLE@[8; 9) "<" - TYPE_PARAM@[9; 32) - NAME@[9; 10) - IDENT@[9; 10) "T" - COLON@[10; 11) ":" - WHITESPACE@[11; 12) " " - TYPE_BOUND_LIST@[12; 32) - TYPE_BOUND@[12; 14) - LIFETIME@[12; 14) "\'a" - WHITESPACE@[14; 15) " " - PLUS@[15; 16) "+" - WHITESPACE@[16; 17) " " - TYPE_BOUND@[17; 23) - QUESTION@[17; 18) "?" - PATH_TYPE@[18; 23) - PATH@[18; 23) - PATH_SEGMENT@[18; 23) - NAME_REF@[18; 23) - IDENT@[18; 23) "Sized" - WHITESPACE@[23; 24) " " - PLUS@[24; 25) "+" - WHITESPACE@[25; 26) " " - TYPE_BOUND@[26; 32) - L_PAREN@[26; 27) "(" - PATH_TYPE@[27; 31) - PATH@[27; 31) - PATH_SEGMENT@[27; 31) - NAME_REF@[27; 31) - IDENT@[27; 31) "Copy" - R_PAREN@[31; 32) ")" - R_ANGLE@[32; 33) ">" - SEMI@[33; 34) ";" - WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast new file mode 100644 index 000000000..3812adc9e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast @@ -0,0 +1,97 @@ +SOURCE_FILE@[0; 103) + FN_DEF@[0; 102) + 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; 102) + BLOCK@[9; 102) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 33) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PATH_PAT@[19; 27) + PATH@[19; 27) + PATH@[19; 22) + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "foo" + COLONCOLON@[22; 24) "::" + PATH_SEGMENT@[24; 27) + NAME_REF@[24; 27) + IDENT@[24; 27) "Bar" + WHITESPACE@[27; 28) " " + EQ@[28; 29) "=" + WHITESPACE@[29; 30) " " + TUPLE_EXPR@[30; 32) + L_PAREN@[30; 31) "(" + R_PAREN@[31; 32) ")" + SEMI@[32; 33) ";" + WHITESPACE@[33; 38) "\n " + LET_STMT@[38; 53) + LET_KW@[38; 41) "let" + WHITESPACE@[41; 42) " " + PATH_PAT@[42; 47) + PATH@[42; 47) + PATH_SEGMENT@[42; 47) + COLONCOLON@[42; 44) "::" + NAME_REF@[44; 47) + IDENT@[44; 47) "Bar" + WHITESPACE@[47; 48) " " + EQ@[48; 49) "=" + WHITESPACE@[49; 50) " " + TUPLE_EXPR@[50; 52) + L_PAREN@[50; 51) "(" + R_PAREN@[51; 52) ")" + SEMI@[52; 53) ";" + WHITESPACE@[53; 58) "\n " + LET_STMT@[58; 78) + LET_KW@[58; 61) "let" + WHITESPACE@[61; 62) " " + RECORD_PAT@[62; 72) + PATH@[62; 65) + PATH_SEGMENT@[62; 65) + NAME_REF@[62; 65) + IDENT@[62; 65) "Bar" + WHITESPACE@[65; 66) " " + RECORD_FIELD_PAT_LIST@[66; 72) + L_CURLY@[66; 67) "{" + WHITESPACE@[67; 68) " " + DOTDOT@[68; 70) ".." + WHITESPACE@[70; 71) " " + R_CURLY@[71; 72) "}" + WHITESPACE@[72; 73) " " + EQ@[73; 74) "=" + WHITESPACE@[74; 75) " " + TUPLE_EXPR@[75; 77) + L_PAREN@[75; 76) "(" + R_PAREN@[76; 77) ")" + SEMI@[77; 78) ";" + WHITESPACE@[78; 83) "\n " + LET_STMT@[83; 100) + LET_KW@[83; 86) "let" + WHITESPACE@[86; 87) " " + TUPLE_STRUCT_PAT@[87; 94) + PATH@[87; 90) + PATH_SEGMENT@[87; 90) + NAME_REF@[87; 90) + IDENT@[87; 90) "Bar" + L_PAREN@[90; 91) "(" + DOT_DOT_PAT@[91; 93) + DOTDOT@[91; 93) ".." + R_PAREN@[93; 94) ")" + WHITESPACE@[94; 95) " " + EQ@[95; 96) "=" + WHITESPACE@[96; 97) " " + TUPLE_EXPR@[97; 99) + L_PAREN@[97; 98) "(" + R_PAREN@[98; 99) ")" + SEMI@[99; 100) ";" + WHITESPACE@[100; 101) "\n" + R_CURLY@[101; 102) "}" + WHITESPACE@[102; 103) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.txt b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.txt deleted file mode 100644 index 3812adc9e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.txt +++ /dev/null @@ -1,97 +0,0 @@ -SOURCE_FILE@[0; 103) - FN_DEF@[0; 102) - 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; 102) - BLOCK@[9; 102) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 33) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PATH_PAT@[19; 27) - PATH@[19; 27) - PATH@[19; 22) - PATH_SEGMENT@[19; 22) - NAME_REF@[19; 22) - IDENT@[19; 22) "foo" - COLONCOLON@[22; 24) "::" - PATH_SEGMENT@[24; 27) - NAME_REF@[24; 27) - IDENT@[24; 27) "Bar" - WHITESPACE@[27; 28) " " - EQ@[28; 29) "=" - WHITESPACE@[29; 30) " " - TUPLE_EXPR@[30; 32) - L_PAREN@[30; 31) "(" - R_PAREN@[31; 32) ")" - SEMI@[32; 33) ";" - WHITESPACE@[33; 38) "\n " - LET_STMT@[38; 53) - LET_KW@[38; 41) "let" - WHITESPACE@[41; 42) " " - PATH_PAT@[42; 47) - PATH@[42; 47) - PATH_SEGMENT@[42; 47) - COLONCOLON@[42; 44) "::" - NAME_REF@[44; 47) - IDENT@[44; 47) "Bar" - WHITESPACE@[47; 48) " " - EQ@[48; 49) "=" - WHITESPACE@[49; 50) " " - TUPLE_EXPR@[50; 52) - L_PAREN@[50; 51) "(" - R_PAREN@[51; 52) ")" - SEMI@[52; 53) ";" - WHITESPACE@[53; 58) "\n " - LET_STMT@[58; 78) - LET_KW@[58; 61) "let" - WHITESPACE@[61; 62) " " - RECORD_PAT@[62; 72) - PATH@[62; 65) - PATH_SEGMENT@[62; 65) - NAME_REF@[62; 65) - IDENT@[62; 65) "Bar" - WHITESPACE@[65; 66) " " - RECORD_FIELD_PAT_LIST@[66; 72) - L_CURLY@[66; 67) "{" - WHITESPACE@[67; 68) " " - DOTDOT@[68; 70) ".." - WHITESPACE@[70; 71) " " - R_CURLY@[71; 72) "}" - WHITESPACE@[72; 73) " " - EQ@[73; 74) "=" - WHITESPACE@[74; 75) " " - TUPLE_EXPR@[75; 77) - L_PAREN@[75; 76) "(" - R_PAREN@[76; 77) ")" - SEMI@[77; 78) ";" - WHITESPACE@[78; 83) "\n " - LET_STMT@[83; 100) - LET_KW@[83; 86) "let" - WHITESPACE@[86; 87) " " - TUPLE_STRUCT_PAT@[87; 94) - PATH@[87; 90) - PATH_SEGMENT@[87; 90) - NAME_REF@[87; 90) - IDENT@[87; 90) "Bar" - L_PAREN@[90; 91) "(" - DOT_DOT_PAT@[91; 93) - DOTDOT@[91; 93) ".." - R_PAREN@[93; 94) ")" - WHITESPACE@[94; 95) " " - EQ@[95; 96) "=" - WHITESPACE@[96; 97) " " - TUPLE_EXPR@[97; 99) - L_PAREN@[97; 98) "(" - R_PAREN@[98; 99) ")" - SEMI@[99; 100) ";" - WHITESPACE@[100; 101) "\n" - R_CURLY@[101; 102) "}" - WHITESPACE@[102; 103) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast new file mode 100644 index 000000000..2d8872022 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast @@ -0,0 +1,26 @@ +SOURCE_FILE@[0; 26) + FN_DEF@[0; 25) + 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; 25) + BLOCK@[9; 25) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 23) + LOOP_EXPR@[15; 22) + LOOP_KW@[15; 19) "loop" + WHITESPACE@[19; 20) " " + BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) + L_CURLY@[20; 21) "{" + R_CURLY@[21; 22) "}" + SEMI@[22; 23) ";" + WHITESPACE@[23; 24) "\n" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.txt deleted file mode 100644 index 2d8872022..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.txt +++ /dev/null @@ -1,26 +0,0 @@ -SOURCE_FILE@[0; 26) - FN_DEF@[0; 25) - 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; 25) - BLOCK@[9; 25) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 23) - LOOP_EXPR@[15; 22) - LOOP_KW@[15; 19) "loop" - WHITESPACE@[19; 20) " " - BLOCK_EXPR@[20; 22) - BLOCK@[20; 22) - L_CURLY@[20; 21) "{" - R_CURLY@[21; 22) "}" - SEMI@[22; 23) ";" - WHITESPACE@[23; 24) "\n" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.rast new file mode 100644 index 000000000..506f56fff --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.rast @@ -0,0 +1,9 @@ +SOURCE_FILE@[0; 10) + EXTERN_BLOCK@[0; 9) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + EXTERN_ITEM_LIST@[7; 9) + L_CURLY@[7; 8) "{" + R_CURLY@[8; 9) "}" + WHITESPACE@[9; 10) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.txt deleted file mode 100644 index 506f56fff..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0010_extern_block.txt +++ /dev/null @@ -1,9 +0,0 @@ -SOURCE_FILE@[0; 10) - EXTERN_BLOCK@[0; 9) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - EXTERN_ITEM_LIST@[7; 9) - L_CURLY@[7; 8) "{" - R_CURLY@[8; 9) "}" - WHITESPACE@[9; 10) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast new file mode 100644 index 000000000..29b268b55 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast @@ -0,0 +1,60 @@ +SOURCE_FILE@[0; 48) + FN_DEF@[0; 47) + 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; 47) + BLOCK@[9; 47) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 21) + FIELD_EXPR@[15; 20) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) "." + NAME_REF@[17; 20) + IDENT@[17; 20) "foo" + SEMI@[20; 21) ";" + WHITESPACE@[21; 26) "\n " + EXPR_STMT@[26; 34) + FIELD_EXPR@[26; 33) + FIELD_EXPR@[26; 29) + PATH_EXPR@[26; 27) + PATH@[26; 27) + PATH_SEGMENT@[26; 27) + NAME_REF@[26; 27) + IDENT@[26; 27) "x" + DOT@[27; 28) "." + NAME_REF@[28; 29) + INT_NUMBER@[28; 29) "0" + DOT@[29; 30) "." + NAME_REF@[30; 33) + IDENT@[30; 33) "bar" + SEMI@[33; 34) ";" + WHITESPACE@[34; 39) "\n " + EXPR_STMT@[39; 45) + CALL_EXPR@[39; 44) + FIELD_EXPR@[39; 42) + PATH_EXPR@[39; 40) + PATH@[39; 40) + PATH_SEGMENT@[39; 40) + NAME_REF@[39; 40) + IDENT@[39; 40) "x" + DOT@[40; 41) "." + NAME_REF@[41; 42) + INT_NUMBER@[41; 42) "0" + ARG_LIST@[42; 44) + L_PAREN@[42; 43) "(" + R_PAREN@[43; 44) ")" + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" + R_CURLY@[46; 47) "}" + WHITESPACE@[47; 48) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.txt deleted file mode 100644 index 29b268b55..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.txt +++ /dev/null @@ -1,60 +0,0 @@ -SOURCE_FILE@[0; 48) - FN_DEF@[0; 47) - 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; 47) - BLOCK@[9; 47) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 21) - FIELD_EXPR@[15; 20) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - DOT@[16; 17) "." - NAME_REF@[17; 20) - IDENT@[17; 20) "foo" - SEMI@[20; 21) ";" - WHITESPACE@[21; 26) "\n " - EXPR_STMT@[26; 34) - FIELD_EXPR@[26; 33) - FIELD_EXPR@[26; 29) - PATH_EXPR@[26; 27) - PATH@[26; 27) - PATH_SEGMENT@[26; 27) - NAME_REF@[26; 27) - IDENT@[26; 27) "x" - DOT@[27; 28) "." - NAME_REF@[28; 29) - INT_NUMBER@[28; 29) "0" - DOT@[29; 30) "." - NAME_REF@[30; 33) - IDENT@[30; 33) "bar" - SEMI@[33; 34) ";" - WHITESPACE@[34; 39) "\n " - EXPR_STMT@[39; 45) - CALL_EXPR@[39; 44) - FIELD_EXPR@[39; 42) - PATH_EXPR@[39; 40) - PATH@[39; 40) - PATH_SEGMENT@[39; 40) - NAME_REF@[39; 40) - IDENT@[39; 40) "x" - DOT@[40; 41) "." - NAME_REF@[41; 42) - INT_NUMBER@[41; 42) "0" - ARG_LIST@[42; 44) - L_PAREN@[42; 43) "(" - R_PAREN@[43; 44) ")" - SEMI@[44; 45) ";" - WHITESPACE@[45; 46) "\n" - R_CURLY@[46; 47) "}" - WHITESPACE@[47; 48) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast new file mode 100644 index 000000000..da04dac5c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast @@ -0,0 +1,33 @@ +SOURCE_FILE@[0; 31) + TYPE_ALIAS_DEF@[0; 30) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) " " + WHERE_CLAUSE@[9; 24) + WHERE_KW@[9; 14) "where" + WHITESPACE@[14; 15) " " + WHERE_PRED@[15; 24) + PATH_TYPE@[15; 18) + PATH@[15; 18) + PATH_SEGMENT@[15; 18) + NAME_REF@[15; 18) + IDENT@[15; 18) "Foo" + COLON@[18; 19) ":" + WHITESPACE@[19; 20) " " + TYPE_BOUND_LIST@[20; 24) + TYPE_BOUND@[20; 24) + PATH_TYPE@[20; 24) + PATH@[20; 24) + PATH_SEGMENT@[20; 24) + NAME_REF@[20; 24) + IDENT@[20; 24) "Copy" + WHITESPACE@[24; 25) " " + EQ@[25; 26) "=" + WHITESPACE@[26; 27) " " + TUPLE_TYPE@[27; 29) + L_PAREN@[27; 28) "(" + R_PAREN@[28; 29) ")" + SEMI@[29; 30) ";" + WHITESPACE@[30; 31) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.txt b/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.txt deleted file mode 100644 index da04dac5c..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.txt +++ /dev/null @@ -1,33 +0,0 @@ -SOURCE_FILE@[0; 31) - TYPE_ALIAS_DEF@[0; 30) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 8) - IDENT@[5; 8) "Foo" - WHITESPACE@[8; 9) " " - WHERE_CLAUSE@[9; 24) - WHERE_KW@[9; 14) "where" - WHITESPACE@[14; 15) " " - WHERE_PRED@[15; 24) - PATH_TYPE@[15; 18) - PATH@[15; 18) - PATH_SEGMENT@[15; 18) - NAME_REF@[15; 18) - IDENT@[15; 18) "Foo" - COLON@[18; 19) ":" - WHITESPACE@[19; 20) " " - TYPE_BOUND_LIST@[20; 24) - TYPE_BOUND@[20; 24) - PATH_TYPE@[20; 24) - PATH@[20; 24) - PATH_SEGMENT@[20; 24) - NAME_REF@[20; 24) - IDENT@[20; 24) "Copy" - WHITESPACE@[24; 25) " " - EQ@[25; 26) "=" - WHITESPACE@[26; 27) " " - TUPLE_TYPE@[27; 29) - L_PAREN@[27; 28) "(" - R_PAREN@[28; 29) ")" - SEMI@[29; 30) ";" - WHITESPACE@[30; 31) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast new file mode 100644 index 000000000..c05f873d6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast @@ -0,0 +1,35 @@ +SOURCE_FILE@[0; 36) + TYPE_ALIAS_DEF@[0; 17) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "M" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + POINTER_TYPE@[9; 16) + STAR@[9; 10) "*" + MUT_KW@[10; 13) "mut" + WHITESPACE@[13; 14) " " + TUPLE_TYPE@[14; 16) + L_PAREN@[14; 15) "(" + R_PAREN@[15; 16) ")" + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" + TYPE_ALIAS_DEF@[18; 35) + TYPE_KW@[18; 22) "type" + WHITESPACE@[22; 23) " " + NAME@[23; 24) + IDENT@[23; 24) "C" + WHITESPACE@[24; 25) " " + EQ@[25; 26) "=" + WHITESPACE@[26; 27) " " + POINTER_TYPE@[27; 34) + STAR@[27; 28) "*" + MUT_KW@[28; 31) "mut" + WHITESPACE@[31; 32) " " + TUPLE_TYPE@[32; 34) + L_PAREN@[32; 33) "(" + R_PAREN@[33; 34) ")" + SEMI@[34; 35) ";" + WHITESPACE@[35; 36) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.txt b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.txt deleted file mode 100644 index c05f873d6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.txt +++ /dev/null @@ -1,35 +0,0 @@ -SOURCE_FILE@[0; 36) - TYPE_ALIAS_DEF@[0; 17) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "M" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - POINTER_TYPE@[9; 16) - STAR@[9; 10) "*" - MUT_KW@[10; 13) "mut" - WHITESPACE@[13; 14) " " - TUPLE_TYPE@[14; 16) - L_PAREN@[14; 15) "(" - R_PAREN@[15; 16) ")" - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) "\n" - TYPE_ALIAS_DEF@[18; 35) - TYPE_KW@[18; 22) "type" - WHITESPACE@[22; 23) " " - NAME@[23; 24) - IDENT@[23; 24) "C" - WHITESPACE@[24; 25) " " - EQ@[25; 26) "=" - WHITESPACE@[26; 27) " " - POINTER_TYPE@[27; 34) - STAR@[27; 28) "*" - MUT_KW@[28; 31) "mut" - WHITESPACE@[31; 32) " " - TUPLE_TYPE@[32; 34) - L_PAREN@[32; 33) "(" - R_PAREN@[33; 34) ")" - SEMI@[34; 35) ";" - WHITESPACE@[35; 36) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast new file mode 100644 index 000000000..ac53e4fd3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast @@ -0,0 +1,13 @@ +SOURCE_FILE@[0; 16) + TYPE_ALIAS_DEF@[0; 15) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 10) + IDENT@[5; 10) "Never" + WHITESPACE@[10; 11) " " + EQ@[11; 12) "=" + WHITESPACE@[12; 13) " " + NEVER_TYPE@[13; 14) + EXCL@[13; 14) "!" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.txt deleted file mode 100644 index ac53e4fd3..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.txt +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE_FILE@[0; 16) - TYPE_ALIAS_DEF@[0; 15) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 10) - IDENT@[5; 10) "Never" - WHITESPACE@[10; 11) " " - EQ@[11; 12) "=" - WHITESPACE@[12; 13) " " - NEVER_TYPE@[13; 14) - EXCL@[13; 14) "!" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast new file mode 100644 index 000000000..c051c1c86 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast @@ -0,0 +1,37 @@ +SOURCE_FILE@[0; 69) + FN_DEF@[0; 68) + 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; 68) + BLOCK@[9; 68) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LOOP_EXPR@[15; 66) + LOOP_KW@[15; 19) "loop" + WHITESPACE@[19; 20) " " + BLOCK_EXPR@[20; 66) + BLOCK@[20; 66) + L_CURLY@[20; 21) "{" + WHITESPACE@[21; 30) "\n " + EXPR_STMT@[30; 39) + CONTINUE_EXPR@[30; 38) + CONTINUE_KW@[30; 38) "continue" + SEMI@[38; 39) ";" + WHITESPACE@[39; 48) "\n " + EXPR_STMT@[48; 60) + CONTINUE_EXPR@[48; 59) + CONTINUE_KW@[48; 56) "continue" + WHITESPACE@[56; 57) " " + LIFETIME@[57; 59) "\'l" + SEMI@[59; 60) ";" + WHITESPACE@[60; 65) "\n " + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 67) "\n" + R_CURLY@[67; 68) "}" + WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.txt deleted file mode 100644 index c051c1c86..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.txt +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE_FILE@[0; 69) - FN_DEF@[0; 68) - 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; 68) - BLOCK@[9; 68) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LOOP_EXPR@[15; 66) - LOOP_KW@[15; 19) "loop" - WHITESPACE@[19; 20) " " - BLOCK_EXPR@[20; 66) - BLOCK@[20; 66) - L_CURLY@[20; 21) "{" - WHITESPACE@[21; 30) "\n " - EXPR_STMT@[30; 39) - CONTINUE_EXPR@[30; 38) - CONTINUE_KW@[30; 38) "continue" - SEMI@[38; 39) ";" - WHITESPACE@[39; 48) "\n " - EXPR_STMT@[48; 60) - CONTINUE_EXPR@[48; 59) - CONTINUE_KW@[48; 56) "continue" - WHITESPACE@[56; 57) " " - LIFETIME@[57; 59) "\'l" - SEMI@[59; 60) ";" - WHITESPACE@[60; 65) "\n " - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 67) "\n" - R_CURLY@[67; 68) "}" - WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast new file mode 100644 index 000000000..7b43f1294 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.rast @@ -0,0 +1,13 @@ +SOURCE_FILE@[0; 18) + TRAIT_DEF@[0; 17) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + TRAIT_KW@[7; 12) "trait" + WHITESPACE@[12; 13) " " + NAME@[13; 14) + IDENT@[13; 14) "T" + WHITESPACE@[14; 15) " " + ITEM_LIST@[15; 17) + L_CURLY@[15; 16) "{" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.txt b/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.txt deleted file mode 100644 index 7b43f1294..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0016_unsafe_trait.txt +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE_FILE@[0; 18) - TRAIT_DEF@[0; 17) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - TRAIT_KW@[7; 12) "trait" - WHITESPACE@[12; 13) " " - NAME@[13; 14) - IDENT@[13; 14) "T" - WHITESPACE@[14; 15) " " - ITEM_LIST@[15; 17) - L_CURLY@[15; 16) "{" - R_CURLY@[16; 17) "}" - WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast new file mode 100644 index 000000000..b4055c9f0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 19) + TYPE_ALIAS_DEF@[0; 18) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + ARRAY_TYPE@[9; 17) + L_BRACK@[9; 10) "[" + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) " " + LITERAL@[14; 16) + INT_NUMBER@[14; 16) "92" + R_BRACK@[16; 17) "]" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.txt deleted file mode 100644 index b4055c9f0..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 19) - TYPE_ALIAS_DEF@[0; 18) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - ARRAY_TYPE@[9; 17) - L_BRACK@[9; 10) "[" - TUPLE_TYPE@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) " " - LITERAL@[14; 16) - INT_NUMBER@[14; 16) "92" - R_BRACK@[16; 17) "]" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast new file mode 100644 index 000000000..89caee543 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast @@ -0,0 +1,74 @@ +SOURCE_FILE@[0; 69) + IMPL_DEF@[0; 68) + 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) "S" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 68) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 33) + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 17) + IDENT@[16; 17) "a" + PARAM_LIST@[17; 30) + L_PAREN@[17; 18) "(" + SELF_PARAM@[18; 29) + SELF_KW@[18; 22) "self" + COLON@[22; 23) ":" + WHITESPACE@[23; 24) " " + REFERENCE_TYPE@[24; 29) + AMP@[24; 25) "&" + PATH_TYPE@[25; 29) + PATH@[25; 29) + PATH_SEGMENT@[25; 29) + NAME_REF@[25; 29) + IDENT@[25; 29) "Self" + R_PAREN@[29; 30) ")" + WHITESPACE@[30; 31) " " + BLOCK_EXPR@[31; 33) + BLOCK@[31; 33) + L_CURLY@[31; 32) "{" + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 38) "\n " + FN_DEF@[38; 66) + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 42) + IDENT@[41; 42) "b" + PARAM_LIST@[42; 63) + L_PAREN@[42; 43) "(" + SELF_PARAM@[43; 62) + MUT_KW@[43; 46) "mut" + WHITESPACE@[46; 47) " " + SELF_KW@[47; 51) "self" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + PATH_TYPE@[53; 62) + PATH@[53; 62) + PATH_SEGMENT@[53; 62) + NAME_REF@[53; 56) + IDENT@[53; 56) "Box" + TYPE_ARG_LIST@[56; 62) + L_ANGLE@[56; 57) "<" + TYPE_ARG@[57; 61) + PATH_TYPE@[57; 61) + PATH@[57; 61) + PATH_SEGMENT@[57; 61) + NAME_REF@[57; 61) + IDENT@[57; 61) "Self" + R_ANGLE@[61; 62) ">" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 67) "\n" + R_CURLY@[67; 68) "}" + WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.txt b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.txt deleted file mode 100644 index 89caee543..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.txt +++ /dev/null @@ -1,74 +0,0 @@ -SOURCE_FILE@[0; 69) - IMPL_DEF@[0; 68) - 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) "S" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 68) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - FN_DEF@[13; 33) - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 17) - IDENT@[16; 17) "a" - PARAM_LIST@[17; 30) - L_PAREN@[17; 18) "(" - SELF_PARAM@[18; 29) - SELF_KW@[18; 22) "self" - COLON@[22; 23) ":" - WHITESPACE@[23; 24) " " - REFERENCE_TYPE@[24; 29) - AMP@[24; 25) "&" - PATH_TYPE@[25; 29) - PATH@[25; 29) - PATH_SEGMENT@[25; 29) - NAME_REF@[25; 29) - IDENT@[25; 29) "Self" - R_PAREN@[29; 30) ")" - WHITESPACE@[30; 31) " " - BLOCK_EXPR@[31; 33) - BLOCK@[31; 33) - L_CURLY@[31; 32) "{" - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 38) "\n " - FN_DEF@[38; 66) - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 42) - IDENT@[41; 42) "b" - PARAM_LIST@[42; 63) - L_PAREN@[42; 43) "(" - SELF_PARAM@[43; 62) - MUT_KW@[43; 46) "mut" - WHITESPACE@[46; 47) " " - SELF_KW@[47; 51) "self" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - PATH_TYPE@[53; 62) - PATH@[53; 62) - PATH_SEGMENT@[53; 62) - NAME_REF@[53; 56) - IDENT@[53; 56) "Box" - TYPE_ARG_LIST@[56; 62) - L_ANGLE@[56; 57) "<" - TYPE_ARG@[57; 61) - PATH_TYPE@[57; 61) - PATH@[57; 61) - PATH_SEGMENT@[57; 61) - NAME_REF@[57; 61) - IDENT@[57; 61) "Self" - R_ANGLE@[61; 62) ">" - R_PAREN@[62; 63) ")" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 66) - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 67) "\n" - R_CURLY@[67; 68) "}" - WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast new file mode 100644 index 000000000..2d71efd86 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast @@ -0,0 +1,45 @@ +SOURCE_FILE@[0; 44) + FN_DEF@[0; 43) + 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; 43) + BLOCK@[9; 43) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 20) + PREFIX_EXPR@[15; 19) + STAR@[15; 16) "*" + PREFIX_EXPR@[16; 19) + STAR@[16; 17) "*" + REF_EXPR@[17; 19) + AMP@[17; 18) "&" + LITERAL@[18; 19) + INT_NUMBER@[18; 19) "1" + SEMI@[19; 20) ";" + WHITESPACE@[20; 25) "\n " + EXPR_STMT@[25; 32) + PREFIX_EXPR@[25; 31) + EXCL@[25; 26) "!" + PREFIX_EXPR@[26; 31) + EXCL@[26; 27) "!" + LITERAL@[27; 31) + TRUE_KW@[27; 31) "true" + SEMI@[31; 32) ";" + WHITESPACE@[32; 37) "\n " + EXPR_STMT@[37; 41) + PREFIX_EXPR@[37; 40) + MINUS@[37; 38) "-" + PREFIX_EXPR@[38; 40) + MINUS@[38; 39) "-" + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "1" + SEMI@[40; 41) ";" + WHITESPACE@[41; 42) "\n" + R_CURLY@[42; 43) "}" + WHITESPACE@[43; 44) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.txt deleted file mode 100644 index 2d71efd86..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.txt +++ /dev/null @@ -1,45 +0,0 @@ -SOURCE_FILE@[0; 44) - FN_DEF@[0; 43) - 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; 43) - BLOCK@[9; 43) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 20) - PREFIX_EXPR@[15; 19) - STAR@[15; 16) "*" - PREFIX_EXPR@[16; 19) - STAR@[16; 17) "*" - REF_EXPR@[17; 19) - AMP@[17; 18) "&" - LITERAL@[18; 19) - INT_NUMBER@[18; 19) "1" - SEMI@[19; 20) ";" - WHITESPACE@[20; 25) "\n " - EXPR_STMT@[25; 32) - PREFIX_EXPR@[25; 31) - EXCL@[25; 26) "!" - PREFIX_EXPR@[26; 31) - EXCL@[26; 27) "!" - LITERAL@[27; 31) - TRUE_KW@[27; 31) "true" - SEMI@[31; 32) ";" - WHITESPACE@[32; 37) "\n " - EXPR_STMT@[37; 41) - PREFIX_EXPR@[37; 40) - MINUS@[37; 38) "-" - PREFIX_EXPR@[38; 40) - MINUS@[38; 39) "-" - LITERAL@[39; 40) - INT_NUMBER@[39; 40) "1" - SEMI@[40; 41) ";" - WHITESPACE@[41; 42) "\n" - R_CURLY@[42; 43) "}" - WHITESPACE@[43; 44) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast b/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast new file mode 100644 index 000000000..dd2095d90 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast @@ -0,0 +1,59 @@ +SOURCE_FILE@[0; 60) + USE_ITEM@[0; 6) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 5) + STAR@[4; 5) "*" + SEMI@[5; 6) ";" + WHITESPACE@[6; 7) "\n" + USE_ITEM@[7; 15) + USE_KW@[7; 10) "use" + WHITESPACE@[10; 11) " " + USE_TREE@[11; 14) + COLONCOLON@[11; 13) "::" + STAR@[13; 14) "*" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" + USE_ITEM@[16; 36) + USE_KW@[16; 19) "use" + WHITESPACE@[19; 20) " " + USE_TREE@[20; 35) + PATH@[20; 30) + PATH@[20; 24) + PATH_SEGMENT@[20; 24) + NAME_REF@[20; 24) + IDENT@[20; 24) "some" + COLONCOLON@[24; 26) "::" + PATH_SEGMENT@[26; 30) + NAME_REF@[26; 30) + IDENT@[26; 30) "path" + COLONCOLON@[30; 32) "::" + USE_TREE_LIST@[32; 35) + L_CURLY@[32; 33) "{" + USE_TREE@[33; 34) + STAR@[33; 34) "*" + R_CURLY@[34; 35) "}" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" + USE_ITEM@[37; 59) + USE_KW@[37; 40) "use" + WHITESPACE@[40; 41) " " + USE_TREE@[41; 58) + PATH@[41; 51) + PATH@[41; 45) + PATH_SEGMENT@[41; 45) + NAME_REF@[41; 45) + IDENT@[41; 45) "some" + COLONCOLON@[45; 47) "::" + PATH_SEGMENT@[47; 51) + NAME_REF@[47; 51) + IDENT@[47; 51) "path" + COLONCOLON@[51; 53) "::" + USE_TREE_LIST@[53; 58) + L_CURLY@[53; 54) "{" + USE_TREE@[54; 57) + COLONCOLON@[54; 56) "::" + STAR@[56; 57) "*" + R_CURLY@[57; 58) "}" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.txt b/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.txt deleted file mode 100644 index dd2095d90..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.txt +++ /dev/null @@ -1,59 +0,0 @@ -SOURCE_FILE@[0; 60) - USE_ITEM@[0; 6) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 5) - STAR@[4; 5) "*" - SEMI@[5; 6) ";" - WHITESPACE@[6; 7) "\n" - USE_ITEM@[7; 15) - USE_KW@[7; 10) "use" - WHITESPACE@[10; 11) " " - USE_TREE@[11; 14) - COLONCOLON@[11; 13) "::" - STAR@[13; 14) "*" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" - USE_ITEM@[16; 36) - USE_KW@[16; 19) "use" - WHITESPACE@[19; 20) " " - USE_TREE@[20; 35) - PATH@[20; 30) - PATH@[20; 24) - PATH_SEGMENT@[20; 24) - NAME_REF@[20; 24) - IDENT@[20; 24) "some" - COLONCOLON@[24; 26) "::" - PATH_SEGMENT@[26; 30) - NAME_REF@[26; 30) - IDENT@[26; 30) "path" - COLONCOLON@[30; 32) "::" - USE_TREE_LIST@[32; 35) - L_CURLY@[32; 33) "{" - USE_TREE@[33; 34) - STAR@[33; 34) "*" - R_CURLY@[34; 35) "}" - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" - USE_ITEM@[37; 59) - USE_KW@[37; 40) "use" - WHITESPACE@[40; 41) " " - USE_TREE@[41; 58) - PATH@[41; 51) - PATH@[41; 45) - PATH_SEGMENT@[41; 45) - NAME_REF@[41; 45) - IDENT@[41; 45) "some" - COLONCOLON@[45; 47) "::" - PATH_SEGMENT@[47; 51) - NAME_REF@[47; 51) - IDENT@[47; 51) "path" - COLONCOLON@[51; 53) "::" - USE_TREE_LIST@[53; 58) - L_CURLY@[53; 54) "{" - USE_TREE@[54; 57) - COLONCOLON@[54; 56) "::" - STAR@[56; 57) "*" - R_CURLY@[57; 58) "}" - SEMI@[58; 59) ";" - WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast new file mode 100644 index 000000000..b1af67976 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast @@ -0,0 +1,80 @@ +SOURCE_FILE@[0; 89) + IMPL_DEF@[0; 88) + 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) "F" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 88) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + TYPE_ALIAS_DEF@[13; 26) + TYPE_KW@[13; 17) "type" + WHITESPACE@[17; 18) " " + NAME@[18; 19) + IDENT@[18; 19) "A" + WHITESPACE@[19; 20) " " + EQ@[20; 21) "=" + WHITESPACE@[21; 22) " " + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "i32" + SEMI@[25; 26) ";" + WHITESPACE@[26; 31) "\n " + CONST_DEF@[31; 49) + CONST_KW@[31; 36) "const" + WHITESPACE@[36; 37) " " + NAME@[37; 38) + IDENT@[37; 38) "B" + COLON@[38; 39) ":" + WHITESPACE@[39; 40) " " + PATH_TYPE@[40; 43) + PATH@[40; 43) + PATH_SEGMENT@[40; 43) + NAME_REF@[40; 43) + IDENT@[40; 43) "i32" + WHITESPACE@[43; 44) " " + EQ@[44; 45) "=" + WHITESPACE@[45; 46) " " + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "92" + SEMI@[48; 49) ";" + WHITESPACE@[49; 54) "\n " + FN_DEF@[54; 65) + FN_KW@[54; 56) "fn" + WHITESPACE@[56; 57) " " + NAME@[57; 60) + IDENT@[57; 60) "foo" + PARAM_LIST@[60; 62) + L_PAREN@[60; 61) "(" + R_PAREN@[61; 62) ")" + WHITESPACE@[62; 63) " " + BLOCK_EXPR@[63; 65) + BLOCK@[63; 65) + L_CURLY@[63; 64) "{" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 70) "\n " + FN_DEF@[70; 86) + FN_KW@[70; 72) "fn" + WHITESPACE@[72; 73) " " + NAME@[73; 76) + IDENT@[73; 76) "bar" + PARAM_LIST@[76; 83) + L_PAREN@[76; 77) "(" + SELF_PARAM@[77; 82) + AMP@[77; 78) "&" + SELF_KW@[78; 82) "self" + R_PAREN@[82; 83) ")" + WHITESPACE@[83; 84) " " + BLOCK_EXPR@[84; 86) + BLOCK@[84; 86) + L_CURLY@[84; 85) "{" + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) "\n" + R_CURLY@[87; 88) "}" + WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.txt b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.txt deleted file mode 100644 index b1af67976..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.txt +++ /dev/null @@ -1,80 +0,0 @@ -SOURCE_FILE@[0; 89) - IMPL_DEF@[0; 88) - 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) "F" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 88) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - TYPE_ALIAS_DEF@[13; 26) - TYPE_KW@[13; 17) "type" - WHITESPACE@[17; 18) " " - NAME@[18; 19) - IDENT@[18; 19) "A" - WHITESPACE@[19; 20) " " - EQ@[20; 21) "=" - WHITESPACE@[21; 22) " " - PATH_TYPE@[22; 25) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "i32" - SEMI@[25; 26) ";" - WHITESPACE@[26; 31) "\n " - CONST_DEF@[31; 49) - CONST_KW@[31; 36) "const" - WHITESPACE@[36; 37) " " - NAME@[37; 38) - IDENT@[37; 38) "B" - COLON@[38; 39) ":" - WHITESPACE@[39; 40) " " - PATH_TYPE@[40; 43) - PATH@[40; 43) - PATH_SEGMENT@[40; 43) - NAME_REF@[40; 43) - IDENT@[40; 43) "i32" - WHITESPACE@[43; 44) " " - EQ@[44; 45) "=" - WHITESPACE@[45; 46) " " - LITERAL@[46; 48) - INT_NUMBER@[46; 48) "92" - SEMI@[48; 49) ";" - WHITESPACE@[49; 54) "\n " - FN_DEF@[54; 65) - FN_KW@[54; 56) "fn" - WHITESPACE@[56; 57) " " - NAME@[57; 60) - IDENT@[57; 60) "foo" - PARAM_LIST@[60; 62) - L_PAREN@[60; 61) "(" - R_PAREN@[61; 62) ")" - WHITESPACE@[62; 63) " " - BLOCK_EXPR@[63; 65) - BLOCK@[63; 65) - L_CURLY@[63; 64) "{" - R_CURLY@[64; 65) "}" - WHITESPACE@[65; 70) "\n " - FN_DEF@[70; 86) - FN_KW@[70; 72) "fn" - WHITESPACE@[72; 73) " " - NAME@[73; 76) - IDENT@[73; 76) "bar" - PARAM_LIST@[76; 83) - L_PAREN@[76; 77) "(" - SELF_PARAM@[77; 82) - AMP@[77; 78) "&" - SELF_KW@[78; 82) "self" - R_PAREN@[82; 83) ")" - WHITESPACE@[83; 84) " " - BLOCK_EXPR@[84; 86) - BLOCK@[84; 86) - L_CURLY@[84; 85) "{" - R_CURLY@[85; 86) "}" - WHITESPACE@[86; 87) "\n" - R_CURLY@[87; 88) "}" - WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast b/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast new file mode 100644 index 000000000..891943f6e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast @@ -0,0 +1,53 @@ +SOURCE_FILE@[0; 81) + STRUCT_DEF@[0; 20) + VISIBILITY@[0; 10) + PUB_KW@[0; 3) "pub" + L_PAREN@[3; 4) "(" + CRATE_KW@[4; 9) "crate" + R_PAREN@[9; 10) ")" + WHITESPACE@[10; 11) " " + STRUCT_KW@[11; 17) "struct" + WHITESPACE@[17; 18) " " + NAME@[18; 19) + IDENT@[18; 19) "S" + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" + STRUCT_DEF@[21; 40) + VISIBILITY@[21; 30) + PUB_KW@[21; 24) "pub" + L_PAREN@[24; 25) "(" + SELF_KW@[25; 29) "self" + R_PAREN@[29; 30) ")" + WHITESPACE@[30; 31) " " + STRUCT_KW@[31; 37) "struct" + WHITESPACE@[37; 38) " " + NAME@[38; 39) + IDENT@[38; 39) "S" + SEMI@[39; 40) ";" + WHITESPACE@[40; 41) "\n" + STRUCT_DEF@[41; 60) + VISIBILITY@[41; 50) + PUB_KW@[41; 44) "pub" + L_PAREN@[44; 45) "(" + SELF_KW@[45; 49) "self" + R_PAREN@[49; 50) ")" + WHITESPACE@[50; 51) " " + STRUCT_KW@[51; 57) "struct" + WHITESPACE@[57; 58) " " + NAME@[58; 59) + IDENT@[58; 59) "S" + SEMI@[59; 60) ";" + WHITESPACE@[60; 61) "\n" + STRUCT_DEF@[61; 80) + VISIBILITY@[61; 70) + PUB_KW@[61; 64) "pub" + L_PAREN@[64; 65) "(" + SELF_KW@[65; 69) "self" + R_PAREN@[69; 70) ")" + WHITESPACE@[70; 71) " " + STRUCT_KW@[71; 77) "struct" + WHITESPACE@[77; 78) " " + NAME@[78; 79) + IDENT@[78; 79) "S" + SEMI@[79; 80) ";" + WHITESPACE@[80; 81) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.txt b/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.txt deleted file mode 100644 index 891943f6e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.txt +++ /dev/null @@ -1,53 +0,0 @@ -SOURCE_FILE@[0; 81) - STRUCT_DEF@[0; 20) - VISIBILITY@[0; 10) - PUB_KW@[0; 3) "pub" - L_PAREN@[3; 4) "(" - CRATE_KW@[4; 9) "crate" - R_PAREN@[9; 10) ")" - WHITESPACE@[10; 11) " " - STRUCT_KW@[11; 17) "struct" - WHITESPACE@[17; 18) " " - NAME@[18; 19) - IDENT@[18; 19) "S" - SEMI@[19; 20) ";" - WHITESPACE@[20; 21) "\n" - STRUCT_DEF@[21; 40) - VISIBILITY@[21; 30) - PUB_KW@[21; 24) "pub" - L_PAREN@[24; 25) "(" - SELF_KW@[25; 29) "self" - R_PAREN@[29; 30) ")" - WHITESPACE@[30; 31) " " - STRUCT_KW@[31; 37) "struct" - WHITESPACE@[37; 38) " " - NAME@[38; 39) - IDENT@[38; 39) "S" - SEMI@[39; 40) ";" - WHITESPACE@[40; 41) "\n" - STRUCT_DEF@[41; 60) - VISIBILITY@[41; 50) - PUB_KW@[41; 44) "pub" - L_PAREN@[44; 45) "(" - SELF_KW@[45; 49) "self" - R_PAREN@[49; 50) ")" - WHITESPACE@[50; 51) " " - STRUCT_KW@[51; 57) "struct" - WHITESPACE@[57; 58) " " - NAME@[58; 59) - IDENT@[58; 59) "S" - SEMI@[59; 60) ";" - WHITESPACE@[60; 61) "\n" - STRUCT_DEF@[61; 80) - VISIBILITY@[61; 70) - PUB_KW@[61; 64) "pub" - L_PAREN@[64; 65) "(" - SELF_KW@[65; 69) "self" - R_PAREN@[69; 70) ")" - WHITESPACE@[70; 71) " " - STRUCT_KW@[71; 77) "struct" - WHITESPACE@[77; 78) " " - NAME@[78; 79) - IDENT@[78; 79) "S" - SEMI@[79; 80) ";" - WHITESPACE@[80; 81) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast new file mode 100644 index 000000000..0f32aec9e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast @@ -0,0 +1,13 @@ +SOURCE_FILE@[0; 22) + TYPE_ALIAS_DEF@[0; 21) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 16) + IDENT@[5; 16) "Placeholder" + WHITESPACE@[16; 17) " " + EQ@[17; 18) "=" + WHITESPACE@[18; 19) " " + PLACEHOLDER_TYPE@[19; 20) + UNDERSCORE@[19; 20) "_" + SEMI@[20; 21) ";" + WHITESPACE@[21; 22) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.txt deleted file mode 100644 index 0f32aec9e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.txt +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE_FILE@[0; 22) - TYPE_ALIAS_DEF@[0; 21) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 16) - IDENT@[5; 16) "Placeholder" - WHITESPACE@[16; 17) " " - EQ@[17; 18) "=" - WHITESPACE@[18; 19) " " - PLACEHOLDER_TYPE@[19; 20) - UNDERSCORE@[19; 20) "_" - SEMI@[20; 21) ";" - WHITESPACE@[21; 22) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast new file mode 100644 index 000000000..48aaeaf07 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast @@ -0,0 +1,42 @@ +SOURCE_FILE@[0; 39) + FN_DEF@[0; 38) + 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; 38) + BLOCK@[10; 38) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 36) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + SLICE_PAT@[20; 30) + L_BRACK@[20; 21) "[" + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) "," + WHITESPACE@[23; 24) " " + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + COMMA@[25; 26) "," + WHITESPACE@[26; 27) " " + DOT_DOT_PAT@[27; 29) + DOTDOT@[27; 29) ".." + R_BRACK@[29; 30) "]" + WHITESPACE@[30; 31) " " + EQ@[31; 32) "=" + WHITESPACE@[32; 33) " " + ARRAY_EXPR@[33; 35) + L_BRACK@[33; 34) "[" + R_BRACK@[34; 35) "]" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" + R_CURLY@[37; 38) "}" + WHITESPACE@[38; 39) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.txt deleted file mode 100644 index 48aaeaf07..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.txt +++ /dev/null @@ -1,42 +0,0 @@ -SOURCE_FILE@[0; 39) - FN_DEF@[0; 38) - 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; 38) - BLOCK@[10; 38) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 36) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - SLICE_PAT@[20; 30) - L_BRACK@[20; 21) "[" - BIND_PAT@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "a" - COMMA@[22; 23) "," - WHITESPACE@[23; 24) " " - BIND_PAT@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "b" - COMMA@[25; 26) "," - WHITESPACE@[26; 27) " " - DOT_DOT_PAT@[27; 29) - DOTDOT@[27; 29) ".." - R_BRACK@[29; 30) "]" - WHITESPACE@[30; 31) " " - EQ@[31; 32) "=" - WHITESPACE@[32; 33) " " - ARRAY_EXPR@[33; 35) - L_BRACK@[33; 34) "[" - R_BRACK@[34; 35) "]" - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" - R_CURLY@[37; 38) "}" - WHITESPACE@[38; 39) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast new file mode 100644 index 000000000..b3a24281e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 15) + TYPE_ALIAS_DEF@[0; 14) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + SLICE_TYPE@[9; 13) + L_BRACK@[9; 10) "[" + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + R_BRACK@[12; 13) "]" + SEMI@[13; 14) ";" + WHITESPACE@[14; 15) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.txt deleted file mode 100644 index b3a24281e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 15) - TYPE_ALIAS_DEF@[0; 14) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - SLICE_TYPE@[9; 13) - L_BRACK@[9; 10) "[" - TUPLE_TYPE@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - R_BRACK@[12; 13) "]" - SEMI@[13; 14) ";" - WHITESPACE@[14; 15) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast new file mode 100644 index 000000000..666386d31 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast @@ -0,0 +1,105 @@ +SOURCE_FILE@[0; 97) + FN_DEF@[0; 96) + 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; 96) + BLOCK@[9; 96) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 28) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + TUPLE_STRUCT_PAT@[19; 22) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "S" + L_PAREN@[20; 21) "(" + R_PAREN@[21; 22) ")" + WHITESPACE@[22; 23) " " + EQ@[23; 24) "=" + WHITESPACE@[24; 25) " " + TUPLE_EXPR@[25; 27) + L_PAREN@[25; 26) "(" + R_PAREN@[26; 27) ")" + SEMI@[27; 28) ";" + WHITESPACE@[28; 33) "\n " + LET_STMT@[33; 47) + LET_KW@[33; 36) "let" + WHITESPACE@[36; 37) " " + TUPLE_STRUCT_PAT@[37; 41) + PATH@[37; 38) + PATH_SEGMENT@[37; 38) + NAME_REF@[37; 38) + IDENT@[37; 38) "S" + L_PAREN@[38; 39) "(" + PLACEHOLDER_PAT@[39; 40) + UNDERSCORE@[39; 40) "_" + R_PAREN@[40; 41) ")" + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " + TUPLE_EXPR@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + SEMI@[46; 47) ";" + WHITESPACE@[47; 52) "\n " + LET_STMT@[52; 67) + LET_KW@[52; 55) "let" + WHITESPACE@[55; 56) " " + TUPLE_STRUCT_PAT@[56; 61) + PATH@[56; 57) + PATH_SEGMENT@[56; 57) + NAME_REF@[56; 57) + IDENT@[56; 57) "S" + L_PAREN@[57; 58) "(" + PLACEHOLDER_PAT@[58; 59) + UNDERSCORE@[58; 59) "_" + COMMA@[59; 60) "," + R_PAREN@[60; 61) ")" + WHITESPACE@[61; 62) " " + EQ@[62; 63) "=" + WHITESPACE@[63; 64) " " + TUPLE_EXPR@[64; 66) + L_PAREN@[64; 65) "(" + R_PAREN@[65; 66) ")" + SEMI@[66; 67) ";" + WHITESPACE@[67; 72) "\n " + LET_STMT@[72; 94) + LET_KW@[72; 75) "let" + WHITESPACE@[75; 76) " " + TUPLE_STRUCT_PAT@[76; 88) + PATH@[76; 77) + PATH_SEGMENT@[76; 77) + NAME_REF@[76; 77) + IDENT@[76; 77) "S" + L_PAREN@[77; 78) "(" + PLACEHOLDER_PAT@[78; 79) + UNDERSCORE@[78; 79) "_" + COMMA@[79; 80) "," + WHITESPACE@[80; 81) " " + DOT_DOT_PAT@[81; 83) + DOTDOT@[81; 83) ".." + WHITESPACE@[83; 84) " " + COMMA@[84; 85) "," + WHITESPACE@[85; 86) " " + BIND_PAT@[86; 87) + NAME@[86; 87) + IDENT@[86; 87) "x" + R_PAREN@[87; 88) ")" + WHITESPACE@[88; 89) " " + EQ@[89; 90) "=" + WHITESPACE@[90; 91) " " + TUPLE_EXPR@[91; 93) + L_PAREN@[91; 92) "(" + R_PAREN@[92; 93) ")" + SEMI@[93; 94) ";" + WHITESPACE@[94; 95) "\n" + R_CURLY@[95; 96) "}" + WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.txt b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.txt deleted file mode 100644 index 666386d31..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.txt +++ /dev/null @@ -1,105 +0,0 @@ -SOURCE_FILE@[0; 97) - FN_DEF@[0; 96) - 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; 96) - BLOCK@[9; 96) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 28) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - TUPLE_STRUCT_PAT@[19; 22) - PATH@[19; 20) - PATH_SEGMENT@[19; 20) - NAME_REF@[19; 20) - IDENT@[19; 20) "S" - L_PAREN@[20; 21) "(" - R_PAREN@[21; 22) ")" - WHITESPACE@[22; 23) " " - EQ@[23; 24) "=" - WHITESPACE@[24; 25) " " - TUPLE_EXPR@[25; 27) - L_PAREN@[25; 26) "(" - R_PAREN@[26; 27) ")" - SEMI@[27; 28) ";" - WHITESPACE@[28; 33) "\n " - LET_STMT@[33; 47) - LET_KW@[33; 36) "let" - WHITESPACE@[36; 37) " " - TUPLE_STRUCT_PAT@[37; 41) - PATH@[37; 38) - PATH_SEGMENT@[37; 38) - NAME_REF@[37; 38) - IDENT@[37; 38) "S" - L_PAREN@[38; 39) "(" - PLACEHOLDER_PAT@[39; 40) - UNDERSCORE@[39; 40) "_" - R_PAREN@[40; 41) ")" - WHITESPACE@[41; 42) " " - EQ@[42; 43) "=" - WHITESPACE@[43; 44) " " - TUPLE_EXPR@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - SEMI@[46; 47) ";" - WHITESPACE@[47; 52) "\n " - LET_STMT@[52; 67) - LET_KW@[52; 55) "let" - WHITESPACE@[55; 56) " " - TUPLE_STRUCT_PAT@[56; 61) - PATH@[56; 57) - PATH_SEGMENT@[56; 57) - NAME_REF@[56; 57) - IDENT@[56; 57) "S" - L_PAREN@[57; 58) "(" - PLACEHOLDER_PAT@[58; 59) - UNDERSCORE@[58; 59) "_" - COMMA@[59; 60) "," - R_PAREN@[60; 61) ")" - WHITESPACE@[61; 62) " " - EQ@[62; 63) "=" - WHITESPACE@[63; 64) " " - TUPLE_EXPR@[64; 66) - L_PAREN@[64; 65) "(" - R_PAREN@[65; 66) ")" - SEMI@[66; 67) ";" - WHITESPACE@[67; 72) "\n " - LET_STMT@[72; 94) - LET_KW@[72; 75) "let" - WHITESPACE@[75; 76) " " - TUPLE_STRUCT_PAT@[76; 88) - PATH@[76; 77) - PATH_SEGMENT@[76; 77) - NAME_REF@[76; 77) - IDENT@[76; 77) "S" - L_PAREN@[77; 78) "(" - PLACEHOLDER_PAT@[78; 79) - UNDERSCORE@[78; 79) "_" - COMMA@[79; 80) "," - WHITESPACE@[80; 81) " " - DOT_DOT_PAT@[81; 83) - DOTDOT@[81; 83) ".." - WHITESPACE@[83; 84) " " - COMMA@[84; 85) "," - WHITESPACE@[85; 86) " " - BIND_PAT@[86; 87) - NAME@[86; 87) - IDENT@[86; 87) "x" - R_PAREN@[87; 88) ")" - WHITESPACE@[88; 89) " " - EQ@[89; 90) "=" - WHITESPACE@[90; 91) " " - TUPLE_EXPR@[91; 93) - L_PAREN@[91; 92) "(" - R_PAREN@[92; 93) ")" - SEMI@[93; 94) ";" - WHITESPACE@[94; 95) "\n" - R_CURLY@[95; 96) "}" - WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast new file mode 100644 index 000000000..0f1a367f7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast @@ -0,0 +1,50 @@ +SOURCE_FILE@[0; 52) + FN_DEF@[0; 51) + 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; 51) + BLOCK@[10; 51) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 28) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + REF_PAT@[20; 22) + AMP@[20; 21) "&" + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + WHITESPACE@[22; 23) " " + EQ@[23; 24) "=" + WHITESPACE@[24; 25) " " + TUPLE_EXPR@[25; 27) + L_PAREN@[25; 26) "(" + R_PAREN@[26; 27) ")" + SEMI@[27; 28) ";" + WHITESPACE@[28; 33) "\n " + LET_STMT@[33; 49) + LET_KW@[33; 36) "let" + WHITESPACE@[36; 37) " " + REF_PAT@[37; 43) + AMP@[37; 38) "&" + MUT_KW@[38; 41) "mut" + WHITESPACE@[41; 42) " " + BIND_PAT@[42; 43) + NAME@[42; 43) + IDENT@[42; 43) "b" + WHITESPACE@[43; 44) " " + EQ@[44; 45) "=" + WHITESPACE@[45; 46) " " + TUPLE_EXPR@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + SEMI@[48; 49) ";" + WHITESPACE@[49; 50) "\n" + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.txt deleted file mode 100644 index 0f1a367f7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.txt +++ /dev/null @@ -1,50 +0,0 @@ -SOURCE_FILE@[0; 52) - FN_DEF@[0; 51) - 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; 51) - BLOCK@[10; 51) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 28) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - REF_PAT@[20; 22) - AMP@[20; 21) "&" - BIND_PAT@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "a" - WHITESPACE@[22; 23) " " - EQ@[23; 24) "=" - WHITESPACE@[24; 25) " " - TUPLE_EXPR@[25; 27) - L_PAREN@[25; 26) "(" - R_PAREN@[26; 27) ")" - SEMI@[27; 28) ";" - WHITESPACE@[28; 33) "\n " - LET_STMT@[33; 49) - LET_KW@[33; 36) "let" - WHITESPACE@[36; 37) " " - REF_PAT@[37; 43) - AMP@[37; 38) "&" - MUT_KW@[38; 41) "mut" - WHITESPACE@[41; 42) " " - BIND_PAT@[42; 43) - NAME@[42; 43) - IDENT@[42; 43) "b" - WHITESPACE@[43; 44) " " - EQ@[44; 45) "=" - WHITESPACE@[45; 46) " " - TUPLE_EXPR@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - SEMI@[48; 49) ";" - WHITESPACE@[49; 50) "\n" - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast new file mode 100644 index 000000000..f07027fa7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 43) + TYPE_ALIAS_DEF@[0; 42) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + IMPL_TRAIT_TYPE@[9; 41) + IMPL_KW@[9; 13) "impl" + WHITESPACE@[13; 14) " " + TYPE_BOUND_LIST@[14; 41) + TYPE_BOUND@[14; 36) + PATH_TYPE@[14; 36) + PATH@[14; 36) + PATH_SEGMENT@[14; 36) + NAME_REF@[14; 22) + IDENT@[14; 22) "Iterator" + TYPE_ARG_LIST@[22; 36) + L_ANGLE@[22; 23) "<" + ASSOC_TYPE_ARG@[23; 35) + NAME_REF@[23; 27) + IDENT@[23; 27) "Item" + EQ@[27; 28) "=" + PATH_TYPE@[28; 35) + PATH@[28; 35) + PATH_SEGMENT@[28; 35) + NAME_REF@[28; 31) + IDENT@[28; 31) "Foo" + TYPE_ARG_LIST@[31; 35) + L_ANGLE@[31; 32) "<" + LIFETIME_ARG@[32; 34) + LIFETIME@[32; 34) "\'a" + R_ANGLE@[34; 35) ">" + R_ANGLE@[35; 36) ">" + WHITESPACE@[36; 37) " " + PLUS@[37; 38) "+" + WHITESPACE@[38; 39) " " + TYPE_BOUND@[39; 41) + LIFETIME@[39; 41) "\'a" + SEMI@[41; 42) ";" + WHITESPACE@[42; 43) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.txt deleted file mode 100644 index f07027fa7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 43) - TYPE_ALIAS_DEF@[0; 42) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - IMPL_TRAIT_TYPE@[9; 41) - IMPL_KW@[9; 13) "impl" - WHITESPACE@[13; 14) " " - TYPE_BOUND_LIST@[14; 41) - TYPE_BOUND@[14; 36) - PATH_TYPE@[14; 36) - PATH@[14; 36) - PATH_SEGMENT@[14; 36) - NAME_REF@[14; 22) - IDENT@[14; 22) "Iterator" - TYPE_ARG_LIST@[22; 36) - L_ANGLE@[22; 23) "<" - ASSOC_TYPE_ARG@[23; 35) - NAME_REF@[23; 27) - IDENT@[23; 27) "Item" - EQ@[27; 28) "=" - PATH_TYPE@[28; 35) - PATH@[28; 35) - PATH_SEGMENT@[28; 35) - NAME_REF@[28; 31) - IDENT@[28; 31) "Foo" - TYPE_ARG_LIST@[31; 35) - L_ANGLE@[31; 32) "<" - LIFETIME_ARG@[32; 34) - LIFETIME@[32; 34) "\'a" - R_ANGLE@[34; 35) ">" - R_ANGLE@[35; 36) ">" - WHITESPACE@[36; 37) " " - PLUS@[37; 38) "+" - WHITESPACE@[38; 39) " " - TYPE_BOUND@[39; 41) - LIFETIME@[39; 41) "\'a" - SEMI@[41; 42) ";" - WHITESPACE@[42; 43) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast new file mode 100644 index 000000000..b17a2c257 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast @@ -0,0 +1,90 @@ +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 " + EXPR_STMT@[15; 25) + CAST_EXPR@[15; 24) + LITERAL@[15; 17) + INT_NUMBER@[15; 17) "82" + WHITESPACE@[17; 18) " " + AS_KW@[18; 20) "as" + WHITESPACE@[20; 21) " " + PATH_TYPE@[21; 24) + PATH@[21; 24) + PATH_SEGMENT@[21; 24) + NAME_REF@[21; 24) + IDENT@[21; 24) "i32" + SEMI@[24; 25) ";" + WHITESPACE@[25; 30) "\n " + EXPR_STMT@[30; 43) + BIN_EXPR@[30; 42) + CAST_EXPR@[30; 38) + LITERAL@[30; 32) + INT_NUMBER@[30; 32) "81" + WHITESPACE@[32; 33) " " + AS_KW@[33; 35) "as" + WHITESPACE@[35; 36) " " + PATH_TYPE@[36; 38) + PATH@[36; 38) + PATH_SEGMENT@[36; 38) + NAME_REF@[36; 38) + IDENT@[36; 38) "i8" + WHITESPACE@[38; 39) " " + PLUS@[39; 40) "+" + WHITESPACE@[40; 41) " " + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "1" + SEMI@[42; 43) ";" + WHITESPACE@[43; 48) "\n " + EXPR_STMT@[48; 62) + BIN_EXPR@[48; 61) + CAST_EXPR@[48; 57) + LITERAL@[48; 50) + INT_NUMBER@[48; 50) "79" + WHITESPACE@[50; 51) " " + AS_KW@[51; 53) "as" + WHITESPACE@[53; 54) " " + PATH_TYPE@[54; 57) + PATH@[54; 57) + PATH_SEGMENT@[54; 57) + NAME_REF@[54; 57) + IDENT@[54; 57) "i16" + WHITESPACE@[57; 58) " " + MINUS@[58; 59) "-" + WHITESPACE@[59; 60) " " + LITERAL@[60; 61) + INT_NUMBER@[60; 61) "1" + SEMI@[61; 62) ";" + WHITESPACE@[62; 67) "\n " + EXPR_STMT@[67; 86) + BIN_EXPR@[67; 85) + CAST_EXPR@[67; 77) + LITERAL@[67; 71) + INT_NUMBER@[67; 71) "0x36" + WHITESPACE@[71; 72) " " + AS_KW@[72; 74) "as" + WHITESPACE@[74; 75) " " + PATH_TYPE@[75; 77) + PATH@[75; 77) + PATH_SEGMENT@[75; 77) + NAME_REF@[75; 77) + IDENT@[75; 77) "u8" + WHITESPACE@[77; 78) " " + LTEQ@[78; 80) "<=" + WHITESPACE@[80; 81) " " + LITERAL@[81; 85) + INT_NUMBER@[81; 85) "0x37" + SEMI@[85; 86) ";" + WHITESPACE@[86; 87) "\n" + R_CURLY@[87; 88) "}" + WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.txt deleted file mode 100644 index b17a2c257..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.txt +++ /dev/null @@ -1,90 +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 " - EXPR_STMT@[15; 25) - CAST_EXPR@[15; 24) - LITERAL@[15; 17) - INT_NUMBER@[15; 17) "82" - WHITESPACE@[17; 18) " " - AS_KW@[18; 20) "as" - WHITESPACE@[20; 21) " " - PATH_TYPE@[21; 24) - PATH@[21; 24) - PATH_SEGMENT@[21; 24) - NAME_REF@[21; 24) - IDENT@[21; 24) "i32" - SEMI@[24; 25) ";" - WHITESPACE@[25; 30) "\n " - EXPR_STMT@[30; 43) - BIN_EXPR@[30; 42) - CAST_EXPR@[30; 38) - LITERAL@[30; 32) - INT_NUMBER@[30; 32) "81" - WHITESPACE@[32; 33) " " - AS_KW@[33; 35) "as" - WHITESPACE@[35; 36) " " - PATH_TYPE@[36; 38) - PATH@[36; 38) - PATH_SEGMENT@[36; 38) - NAME_REF@[36; 38) - IDENT@[36; 38) "i8" - WHITESPACE@[38; 39) " " - PLUS@[39; 40) "+" - WHITESPACE@[40; 41) " " - LITERAL@[41; 42) - INT_NUMBER@[41; 42) "1" - SEMI@[42; 43) ";" - WHITESPACE@[43; 48) "\n " - EXPR_STMT@[48; 62) - BIN_EXPR@[48; 61) - CAST_EXPR@[48; 57) - LITERAL@[48; 50) - INT_NUMBER@[48; 50) "79" - WHITESPACE@[50; 51) " " - AS_KW@[51; 53) "as" - WHITESPACE@[53; 54) " " - PATH_TYPE@[54; 57) - PATH@[54; 57) - PATH_SEGMENT@[54; 57) - NAME_REF@[54; 57) - IDENT@[54; 57) "i16" - WHITESPACE@[57; 58) " " - MINUS@[58; 59) "-" - WHITESPACE@[59; 60) " " - LITERAL@[60; 61) - INT_NUMBER@[60; 61) "1" - SEMI@[61; 62) ";" - WHITESPACE@[62; 67) "\n " - EXPR_STMT@[67; 86) - BIN_EXPR@[67; 85) - CAST_EXPR@[67; 77) - LITERAL@[67; 71) - INT_NUMBER@[67; 71) "0x36" - WHITESPACE@[71; 72) " " - AS_KW@[72; 74) "as" - WHITESPACE@[74; 75) " " - PATH_TYPE@[75; 77) - PATH@[75; 77) - PATH_SEGMENT@[75; 77) - NAME_REF@[75; 77) - IDENT@[75; 77) "u8" - WHITESPACE@[77; 78) " " - LTEQ@[78; 80) "<=" - WHITESPACE@[80; 81) " " - LITERAL@[81; 85) - INT_NUMBER@[81; 85) "0x37" - SEMI@[85; 86) ";" - WHITESPACE@[86; 87) "\n" - R_CURLY@[87; 88) "}" - WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast b/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast new file mode 100644 index 000000000..6fd49c7bc --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast @@ -0,0 +1,209 @@ +SOURCE_FILE@[0; 197) + FN_DEF@[0; 37) + 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; 37) + BLOCK@[9; 37) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + IF_EXPR@[11; 35) + IF_KW@[11; 13) "if" + WHITESPACE@[13; 14) " " + CONDITION@[14; 32) + LET_KW@[14; 17) "let" + WHITESPACE@[17; 18) " " + TUPLE_STRUCT_PAT@[18; 25) + PATH@[18; 22) + PATH_SEGMENT@[18; 22) + NAME_REF@[18; 22) + IDENT@[18; 22) "Some" + L_PAREN@[22; 23) "(" + PLACEHOLDER_PAT@[23; 24) + UNDERSCORE@[23; 24) "_" + R_PAREN@[24; 25) ")" + WHITESPACE@[25; 26) " " + EQ@[26; 27) "=" + WHITESPACE@[27; 28) " " + PATH_EXPR@[28; 32) + PATH@[28; 32) + PATH_SEGMENT@[28; 32) + NAME_REF@[28; 32) + IDENT@[28; 32) "None" + WHITESPACE@[32; 33) " " + BLOCK_EXPR@[33; 35) + BLOCK@[33; 35) + L_CURLY@[33; 34) "{" + R_CURLY@[34; 35) "}" + WHITESPACE@[35; 36) " " + R_CURLY@[36; 37) "}" + WHITESPACE@[37; 38) "\n" + FN_DEF@[38; 196) + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 44) + IDENT@[41; 44) "bar" + PARAM_LIST@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + BLOCK_EXPR@[47; 196) + BLOCK@[47; 196) + L_CURLY@[47; 48) "{" + WHITESPACE@[48; 53) "\n " + EXPR_STMT@[53; 87) + IF_EXPR@[53; 87) + IF_KW@[53; 55) "if" + WHITESPACE@[55; 56) " " + CONDITION@[56; 84) + LET_KW@[56; 59) "let" + WHITESPACE@[59; 60) " " + OR_PAT@[60; 77) + TUPLE_STRUCT_PAT@[60; 67) + PATH@[60; 64) + PATH_SEGMENT@[60; 64) + NAME_REF@[60; 64) + IDENT@[60; 64) "Some" + L_PAREN@[64; 65) "(" + PLACEHOLDER_PAT@[65; 66) + UNDERSCORE@[65; 66) "_" + R_PAREN@[66; 67) ")" + WHITESPACE@[67; 68) " " + PIPE@[68; 69) "|" + WHITESPACE@[69; 70) " " + TUPLE_STRUCT_PAT@[70; 77) + PATH@[70; 74) + PATH_SEGMENT@[70; 74) + NAME_REF@[70; 74) + IDENT@[70; 74) "Some" + L_PAREN@[74; 75) "(" + PLACEHOLDER_PAT@[75; 76) + UNDERSCORE@[75; 76) "_" + R_PAREN@[76; 77) ")" + WHITESPACE@[77; 78) " " + EQ@[78; 79) "=" + WHITESPACE@[79; 80) " " + PATH_EXPR@[80; 84) + PATH@[80; 84) + PATH_SEGMENT@[80; 84) + NAME_REF@[80; 84) + IDENT@[80; 84) "None" + WHITESPACE@[84; 85) " " + BLOCK_EXPR@[85; 87) + BLOCK@[85; 87) + L_CURLY@[85; 86) "{" + R_CURLY@[86; 87) "}" + WHITESPACE@[87; 92) "\n " + EXPR_STMT@[92; 118) + IF_EXPR@[92; 118) + IF_KW@[92; 94) "if" + WHITESPACE@[94; 95) " " + CONDITION@[95; 115) + LET_KW@[95; 98) "let" + WHITESPACE@[98; 99) " " + PIPE@[99; 100) "|" + WHITESPACE@[100; 101) " " + TUPLE_STRUCT_PAT@[101; 108) + PATH@[101; 105) + PATH_SEGMENT@[101; 105) + NAME_REF@[101; 105) + IDENT@[101; 105) "Some" + L_PAREN@[105; 106) "(" + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) "_" + R_PAREN@[107; 108) ")" + WHITESPACE@[108; 109) " " + EQ@[109; 110) "=" + WHITESPACE@[110; 111) " " + PATH_EXPR@[111; 115) + PATH@[111; 115) + PATH_SEGMENT@[111; 115) + NAME_REF@[111; 115) + IDENT@[111; 115) "None" + WHITESPACE@[115; 116) " " + BLOCK_EXPR@[116; 118) + BLOCK@[116; 118) + L_CURLY@[116; 117) "{" + R_CURLY@[117; 118) "}" + WHITESPACE@[118; 123) "\n " + EXPR_STMT@[123; 160) + WHILE_EXPR@[123; 160) + WHILE_KW@[123; 128) "while" + WHITESPACE@[128; 129) " " + CONDITION@[129; 157) + LET_KW@[129; 132) "let" + WHITESPACE@[132; 133) " " + OR_PAT@[133; 150) + TUPLE_STRUCT_PAT@[133; 140) + PATH@[133; 137) + PATH_SEGMENT@[133; 137) + NAME_REF@[133; 137) + IDENT@[133; 137) "Some" + L_PAREN@[137; 138) "(" + PLACEHOLDER_PAT@[138; 139) + UNDERSCORE@[138; 139) "_" + R_PAREN@[139; 140) ")" + WHITESPACE@[140; 141) " " + PIPE@[141; 142) "|" + WHITESPACE@[142; 143) " " + TUPLE_STRUCT_PAT@[143; 150) + PATH@[143; 147) + PATH_SEGMENT@[143; 147) + NAME_REF@[143; 147) + IDENT@[143; 147) "Some" + L_PAREN@[147; 148) "(" + PLACEHOLDER_PAT@[148; 149) + UNDERSCORE@[148; 149) "_" + R_PAREN@[149; 150) ")" + WHITESPACE@[150; 151) " " + EQ@[151; 152) "=" + WHITESPACE@[152; 153) " " + PATH_EXPR@[153; 157) + PATH@[153; 157) + PATH_SEGMENT@[153; 157) + NAME_REF@[153; 157) + IDENT@[153; 157) "None" + WHITESPACE@[157; 158) " " + BLOCK_EXPR@[158; 160) + BLOCK@[158; 160) + L_CURLY@[158; 159) "{" + R_CURLY@[159; 160) "}" + WHITESPACE@[160; 165) "\n " + WHILE_EXPR@[165; 194) + WHILE_KW@[165; 170) "while" + WHITESPACE@[170; 171) " " + CONDITION@[171; 191) + LET_KW@[171; 174) "let" + WHITESPACE@[174; 175) " " + PIPE@[175; 176) "|" + WHITESPACE@[176; 177) " " + TUPLE_STRUCT_PAT@[177; 184) + PATH@[177; 181) + PATH_SEGMENT@[177; 181) + NAME_REF@[177; 181) + IDENT@[177; 181) "Some" + L_PAREN@[181; 182) "(" + PLACEHOLDER_PAT@[182; 183) + UNDERSCORE@[182; 183) "_" + R_PAREN@[183; 184) ")" + WHITESPACE@[184; 185) " " + EQ@[185; 186) "=" + WHITESPACE@[186; 187) " " + PATH_EXPR@[187; 191) + PATH@[187; 191) + PATH_SEGMENT@[187; 191) + NAME_REF@[187; 191) + IDENT@[187; 191) "None" + WHITESPACE@[191; 192) " " + BLOCK_EXPR@[192; 194) + BLOCK@[192; 194) + L_CURLY@[192; 193) "{" + R_CURLY@[193; 194) "}" + WHITESPACE@[194; 195) "\n" + R_CURLY@[195; 196) "}" + WHITESPACE@[196; 197) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.txt b/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.txt deleted file mode 100644 index 6fd49c7bc..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.txt +++ /dev/null @@ -1,209 +0,0 @@ -SOURCE_FILE@[0; 197) - FN_DEF@[0; 37) - 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; 37) - BLOCK@[9; 37) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - IF_EXPR@[11; 35) - IF_KW@[11; 13) "if" - WHITESPACE@[13; 14) " " - CONDITION@[14; 32) - LET_KW@[14; 17) "let" - WHITESPACE@[17; 18) " " - TUPLE_STRUCT_PAT@[18; 25) - PATH@[18; 22) - PATH_SEGMENT@[18; 22) - NAME_REF@[18; 22) - IDENT@[18; 22) "Some" - L_PAREN@[22; 23) "(" - PLACEHOLDER_PAT@[23; 24) - UNDERSCORE@[23; 24) "_" - R_PAREN@[24; 25) ")" - WHITESPACE@[25; 26) " " - EQ@[26; 27) "=" - WHITESPACE@[27; 28) " " - PATH_EXPR@[28; 32) - PATH@[28; 32) - PATH_SEGMENT@[28; 32) - NAME_REF@[28; 32) - IDENT@[28; 32) "None" - WHITESPACE@[32; 33) " " - BLOCK_EXPR@[33; 35) - BLOCK@[33; 35) - L_CURLY@[33; 34) "{" - R_CURLY@[34; 35) "}" - WHITESPACE@[35; 36) " " - R_CURLY@[36; 37) "}" - WHITESPACE@[37; 38) "\n" - FN_DEF@[38; 196) - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 44) - IDENT@[41; 44) "bar" - PARAM_LIST@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - BLOCK_EXPR@[47; 196) - BLOCK@[47; 196) - L_CURLY@[47; 48) "{" - WHITESPACE@[48; 53) "\n " - EXPR_STMT@[53; 87) - IF_EXPR@[53; 87) - IF_KW@[53; 55) "if" - WHITESPACE@[55; 56) " " - CONDITION@[56; 84) - LET_KW@[56; 59) "let" - WHITESPACE@[59; 60) " " - OR_PAT@[60; 77) - TUPLE_STRUCT_PAT@[60; 67) - PATH@[60; 64) - PATH_SEGMENT@[60; 64) - NAME_REF@[60; 64) - IDENT@[60; 64) "Some" - L_PAREN@[64; 65) "(" - PLACEHOLDER_PAT@[65; 66) - UNDERSCORE@[65; 66) "_" - R_PAREN@[66; 67) ")" - WHITESPACE@[67; 68) " " - PIPE@[68; 69) "|" - WHITESPACE@[69; 70) " " - TUPLE_STRUCT_PAT@[70; 77) - PATH@[70; 74) - PATH_SEGMENT@[70; 74) - NAME_REF@[70; 74) - IDENT@[70; 74) "Some" - L_PAREN@[74; 75) "(" - PLACEHOLDER_PAT@[75; 76) - UNDERSCORE@[75; 76) "_" - R_PAREN@[76; 77) ")" - WHITESPACE@[77; 78) " " - EQ@[78; 79) "=" - WHITESPACE@[79; 80) " " - PATH_EXPR@[80; 84) - PATH@[80; 84) - PATH_SEGMENT@[80; 84) - NAME_REF@[80; 84) - IDENT@[80; 84) "None" - WHITESPACE@[84; 85) " " - BLOCK_EXPR@[85; 87) - BLOCK@[85; 87) - L_CURLY@[85; 86) "{" - R_CURLY@[86; 87) "}" - WHITESPACE@[87; 92) "\n " - EXPR_STMT@[92; 118) - IF_EXPR@[92; 118) - IF_KW@[92; 94) "if" - WHITESPACE@[94; 95) " " - CONDITION@[95; 115) - LET_KW@[95; 98) "let" - WHITESPACE@[98; 99) " " - PIPE@[99; 100) "|" - WHITESPACE@[100; 101) " " - TUPLE_STRUCT_PAT@[101; 108) - PATH@[101; 105) - PATH_SEGMENT@[101; 105) - NAME_REF@[101; 105) - IDENT@[101; 105) "Some" - L_PAREN@[105; 106) "(" - PLACEHOLDER_PAT@[106; 107) - UNDERSCORE@[106; 107) "_" - R_PAREN@[107; 108) ")" - WHITESPACE@[108; 109) " " - EQ@[109; 110) "=" - WHITESPACE@[110; 111) " " - PATH_EXPR@[111; 115) - PATH@[111; 115) - PATH_SEGMENT@[111; 115) - NAME_REF@[111; 115) - IDENT@[111; 115) "None" - WHITESPACE@[115; 116) " " - BLOCK_EXPR@[116; 118) - BLOCK@[116; 118) - L_CURLY@[116; 117) "{" - R_CURLY@[117; 118) "}" - WHITESPACE@[118; 123) "\n " - EXPR_STMT@[123; 160) - WHILE_EXPR@[123; 160) - WHILE_KW@[123; 128) "while" - WHITESPACE@[128; 129) " " - CONDITION@[129; 157) - LET_KW@[129; 132) "let" - WHITESPACE@[132; 133) " " - OR_PAT@[133; 150) - TUPLE_STRUCT_PAT@[133; 140) - PATH@[133; 137) - PATH_SEGMENT@[133; 137) - NAME_REF@[133; 137) - IDENT@[133; 137) "Some" - L_PAREN@[137; 138) "(" - PLACEHOLDER_PAT@[138; 139) - UNDERSCORE@[138; 139) "_" - R_PAREN@[139; 140) ")" - WHITESPACE@[140; 141) " " - PIPE@[141; 142) "|" - WHITESPACE@[142; 143) " " - TUPLE_STRUCT_PAT@[143; 150) - PATH@[143; 147) - PATH_SEGMENT@[143; 147) - NAME_REF@[143; 147) - IDENT@[143; 147) "Some" - L_PAREN@[147; 148) "(" - PLACEHOLDER_PAT@[148; 149) - UNDERSCORE@[148; 149) "_" - R_PAREN@[149; 150) ")" - WHITESPACE@[150; 151) " " - EQ@[151; 152) "=" - WHITESPACE@[152; 153) " " - PATH_EXPR@[153; 157) - PATH@[153; 157) - PATH_SEGMENT@[153; 157) - NAME_REF@[153; 157) - IDENT@[153; 157) "None" - WHITESPACE@[157; 158) " " - BLOCK_EXPR@[158; 160) - BLOCK@[158; 160) - L_CURLY@[158; 159) "{" - R_CURLY@[159; 160) "}" - WHITESPACE@[160; 165) "\n " - WHILE_EXPR@[165; 194) - WHILE_KW@[165; 170) "while" - WHITESPACE@[170; 171) " " - CONDITION@[171; 191) - LET_KW@[171; 174) "let" - WHITESPACE@[174; 175) " " - PIPE@[175; 176) "|" - WHITESPACE@[176; 177) " " - TUPLE_STRUCT_PAT@[177; 184) - PATH@[177; 181) - PATH_SEGMENT@[177; 181) - NAME_REF@[177; 181) - IDENT@[177; 181) "Some" - L_PAREN@[181; 182) "(" - PLACEHOLDER_PAT@[182; 183) - UNDERSCORE@[182; 183) "_" - R_PAREN@[183; 184) ")" - WHITESPACE@[184; 185) " " - EQ@[185; 186) "=" - WHITESPACE@[186; 187) " " - PATH_EXPR@[187; 191) - PATH@[187; 191) - PATH_SEGMENT@[187; 191) - NAME_REF@[187; 191) - IDENT@[187; 191) "None" - WHITESPACE@[191; 192) " " - BLOCK_EXPR@[192; 194) - BLOCK@[192; 194) - L_CURLY@[192; 193) "{" - R_CURLY@[193; 194) "}" - WHITESPACE@[194; 195) "\n" - R_CURLY@[195; 196) "}" - WHITESPACE@[196; 197) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast new file mode 100644 index 000000000..a6e14a114 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast @@ -0,0 +1,89 @@ +SOURCE_FILE@[0; 93) + FN_DEF@[0; 92) + 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; 92) + BLOCK@[9; 92) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 29) + WHILE_EXPR@[15; 28) + WHILE_KW@[15; 20) "while" + WHITESPACE@[20; 21) " " + CONDITION@[21; 25) + LITERAL@[21; 25) + TRUE_KW@[21; 25) "true" + WHITESPACE@[25; 26) " " + BLOCK_EXPR@[26; 28) + BLOCK@[26; 28) + L_CURLY@[26; 27) "{" + R_CURLY@[27; 28) "}" + SEMI@[28; 29) ";" + WHITESPACE@[29; 34) "\n " + EXPR_STMT@[34; 67) + WHILE_EXPR@[34; 66) + WHILE_KW@[34; 39) "while" + WHITESPACE@[39; 40) " " + CONDITION@[40; 63) + LET_KW@[40; 43) "let" + WHITESPACE@[43; 44) " " + TUPLE_STRUCT_PAT@[44; 51) + PATH@[44; 48) + PATH_SEGMENT@[44; 48) + NAME_REF@[44; 48) + IDENT@[44; 48) "Some" + L_PAREN@[48; 49) "(" + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + R_PAREN@[50; 51) ")" + WHITESPACE@[51; 52) " " + EQ@[52; 53) "=" + WHITESPACE@[53; 54) " " + METHOD_CALL_EXPR@[54; 63) + PATH_EXPR@[54; 56) + PATH@[54; 56) + PATH_SEGMENT@[54; 56) + NAME_REF@[54; 56) + IDENT@[54; 56) "it" + DOT@[56; 57) "." + NAME_REF@[57; 61) + IDENT@[57; 61) "next" + ARG_LIST@[61; 63) + L_PAREN@[61; 62) "(" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + SEMI@[66; 67) ";" + WHITESPACE@[67; 72) "\n " + EXPR_STMT@[72; 90) + WHILE_EXPR@[72; 89) + WHILE_KW@[72; 77) "while" + WHITESPACE@[77; 78) " " + CONDITION@[78; 86) + BLOCK_EXPR@[78; 86) + BLOCK@[78; 86) + L_CURLY@[78; 79) "{" + WHITESPACE@[79; 80) " " + LITERAL@[80; 84) + TRUE_KW@[80; 84) "true" + WHITESPACE@[84; 85) " " + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) " " + BLOCK_EXPR@[87; 89) + BLOCK@[87; 89) + L_CURLY@[87; 88) "{" + R_CURLY@[88; 89) "}" + SEMI@[89; 90) ";" + WHITESPACE@[90; 91) "\n" + R_CURLY@[91; 92) "}" + WHITESPACE@[92; 93) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.txt deleted file mode 100644 index a6e14a114..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.txt +++ /dev/null @@ -1,89 +0,0 @@ -SOURCE_FILE@[0; 93) - FN_DEF@[0; 92) - 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; 92) - BLOCK@[9; 92) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 29) - WHILE_EXPR@[15; 28) - WHILE_KW@[15; 20) "while" - WHITESPACE@[20; 21) " " - CONDITION@[21; 25) - LITERAL@[21; 25) - TRUE_KW@[21; 25) "true" - WHITESPACE@[25; 26) " " - BLOCK_EXPR@[26; 28) - BLOCK@[26; 28) - L_CURLY@[26; 27) "{" - R_CURLY@[27; 28) "}" - SEMI@[28; 29) ";" - WHITESPACE@[29; 34) "\n " - EXPR_STMT@[34; 67) - WHILE_EXPR@[34; 66) - WHILE_KW@[34; 39) "while" - WHITESPACE@[39; 40) " " - CONDITION@[40; 63) - LET_KW@[40; 43) "let" - WHITESPACE@[43; 44) " " - TUPLE_STRUCT_PAT@[44; 51) - PATH@[44; 48) - PATH_SEGMENT@[44; 48) - NAME_REF@[44; 48) - IDENT@[44; 48) "Some" - L_PAREN@[48; 49) "(" - BIND_PAT@[49; 50) - NAME@[49; 50) - IDENT@[49; 50) "x" - R_PAREN@[50; 51) ")" - WHITESPACE@[51; 52) " " - EQ@[52; 53) "=" - WHITESPACE@[53; 54) " " - METHOD_CALL_EXPR@[54; 63) - PATH_EXPR@[54; 56) - PATH@[54; 56) - PATH_SEGMENT@[54; 56) - NAME_REF@[54; 56) - IDENT@[54; 56) "it" - DOT@[56; 57) "." - NAME_REF@[57; 61) - IDENT@[57; 61) "next" - ARG_LIST@[61; 63) - L_PAREN@[61; 62) "(" - R_PAREN@[62; 63) ")" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 66) - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - SEMI@[66; 67) ";" - WHITESPACE@[67; 72) "\n " - EXPR_STMT@[72; 90) - WHILE_EXPR@[72; 89) - WHILE_KW@[72; 77) "while" - WHITESPACE@[77; 78) " " - CONDITION@[78; 86) - BLOCK_EXPR@[78; 86) - BLOCK@[78; 86) - L_CURLY@[78; 79) "{" - WHITESPACE@[79; 80) " " - LITERAL@[80; 84) - TRUE_KW@[80; 84) "true" - WHITESPACE@[84; 85) " " - R_CURLY@[85; 86) "}" - WHITESPACE@[86; 87) " " - BLOCK_EXPR@[87; 89) - BLOCK@[87; 89) - L_CURLY@[87; 88) "{" - R_CURLY@[88; 89) "}" - SEMI@[89; 90) ";" - WHITESPACE@[90; 91) "\n" - R_CURLY@[91; 92) "}" - WHITESPACE@[92; 93) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast new file mode 100644 index 000000000..4c17f0db8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast @@ -0,0 +1,98 @@ +SOURCE_FILE@[0; 113) + TYPE_ALIAS_DEF@[0; 14) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + FN_POINTER_TYPE@[9; 13) + FN_KW@[9; 11) "fn" + PARAM_LIST@[11; 13) + L_PAREN@[11; 12) "(" + R_PAREN@[12; 13) ")" + SEMI@[13; 14) ";" + WHITESPACE@[14; 15) "\n" + TYPE_ALIAS_DEF@[15; 36) + TYPE_KW@[15; 19) "type" + WHITESPACE@[19; 20) " " + NAME@[20; 21) + IDENT@[20; 21) "B" + WHITESPACE@[21; 22) " " + EQ@[22; 23) "=" + WHITESPACE@[23; 24) " " + FN_POINTER_TYPE@[24; 35) + UNSAFE_KW@[24; 30) "unsafe" + WHITESPACE@[30; 31) " " + FN_KW@[31; 33) "fn" + PARAM_LIST@[33; 35) + L_PAREN@[33; 34) "(" + R_PAREN@[34; 35) ")" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" + TYPE_ALIAS_DEF@[37; 69) + TYPE_KW@[37; 41) "type" + WHITESPACE@[41; 42) " " + NAME@[42; 43) + IDENT@[42; 43) "C" + WHITESPACE@[43; 44) " " + EQ@[44; 45) "=" + WHITESPACE@[45; 46) " " + FN_POINTER_TYPE@[46; 68) + UNSAFE_KW@[46; 52) "unsafe" + WHITESPACE@[52; 53) " " + ABI@[53; 63) + EXTERN_KW@[53; 59) "extern" + WHITESPACE@[59; 60) " " + STRING@[60; 63) "\"C\"" + WHITESPACE@[63; 64) " " + FN_KW@[64; 66) "fn" + PARAM_LIST@[66; 68) + L_PAREN@[66; 67) "(" + R_PAREN@[67; 68) ")" + SEMI@[68; 69) ";" + WHITESPACE@[69; 70) "\n" + TYPE_ALIAS_DEF@[70; 112) + TYPE_KW@[70; 74) "type" + WHITESPACE@[74; 75) " " + NAME@[75; 76) + IDENT@[75; 76) "D" + WHITESPACE@[76; 77) " " + EQ@[77; 78) "=" + WHITESPACE@[78; 79) " " + FN_POINTER_TYPE@[79; 111) + ABI@[79; 89) + EXTERN_KW@[79; 85) "extern" + WHITESPACE@[85; 86) " " + STRING@[86; 89) "\"C\"" + WHITESPACE@[89; 90) " " + FN_KW@[90; 92) "fn" + WHITESPACE@[92; 93) " " + PARAM_LIST@[93; 105) + L_PAREN@[93; 94) "(" + WHITESPACE@[94; 95) " " + PARAM@[95; 97) + PATH_TYPE@[95; 97) + PATH@[95; 97) + PATH_SEGMENT@[95; 97) + NAME_REF@[95; 97) + IDENT@[95; 97) "u8" + WHITESPACE@[97; 98) " " + COMMA@[98; 99) "," + WHITESPACE@[99; 100) " " + PARAM@[100; 103) + DOTDOTDOT@[100; 103) "..." + WHITESPACE@[103; 104) " " + R_PAREN@[104; 105) ")" + WHITESPACE@[105; 106) " " + RET_TYPE@[106; 111) + THIN_ARROW@[106; 108) "->" + WHITESPACE@[108; 109) " " + PATH_TYPE@[109; 111) + PATH@[109; 111) + PATH_SEGMENT@[109; 111) + NAME_REF@[109; 111) + IDENT@[109; 111) "u8" + SEMI@[111; 112) ";" + WHITESPACE@[112; 113) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.txt deleted file mode 100644 index 4c17f0db8..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.txt +++ /dev/null @@ -1,98 +0,0 @@ -SOURCE_FILE@[0; 113) - TYPE_ALIAS_DEF@[0; 14) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - FN_POINTER_TYPE@[9; 13) - FN_KW@[9; 11) "fn" - PARAM_LIST@[11; 13) - L_PAREN@[11; 12) "(" - R_PAREN@[12; 13) ")" - SEMI@[13; 14) ";" - WHITESPACE@[14; 15) "\n" - TYPE_ALIAS_DEF@[15; 36) - TYPE_KW@[15; 19) "type" - WHITESPACE@[19; 20) " " - NAME@[20; 21) - IDENT@[20; 21) "B" - WHITESPACE@[21; 22) " " - EQ@[22; 23) "=" - WHITESPACE@[23; 24) " " - FN_POINTER_TYPE@[24; 35) - UNSAFE_KW@[24; 30) "unsafe" - WHITESPACE@[30; 31) " " - FN_KW@[31; 33) "fn" - PARAM_LIST@[33; 35) - L_PAREN@[33; 34) "(" - R_PAREN@[34; 35) ")" - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" - TYPE_ALIAS_DEF@[37; 69) - TYPE_KW@[37; 41) "type" - WHITESPACE@[41; 42) " " - NAME@[42; 43) - IDENT@[42; 43) "C" - WHITESPACE@[43; 44) " " - EQ@[44; 45) "=" - WHITESPACE@[45; 46) " " - FN_POINTER_TYPE@[46; 68) - UNSAFE_KW@[46; 52) "unsafe" - WHITESPACE@[52; 53) " " - ABI@[53; 63) - EXTERN_KW@[53; 59) "extern" - WHITESPACE@[59; 60) " " - STRING@[60; 63) "\"C\"" - WHITESPACE@[63; 64) " " - FN_KW@[64; 66) "fn" - PARAM_LIST@[66; 68) - L_PAREN@[66; 67) "(" - R_PAREN@[67; 68) ")" - SEMI@[68; 69) ";" - WHITESPACE@[69; 70) "\n" - TYPE_ALIAS_DEF@[70; 112) - TYPE_KW@[70; 74) "type" - WHITESPACE@[74; 75) " " - NAME@[75; 76) - IDENT@[75; 76) "D" - WHITESPACE@[76; 77) " " - EQ@[77; 78) "=" - WHITESPACE@[78; 79) " " - FN_POINTER_TYPE@[79; 111) - ABI@[79; 89) - EXTERN_KW@[79; 85) "extern" - WHITESPACE@[85; 86) " " - STRING@[86; 89) "\"C\"" - WHITESPACE@[89; 90) " " - FN_KW@[90; 92) "fn" - WHITESPACE@[92; 93) " " - PARAM_LIST@[93; 105) - L_PAREN@[93; 94) "(" - WHITESPACE@[94; 95) " " - PARAM@[95; 97) - PATH_TYPE@[95; 97) - PATH@[95; 97) - PATH_SEGMENT@[95; 97) - NAME_REF@[95; 97) - IDENT@[95; 97) "u8" - WHITESPACE@[97; 98) " " - COMMA@[98; 99) "," - WHITESPACE@[99; 100) " " - PARAM@[100; 103) - DOTDOTDOT@[100; 103) "..." - WHITESPACE@[103; 104) " " - R_PAREN@[104; 105) ")" - WHITESPACE@[105; 106) " " - RET_TYPE@[106; 111) - THIN_ARROW@[106; 108) "->" - WHITESPACE@[108; 109) " " - PATH_TYPE@[109; 111) - PATH@[109; 111) - PATH_SEGMENT@[109; 111) - NAME_REF@[109; 111) - IDENT@[109; 111) "u8" - SEMI@[111; 112) ";" - WHITESPACE@[112; 113) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast new file mode 100644 index 000000000..7642ea659 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast @@ -0,0 +1,50 @@ +SOURCE_FILE@[0; 54) + TYPE_ALIAS_DEF@[0; 13) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + REFERENCE_TYPE@[9; 12) + AMP@[9; 10) "&" + TUPLE_TYPE@[10; 12) + L_PAREN@[10; 11) "(" + R_PAREN@[11; 12) ")" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" + TYPE_ALIAS_DEF@[14; 35) + TYPE_KW@[14; 18) "type" + WHITESPACE@[18; 19) " " + NAME@[19; 20) + IDENT@[19; 20) "B" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + REFERENCE_TYPE@[23; 34) + AMP@[23; 24) "&" + LIFETIME@[24; 31) "\'static" + WHITESPACE@[31; 32) " " + TUPLE_TYPE@[32; 34) + L_PAREN@[32; 33) "(" + R_PAREN@[33; 34) ")" + SEMI@[34; 35) ";" + WHITESPACE@[35; 36) "\n" + TYPE_ALIAS_DEF@[36; 53) + TYPE_KW@[36; 40) "type" + WHITESPACE@[40; 41) " " + NAME@[41; 42) + IDENT@[41; 42) "C" + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " + REFERENCE_TYPE@[45; 52) + AMP@[45; 46) "&" + MUT_KW@[46; 49) "mut" + WHITESPACE@[49; 50) " " + TUPLE_TYPE@[50; 52) + L_PAREN@[50; 51) "(" + R_PAREN@[51; 52) ")" + SEMI@[52; 53) ";" + WHITESPACE@[53; 54) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.txt b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.txt deleted file mode 100644 index 7642ea659..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.txt +++ /dev/null @@ -1,50 +0,0 @@ -SOURCE_FILE@[0; 54) - TYPE_ALIAS_DEF@[0; 13) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - REFERENCE_TYPE@[9; 12) - AMP@[9; 10) "&" - TUPLE_TYPE@[10; 12) - L_PAREN@[10; 11) "(" - R_PAREN@[11; 12) ")" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) "\n" - TYPE_ALIAS_DEF@[14; 35) - TYPE_KW@[14; 18) "type" - WHITESPACE@[18; 19) " " - NAME@[19; 20) - IDENT@[19; 20) "B" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - REFERENCE_TYPE@[23; 34) - AMP@[23; 24) "&" - LIFETIME@[24; 31) "\'static" - WHITESPACE@[31; 32) " " - TUPLE_TYPE@[32; 34) - L_PAREN@[32; 33) "(" - R_PAREN@[33; 34) ")" - SEMI@[34; 35) ";" - WHITESPACE@[35; 36) "\n" - TYPE_ALIAS_DEF@[36; 53) - TYPE_KW@[36; 40) "type" - WHITESPACE@[40; 41) " " - NAME@[41; 42) - IDENT@[41; 42) "C" - WHITESPACE@[42; 43) " " - EQ@[43; 44) "=" - WHITESPACE@[44; 45) " " - REFERENCE_TYPE@[45; 52) - AMP@[45; 46) "&" - MUT_KW@[46; 49) "mut" - WHITESPACE@[49; 50) " " - TUPLE_TYPE@[50; 52) - L_PAREN@[50; 51) "(" - R_PAREN@[51; 52) ")" - SEMI@[52; 53) ";" - WHITESPACE@[53; 54) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast new file mode 100644 index 000000000..67ffdfd67 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast @@ -0,0 +1,55 @@ +SOURCE_FILE@[0; 102) + FN_DEF@[0; 101) + 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; 101) + BLOCK@[9; 101) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LOOP_EXPR@[15; 99) + LOOP_KW@[15; 19) "loop" + WHITESPACE@[19; 20) " " + BLOCK_EXPR@[20; 99) + BLOCK@[20; 99) + L_CURLY@[20; 21) "{" + WHITESPACE@[21; 30) "\n " + EXPR_STMT@[30; 36) + BREAK_EXPR@[30; 35) + BREAK_KW@[30; 35) "break" + SEMI@[35; 36) ";" + WHITESPACE@[36; 45) "\n " + EXPR_STMT@[45; 54) + BREAK_EXPR@[45; 53) + BREAK_KW@[45; 50) "break" + WHITESPACE@[50; 51) " " + LIFETIME@[51; 53) "\'l" + SEMI@[53; 54) ";" + WHITESPACE@[54; 63) "\n " + EXPR_STMT@[63; 72) + BREAK_EXPR@[63; 71) + BREAK_KW@[63; 68) "break" + WHITESPACE@[68; 69) " " + LITERAL@[69; 71) + INT_NUMBER@[69; 71) "92" + SEMI@[71; 72) ";" + WHITESPACE@[72; 81) "\n " + EXPR_STMT@[81; 93) + BREAK_EXPR@[81; 92) + BREAK_KW@[81; 86) "break" + WHITESPACE@[86; 87) " " + LIFETIME@[87; 89) "\'l" + WHITESPACE@[89; 90) " " + LITERAL@[90; 92) + INT_NUMBER@[90; 92) "92" + SEMI@[92; 93) ";" + WHITESPACE@[93; 98) "\n " + R_CURLY@[98; 99) "}" + WHITESPACE@[99; 100) "\n" + R_CURLY@[100; 101) "}" + WHITESPACE@[101; 102) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.txt deleted file mode 100644 index 67ffdfd67..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.txt +++ /dev/null @@ -1,55 +0,0 @@ -SOURCE_FILE@[0; 102) - FN_DEF@[0; 101) - 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; 101) - BLOCK@[9; 101) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LOOP_EXPR@[15; 99) - LOOP_KW@[15; 19) "loop" - WHITESPACE@[19; 20) " " - BLOCK_EXPR@[20; 99) - BLOCK@[20; 99) - L_CURLY@[20; 21) "{" - WHITESPACE@[21; 30) "\n " - EXPR_STMT@[30; 36) - BREAK_EXPR@[30; 35) - BREAK_KW@[30; 35) "break" - SEMI@[35; 36) ";" - WHITESPACE@[36; 45) "\n " - EXPR_STMT@[45; 54) - BREAK_EXPR@[45; 53) - BREAK_KW@[45; 50) "break" - WHITESPACE@[50; 51) " " - LIFETIME@[51; 53) "\'l" - SEMI@[53; 54) ";" - WHITESPACE@[54; 63) "\n " - EXPR_STMT@[63; 72) - BREAK_EXPR@[63; 71) - BREAK_KW@[63; 68) "break" - WHITESPACE@[68; 69) " " - LITERAL@[69; 71) - INT_NUMBER@[69; 71) "92" - SEMI@[71; 72) ";" - WHITESPACE@[72; 81) "\n " - EXPR_STMT@[81; 93) - BREAK_EXPR@[81; 92) - BREAK_KW@[81; 86) "break" - WHITESPACE@[86; 87) " " - LIFETIME@[87; 89) "\'l" - WHITESPACE@[89; 90) " " - LITERAL@[90; 92) - INT_NUMBER@[90; 92) "92" - SEMI@[92; 93) ";" - WHITESPACE@[93; 98) "\n " - R_CURLY@[98; 99) "}" - WHITESPACE@[99; 100) "\n" - R_CURLY@[100; 101) "}" - WHITESPACE@[101; 102) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast new file mode 100644 index 000000000..a7dfe167c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@[0; 30) + FN_DEF@[0; 29) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + ABI@[7; 17) + EXTERN_KW@[7; 13) "extern" + WHITESPACE@[13; 14) " " + STRING@[14; 17) "\"C\"" + WHITESPACE@[17; 18) " " + FN_KW@[18; 20) "fn" + WHITESPACE@[20; 21) " " + NAME@[21; 24) + IDENT@[21; 24) "foo" + PARAM_LIST@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.txt deleted file mode 100644 index a7dfe167c..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.txt +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@[0; 30) - FN_DEF@[0; 29) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - ABI@[7; 17) - EXTERN_KW@[7; 13) "extern" - WHITESPACE@[13; 14) " " - STRING@[14; 17) "\"C\"" - WHITESPACE@[17; 18) " " - FN_KW@[18; 20) "fn" - WHITESPACE@[20; 21) " " - NAME@[21; 24) - IDENT@[21; 24) "foo" - PARAM_LIST@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - WHITESPACE@[26; 27) " " - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast b/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast new file mode 100644 index 000000000..6e226de4b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast @@ -0,0 +1,79 @@ +SOURCE_FILE@[0; 71) + TYPE_ALIAS_DEF@[0; 26) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "X" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 25) + PATH@[9; 25) + PATH@[9; 17) + PATH_SEGMENT@[9; 17) + L_ANGLE@[9; 10) "<" + PATH_TYPE@[10; 11) + PATH@[10; 11) + PATH_SEGMENT@[10; 11) + NAME_REF@[10; 11) + IDENT@[10; 11) "A" + WHITESPACE@[11; 12) " " + AS_KW@[12; 14) "as" + WHITESPACE@[14; 15) " " + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "B" + R_ANGLE@[16; 17) ">" + COLONCOLON@[17; 19) "::" + PATH_SEGMENT@[19; 25) + NAME_REF@[19; 25) + IDENT@[19; 25) "Output" + SEMI@[25; 26) ";" + WHITESPACE@[26; 27) "\n" + FN_DEF@[27; 70) + FN_KW@[27; 29) "fn" + WHITESPACE@[29; 30) " " + NAME@[30; 33) + IDENT@[30; 33) "foo" + PARAM_LIST@[33; 35) + L_PAREN@[33; 34) "(" + R_PAREN@[34; 35) ")" + WHITESPACE@[35; 36) " " + BLOCK_EXPR@[36; 70) + BLOCK@[36; 70) + L_CURLY@[36; 37) "{" + WHITESPACE@[37; 38) " " + EXPR_STMT@[38; 68) + CALL_EXPR@[38; 67) + PATH_EXPR@[38; 65) + PATH@[38; 65) + PATH@[38; 56) + PATH_SEGMENT@[38; 56) + L_ANGLE@[38; 39) "<" + PATH_TYPE@[39; 44) + PATH@[39; 44) + PATH_SEGMENT@[39; 44) + NAME_REF@[39; 44) + IDENT@[39; 44) "usize" + WHITESPACE@[44; 45) " " + AS_KW@[45; 47) "as" + WHITESPACE@[47; 48) " " + PATH_TYPE@[48; 55) + PATH@[48; 55) + PATH_SEGMENT@[48; 55) + NAME_REF@[48; 55) + IDENT@[48; 55) "Default" + R_ANGLE@[55; 56) ">" + COLONCOLON@[56; 58) "::" + PATH_SEGMENT@[58; 65) + NAME_REF@[58; 65) + IDENT@[58; 65) "default" + ARG_LIST@[65; 67) + L_PAREN@[65; 66) "(" + R_PAREN@[66; 67) ")" + SEMI@[67; 68) ";" + WHITESPACE@[68; 69) " " + R_CURLY@[69; 70) "}" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.txt b/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.txt deleted file mode 100644 index 6e226de4b..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.txt +++ /dev/null @@ -1,79 +0,0 @@ -SOURCE_FILE@[0; 71) - TYPE_ALIAS_DEF@[0; 26) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "X" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 25) - PATH@[9; 25) - PATH@[9; 17) - PATH_SEGMENT@[9; 17) - L_ANGLE@[9; 10) "<" - PATH_TYPE@[10; 11) - PATH@[10; 11) - PATH_SEGMENT@[10; 11) - NAME_REF@[10; 11) - IDENT@[10; 11) "A" - WHITESPACE@[11; 12) " " - AS_KW@[12; 14) "as" - WHITESPACE@[14; 15) " " - PATH_TYPE@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "B" - R_ANGLE@[16; 17) ">" - COLONCOLON@[17; 19) "::" - PATH_SEGMENT@[19; 25) - NAME_REF@[19; 25) - IDENT@[19; 25) "Output" - SEMI@[25; 26) ";" - WHITESPACE@[26; 27) "\n" - FN_DEF@[27; 70) - FN_KW@[27; 29) "fn" - WHITESPACE@[29; 30) " " - NAME@[30; 33) - IDENT@[30; 33) "foo" - PARAM_LIST@[33; 35) - L_PAREN@[33; 34) "(" - R_PAREN@[34; 35) ")" - WHITESPACE@[35; 36) " " - BLOCK_EXPR@[36; 70) - BLOCK@[36; 70) - L_CURLY@[36; 37) "{" - WHITESPACE@[37; 38) " " - EXPR_STMT@[38; 68) - CALL_EXPR@[38; 67) - PATH_EXPR@[38; 65) - PATH@[38; 65) - PATH@[38; 56) - PATH_SEGMENT@[38; 56) - L_ANGLE@[38; 39) "<" - PATH_TYPE@[39; 44) - PATH@[39; 44) - PATH_SEGMENT@[39; 44) - NAME_REF@[39; 44) - IDENT@[39; 44) "usize" - WHITESPACE@[44; 45) " " - AS_KW@[45; 47) "as" - WHITESPACE@[47; 48) " " - PATH_TYPE@[48; 55) - PATH@[48; 55) - PATH_SEGMENT@[48; 55) - NAME_REF@[48; 55) - IDENT@[48; 55) "Default" - R_ANGLE@[55; 56) ">" - COLONCOLON@[56; 58) "::" - PATH_SEGMENT@[58; 65) - NAME_REF@[58; 65) - IDENT@[58; 65) "default" - ARG_LIST@[65; 67) - L_PAREN@[65; 66) "(" - R_PAREN@[66; 67) ")" - SEMI@[67; 68) ";" - WHITESPACE@[68; 69) " " - R_CURLY@[69; 70) "}" - WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast new file mode 100644 index 000000000..042cee879 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@[0; 21) + FN_DEF@[0; 20) + 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; 20) + BLOCK@[9; 20) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + EXPR_STMT@[11; 18) + INDEX_EXPR@[11; 17) + PATH_EXPR@[11; 13) + PATH@[11; 13) + PATH_SEGMENT@[11; 13) + NAME_REF@[11; 13) + IDENT@[11; 13) "xs" + L_BRACK@[13; 14) "[" + RANGE_EXPR@[14; 16) + DOTDOT@[14; 16) ".." + R_BRACK@[16; 17) "]" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) " " + R_CURLY@[19; 20) "}" + WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.txt deleted file mode 100644 index 042cee879..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.txt +++ /dev/null @@ -1,29 +0,0 @@ -SOURCE_FILE@[0; 21) - FN_DEF@[0; 20) - 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; 20) - BLOCK@[9; 20) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - EXPR_STMT@[11; 18) - INDEX_EXPR@[11; 17) - PATH_EXPR@[11; 13) - PATH@[11; 13) - PATH_SEGMENT@[11; 13) - NAME_REF@[11; 13) - IDENT@[11; 13) "xs" - L_BRACK@[13; 14) "[" - RANGE_EXPR@[14; 16) - DOTDOT@[14; 16) ".." - R_BRACK@[16; 17) "]" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) " " - R_CURLY@[19; 20) "}" - WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast new file mode 100644 index 000000000..025faf5ca --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast @@ -0,0 +1,55 @@ +SOURCE_FILE@[0; 46) + TYPE_ALIAS_DEF@[0; 45) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 44) + PATH@[9; 44) + PATH_SEGMENT@[9; 44) + NAME_REF@[9; 10) + IDENT@[9; 10) "B" + TYPE_ARG_LIST@[10; 44) + L_ANGLE@[10; 11) "<" + LIFETIME_ARG@[11; 18) + LIFETIME@[11; 18) "\'static" + COMMA@[18; 19) "," + WHITESPACE@[19; 20) " " + TYPE_ARG@[20; 23) + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "i32" + COMMA@[23; 24) "," + WHITESPACE@[24; 25) " " + CONST_ARG@[25; 26) + INT_NUMBER@[25; 26) "1" + COMMA@[26; 27) "," + WHITESPACE@[27; 28) " " + CONST_ARG@[28; 33) + BLOCK_EXPR@[28; 33) + BLOCK@[28; 33) + L_CURLY@[28; 29) "{" + WHITESPACE@[29; 30) " " + LITERAL@[30; 31) + INT_NUMBER@[30; 31) "2" + WHITESPACE@[31; 32) " " + R_CURLY@[32; 33) "}" + COMMA@[33; 34) "," + WHITESPACE@[34; 35) " " + ASSOC_TYPE_ARG@[35; 43) + NAME_REF@[35; 39) + IDENT@[35; 39) "Item" + EQ@[39; 40) "=" + PATH_TYPE@[40; 43) + PATH@[40; 43) + PATH_SEGMENT@[40; 43) + NAME_REF@[40; 43) + IDENT@[40; 43) "u64" + R_ANGLE@[43; 44) ">" + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.txt b/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.txt deleted file mode 100644 index 025faf5ca..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.txt +++ /dev/null @@ -1,55 +0,0 @@ -SOURCE_FILE@[0; 46) - TYPE_ALIAS_DEF@[0; 45) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 44) - PATH@[9; 44) - PATH_SEGMENT@[9; 44) - NAME_REF@[9; 10) - IDENT@[9; 10) "B" - TYPE_ARG_LIST@[10; 44) - L_ANGLE@[10; 11) "<" - LIFETIME_ARG@[11; 18) - LIFETIME@[11; 18) "\'static" - COMMA@[18; 19) "," - WHITESPACE@[19; 20) " " - TYPE_ARG@[20; 23) - PATH_TYPE@[20; 23) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "i32" - COMMA@[23; 24) "," - WHITESPACE@[24; 25) " " - CONST_ARG@[25; 26) - INT_NUMBER@[25; 26) "1" - COMMA@[26; 27) "," - WHITESPACE@[27; 28) " " - CONST_ARG@[28; 33) - BLOCK_EXPR@[28; 33) - BLOCK@[28; 33) - L_CURLY@[28; 29) "{" - WHITESPACE@[29; 30) " " - LITERAL@[30; 31) - INT_NUMBER@[30; 31) "2" - WHITESPACE@[31; 32) " " - R_CURLY@[32; 33) "}" - COMMA@[33; 34) "," - WHITESPACE@[34; 35) " " - ASSOC_TYPE_ARG@[35; 43) - NAME_REF@[35; 39) - IDENT@[35; 39) "Item" - EQ@[39; 40) "=" - PATH_TYPE@[40; 43) - PATH@[40; 43) - PATH_SEGMENT@[40; 43) - NAME_REF@[40; 43) - IDENT@[40; 43) "u64" - R_ANGLE@[43; 44) ">" - SEMI@[44; 45) ";" - WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast b/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast new file mode 100644 index 000000000..d180fcf20 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast @@ -0,0 +1,63 @@ +SOURCE_FILE@[0; 71) + FN_DEF@[0; 19) + VISIBILITY@[0; 5) + CRATE_KW@[0; 5) "crate" + WHITESPACE@[5; 6) " " + FN_KW@[6; 8) "fn" + WHITESPACE@[8; 9) " " + NAME@[9; 13) + IDENT@[9; 13) "main" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 19) + BLOCK@[16; 19) + L_CURLY@[16; 17) "{" + WHITESPACE@[17; 18) " " + R_CURLY@[18; 19) "}" + WHITESPACE@[19; 20) "\n" + STRUCT_DEF@[20; 49) + STRUCT_KW@[20; 26) "struct" + WHITESPACE@[26; 27) " " + NAME@[27; 28) + IDENT@[27; 28) "S" + WHITESPACE@[28; 29) " " + RECORD_FIELD_DEF_LIST@[29; 49) + L_CURLY@[29; 30) "{" + WHITESPACE@[30; 31) " " + RECORD_FIELD_DEF@[31; 47) + VISIBILITY@[31; 36) + CRATE_KW@[31; 36) "crate" + WHITESPACE@[36; 37) " " + NAME@[37; 42) + IDENT@[37; 42) "field" + COLON@[42; 43) ":" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 47) + PATH@[44; 47) + PATH_SEGMENT@[44; 47) + NAME_REF@[44; 47) + IDENT@[44; 47) "u32" + WHITESPACE@[47; 48) " " + R_CURLY@[48; 49) "}" + WHITESPACE@[49; 50) "\n" + STRUCT_DEF@[50; 70) + STRUCT_KW@[50; 56) "struct" + WHITESPACE@[56; 57) " " + NAME@[57; 58) + IDENT@[57; 58) "T" + TUPLE_FIELD_DEF_LIST@[58; 69) + L_PAREN@[58; 59) "(" + TUPLE_FIELD_DEF@[59; 68) + VISIBILITY@[59; 64) + CRATE_KW@[59; 64) "crate" + WHITESPACE@[64; 65) " " + PATH_TYPE@[65; 68) + PATH@[65; 68) + PATH_SEGMENT@[65; 68) + NAME_REF@[65; 68) + IDENT@[65; 68) "u32" + R_PAREN@[68; 69) ")" + SEMI@[69; 70) ";" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.txt b/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.txt deleted file mode 100644 index d180fcf20..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.txt +++ /dev/null @@ -1,63 +0,0 @@ -SOURCE_FILE@[0; 71) - FN_DEF@[0; 19) - VISIBILITY@[0; 5) - CRATE_KW@[0; 5) "crate" - WHITESPACE@[5; 6) " " - FN_KW@[6; 8) "fn" - WHITESPACE@[8; 9) " " - NAME@[9; 13) - IDENT@[9; 13) "main" - PARAM_LIST@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 19) - BLOCK@[16; 19) - L_CURLY@[16; 17) "{" - WHITESPACE@[17; 18) " " - R_CURLY@[18; 19) "}" - WHITESPACE@[19; 20) "\n" - STRUCT_DEF@[20; 49) - STRUCT_KW@[20; 26) "struct" - WHITESPACE@[26; 27) " " - NAME@[27; 28) - IDENT@[27; 28) "S" - WHITESPACE@[28; 29) " " - RECORD_FIELD_DEF_LIST@[29; 49) - L_CURLY@[29; 30) "{" - WHITESPACE@[30; 31) " " - RECORD_FIELD_DEF@[31; 47) - VISIBILITY@[31; 36) - CRATE_KW@[31; 36) "crate" - WHITESPACE@[36; 37) " " - NAME@[37; 42) - IDENT@[37; 42) "field" - COLON@[42; 43) ":" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 47) - PATH@[44; 47) - PATH_SEGMENT@[44; 47) - NAME_REF@[44; 47) - IDENT@[44; 47) "u32" - WHITESPACE@[47; 48) " " - R_CURLY@[48; 49) "}" - WHITESPACE@[49; 50) "\n" - STRUCT_DEF@[50; 70) - STRUCT_KW@[50; 56) "struct" - WHITESPACE@[56; 57) " " - NAME@[57; 58) - IDENT@[57; 58) "T" - TUPLE_FIELD_DEF_LIST@[58; 69) - L_PAREN@[58; 59) "(" - TUPLE_FIELD_DEF@[59; 68) - VISIBILITY@[59; 64) - CRATE_KW@[59; 64) "crate" - WHITESPACE@[64; 65) " " - PATH_TYPE@[65; 68) - PATH@[65; 68) - PATH_SEGMENT@[65; 68) - NAME_REF@[65; 68) - IDENT@[65; 68) "u32" - R_PAREN@[68; 69) ")" - SEMI@[69; 70) ";" - WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast new file mode 100644 index 000000000..578361715 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.rast @@ -0,0 +1,125 @@ +SOURCE_FILE@[0; 101) + TRAIT_DEF@[0; 41) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "T" + TYPE_PARAM_LIST@[7; 10) + L_ANGLE@[7; 8) "<" + TYPE_PARAM@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "U" + R_ANGLE@[9; 10) ">" + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " + TYPE_BOUND_LIST@[12; 24) + TYPE_BOUND@[12; 16) + PATH_TYPE@[12; 16) + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "Hash" + WHITESPACE@[16; 17) " " + PLUS@[17; 18) "+" + WHITESPACE@[18; 19) " " + TYPE_BOUND@[19; 24) + PATH_TYPE@[19; 24) + PATH@[19; 24) + PATH_SEGMENT@[19; 24) + NAME_REF@[19; 24) + IDENT@[19; 24) "Clone" + WHITESPACE@[24; 25) " " + WHERE_CLAUSE@[25; 38) + WHERE_KW@[25; 30) "where" + WHITESPACE@[30; 31) " " + WHERE_PRED@[31; 38) + PATH_TYPE@[31; 32) + PATH@[31; 32) + PATH_SEGMENT@[31; 32) + NAME_REF@[31; 32) + IDENT@[31; 32) "U" + COLON@[32; 33) ":" + WHITESPACE@[33; 34) " " + TYPE_BOUND_LIST@[34; 38) + TYPE_BOUND@[34; 38) + PATH_TYPE@[34; 38) + PATH@[34; 38) + PATH_SEGMENT@[34; 38) + NAME_REF@[34; 38) + IDENT@[34; 38) "Copy" + WHITESPACE@[38; 39) " " + ITEM_LIST@[39; 41) + L_CURLY@[39; 40) "{" + R_CURLY@[40; 41) "}" + WHITESPACE@[41; 42) "\n" + TRAIT_DEF@[42; 100) + TRAIT_KW@[42; 47) "trait" + WHITESPACE@[47; 48) " " + NAME@[48; 49) + IDENT@[48; 49) "X" + TYPE_PARAM_LIST@[49; 69) + L_ANGLE@[49; 50) "<" + TYPE_PARAM@[50; 68) + NAME@[50; 51) + IDENT@[50; 51) "U" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + TYPE_BOUND_LIST@[53; 68) + TYPE_BOUND@[53; 58) + PATH_TYPE@[53; 58) + PATH@[53; 58) + PATH_SEGMENT@[53; 58) + NAME_REF@[53; 58) + IDENT@[53; 58) "Debug" + WHITESPACE@[58; 59) " " + PLUS@[59; 60) "+" + WHITESPACE@[60; 61) " " + TYPE_BOUND@[61; 68) + PATH_TYPE@[61; 68) + PATH@[61; 68) + PATH_SEGMENT@[61; 68) + NAME_REF@[61; 68) + IDENT@[61; 68) "Display" + R_ANGLE@[68; 69) ">" + COLON@[69; 70) ":" + WHITESPACE@[70; 71) " " + TYPE_BOUND_LIST@[71; 83) + TYPE_BOUND@[71; 75) + PATH_TYPE@[71; 75) + PATH@[71; 75) + PATH_SEGMENT@[71; 75) + NAME_REF@[71; 75) + IDENT@[71; 75) "Hash" + WHITESPACE@[75; 76) " " + PLUS@[76; 77) "+" + WHITESPACE@[77; 78) " " + TYPE_BOUND@[78; 83) + PATH_TYPE@[78; 83) + PATH@[78; 83) + PATH_SEGMENT@[78; 83) + NAME_REF@[78; 83) + IDENT@[78; 83) "Clone" + WHITESPACE@[83; 84) " " + WHERE_CLAUSE@[84; 97) + WHERE_KW@[84; 89) "where" + WHITESPACE@[89; 90) " " + WHERE_PRED@[90; 97) + PATH_TYPE@[90; 91) + PATH@[90; 91) + PATH_SEGMENT@[90; 91) + NAME_REF@[90; 91) + IDENT@[90; 91) "U" + COLON@[91; 92) ":" + WHITESPACE@[92; 93) " " + TYPE_BOUND_LIST@[93; 97) + TYPE_BOUND@[93; 97) + PATH_TYPE@[93; 97) + PATH@[93; 97) + PATH_SEGMENT@[93; 97) + NAME_REF@[93; 97) + IDENT@[93; 97) "Copy" + WHITESPACE@[97; 98) " " + ITEM_LIST@[98; 100) + L_CURLY@[98; 99) "{" + R_CURLY@[99; 100) "}" + WHITESPACE@[100; 101) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.txt b/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.txt deleted file mode 100644 index 578361715..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0041_trait_item.txt +++ /dev/null @@ -1,125 +0,0 @@ -SOURCE_FILE@[0; 101) - TRAIT_DEF@[0; 41) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "T" - TYPE_PARAM_LIST@[7; 10) - L_ANGLE@[7; 8) "<" - TYPE_PARAM@[8; 9) - NAME@[8; 9) - IDENT@[8; 9) "U" - R_ANGLE@[9; 10) ">" - COLON@[10; 11) ":" - WHITESPACE@[11; 12) " " - TYPE_BOUND_LIST@[12; 24) - TYPE_BOUND@[12; 16) - PATH_TYPE@[12; 16) - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "Hash" - WHITESPACE@[16; 17) " " - PLUS@[17; 18) "+" - WHITESPACE@[18; 19) " " - TYPE_BOUND@[19; 24) - PATH_TYPE@[19; 24) - PATH@[19; 24) - PATH_SEGMENT@[19; 24) - NAME_REF@[19; 24) - IDENT@[19; 24) "Clone" - WHITESPACE@[24; 25) " " - WHERE_CLAUSE@[25; 38) - WHERE_KW@[25; 30) "where" - WHITESPACE@[30; 31) " " - WHERE_PRED@[31; 38) - PATH_TYPE@[31; 32) - PATH@[31; 32) - PATH_SEGMENT@[31; 32) - NAME_REF@[31; 32) - IDENT@[31; 32) "U" - COLON@[32; 33) ":" - WHITESPACE@[33; 34) " " - TYPE_BOUND_LIST@[34; 38) - TYPE_BOUND@[34; 38) - PATH_TYPE@[34; 38) - PATH@[34; 38) - PATH_SEGMENT@[34; 38) - NAME_REF@[34; 38) - IDENT@[34; 38) "Copy" - WHITESPACE@[38; 39) " " - ITEM_LIST@[39; 41) - L_CURLY@[39; 40) "{" - R_CURLY@[40; 41) "}" - WHITESPACE@[41; 42) "\n" - TRAIT_DEF@[42; 100) - TRAIT_KW@[42; 47) "trait" - WHITESPACE@[47; 48) " " - NAME@[48; 49) - IDENT@[48; 49) "X" - TYPE_PARAM_LIST@[49; 69) - L_ANGLE@[49; 50) "<" - TYPE_PARAM@[50; 68) - NAME@[50; 51) - IDENT@[50; 51) "U" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - TYPE_BOUND_LIST@[53; 68) - TYPE_BOUND@[53; 58) - PATH_TYPE@[53; 58) - PATH@[53; 58) - PATH_SEGMENT@[53; 58) - NAME_REF@[53; 58) - IDENT@[53; 58) "Debug" - WHITESPACE@[58; 59) " " - PLUS@[59; 60) "+" - WHITESPACE@[60; 61) " " - TYPE_BOUND@[61; 68) - PATH_TYPE@[61; 68) - PATH@[61; 68) - PATH_SEGMENT@[61; 68) - NAME_REF@[61; 68) - IDENT@[61; 68) "Display" - R_ANGLE@[68; 69) ">" - COLON@[69; 70) ":" - WHITESPACE@[70; 71) " " - TYPE_BOUND_LIST@[71; 83) - TYPE_BOUND@[71; 75) - PATH_TYPE@[71; 75) - PATH@[71; 75) - PATH_SEGMENT@[71; 75) - NAME_REF@[71; 75) - IDENT@[71; 75) "Hash" - WHITESPACE@[75; 76) " " - PLUS@[76; 77) "+" - WHITESPACE@[77; 78) " " - TYPE_BOUND@[78; 83) - PATH_TYPE@[78; 83) - PATH@[78; 83) - PATH_SEGMENT@[78; 83) - NAME_REF@[78; 83) - IDENT@[78; 83) "Clone" - WHITESPACE@[83; 84) " " - WHERE_CLAUSE@[84; 97) - WHERE_KW@[84; 89) "where" - WHITESPACE@[89; 90) " " - WHERE_PRED@[90; 97) - PATH_TYPE@[90; 91) - PATH@[90; 91) - PATH_SEGMENT@[90; 91) - NAME_REF@[90; 91) - IDENT@[90; 91) "U" - COLON@[91; 92) ":" - WHITESPACE@[92; 93) " " - TYPE_BOUND_LIST@[93; 97) - TYPE_BOUND@[93; 97) - PATH_TYPE@[93; 97) - PATH@[93; 97) - PATH_SEGMENT@[93; 97) - NAME_REF@[93; 97) - IDENT@[93; 97) "Copy" - WHITESPACE@[97; 98) " " - ITEM_LIST@[98; 100) - L_CURLY@[98; 99) "{" - R_CURLY@[99; 100) "}" - WHITESPACE@[100; 101) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast new file mode 100644 index 000000000..e8003bf91 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast @@ -0,0 +1,148 @@ +SOURCE_FILE@[0; 118) + FN_DEF@[0; 117) + 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; 117) + BLOCK@[9; 117) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 27) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + CALL_EXPR@[23; 26) + PATH_EXPR@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "f" + ARG_LIST@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + LET_STMT@[32; 54) + LET_KW@[32; 35) "let" + WHITESPACE@[35; 36) " " + PLACEHOLDER_PAT@[36; 37) + UNDERSCORE@[36; 37) "_" + WHITESPACE@[37; 38) " " + EQ@[38; 39) "=" + WHITESPACE@[39; 40) " " + CALL_EXPR@[40; 53) + CALL_EXPR@[40; 46) + CALL_EXPR@[40; 43) + PATH_EXPR@[40; 41) + PATH@[40; 41) + PATH_SEGMENT@[40; 41) + NAME_REF@[40; 41) + IDENT@[40; 41) "f" + ARG_LIST@[41; 43) + L_PAREN@[41; 42) "(" + R_PAREN@[42; 43) ")" + ARG_LIST@[43; 46) + L_PAREN@[43; 44) "(" + LITERAL@[44; 45) + INT_NUMBER@[44; 45) "1" + R_PAREN@[45; 46) ")" + ARG_LIST@[46; 53) + 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) "," + R_PAREN@[52; 53) ")" + SEMI@[53; 54) ";" + WHITESPACE@[54; 59) "\n " + LET_STMT@[59; 84) + LET_KW@[59; 62) "let" + WHITESPACE@[62; 63) " " + PLACEHOLDER_PAT@[63; 64) + UNDERSCORE@[63; 64) "_" + WHITESPACE@[64; 65) " " + EQ@[65; 66) "=" + WHITESPACE@[66; 67) " " + CALL_EXPR@[67; 83) + PATH_EXPR@[67; 68) + PATH@[67; 68) + PATH_SEGMENT@[67; 68) + NAME_REF@[67; 68) + IDENT@[67; 68) "f" + ARG_LIST@[68; 83) + L_PAREN@[68; 69) "(" + CALL_EXPR@[69; 82) + PATH_EXPR@[69; 80) + PATH@[69; 80) + PATH@[69; 74) + PATH_SEGMENT@[69; 74) + L_ANGLE@[69; 70) "<" + PATH_TYPE@[70; 73) + PATH@[70; 73) + PATH_SEGMENT@[70; 73) + NAME_REF@[70; 73) + IDENT@[70; 73) "Foo" + R_ANGLE@[73; 74) ">" + COLONCOLON@[74; 76) "::" + PATH_SEGMENT@[76; 80) + NAME_REF@[76; 80) + IDENT@[76; 80) "func" + ARG_LIST@[80; 82) + L_PAREN@[80; 81) "(" + R_PAREN@[81; 82) ")" + R_PAREN@[82; 83) ")" + SEMI@[83; 84) ";" + WHITESPACE@[84; 89) "\n " + EXPR_STMT@[89; 115) + CALL_EXPR@[89; 114) + PATH_EXPR@[89; 90) + PATH@[89; 90) + PATH_SEGMENT@[89; 90) + NAME_REF@[89; 90) + IDENT@[89; 90) "f" + ARG_LIST@[90; 114) + L_PAREN@[90; 91) "(" + CALL_EXPR@[91; 113) + PATH_EXPR@[91; 111) + PATH@[91; 111) + PATH@[91; 105) + PATH_SEGMENT@[91; 105) + L_ANGLE@[91; 92) "<" + PATH_TYPE@[92; 95) + PATH@[92; 95) + PATH_SEGMENT@[92; 95) + NAME_REF@[92; 95) + IDENT@[92; 95) "Foo" + WHITESPACE@[95; 96) " " + AS_KW@[96; 98) "as" + WHITESPACE@[98; 99) " " + PATH_TYPE@[99; 104) + PATH@[99; 104) + PATH_SEGMENT@[99; 104) + NAME_REF@[99; 104) + IDENT@[99; 104) "Trait" + R_ANGLE@[104; 105) ">" + COLONCOLON@[105; 107) "::" + PATH_SEGMENT@[107; 111) + NAME_REF@[107; 111) + IDENT@[107; 111) "func" + ARG_LIST@[111; 113) + L_PAREN@[111; 112) "(" + R_PAREN@[112; 113) ")" + R_PAREN@[113; 114) ")" + SEMI@[114; 115) ";" + WHITESPACE@[115; 116) "\n" + R_CURLY@[116; 117) "}" + WHITESPACE@[117; 118) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.txt deleted file mode 100644 index e8003bf91..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.txt +++ /dev/null @@ -1,148 +0,0 @@ -SOURCE_FILE@[0; 118) - FN_DEF@[0; 117) - 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; 117) - BLOCK@[9; 117) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 27) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - CALL_EXPR@[23; 26) - PATH_EXPR@[23; 24) - PATH@[23; 24) - PATH_SEGMENT@[23; 24) - NAME_REF@[23; 24) - IDENT@[23; 24) "f" - ARG_LIST@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - LET_STMT@[32; 54) - LET_KW@[32; 35) "let" - WHITESPACE@[35; 36) " " - PLACEHOLDER_PAT@[36; 37) - UNDERSCORE@[36; 37) "_" - WHITESPACE@[37; 38) " " - EQ@[38; 39) "=" - WHITESPACE@[39; 40) " " - CALL_EXPR@[40; 53) - CALL_EXPR@[40; 46) - CALL_EXPR@[40; 43) - PATH_EXPR@[40; 41) - PATH@[40; 41) - PATH_SEGMENT@[40; 41) - NAME_REF@[40; 41) - IDENT@[40; 41) "f" - ARG_LIST@[41; 43) - L_PAREN@[41; 42) "(" - R_PAREN@[42; 43) ")" - ARG_LIST@[43; 46) - L_PAREN@[43; 44) "(" - LITERAL@[44; 45) - INT_NUMBER@[44; 45) "1" - R_PAREN@[45; 46) ")" - ARG_LIST@[46; 53) - 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) "," - R_PAREN@[52; 53) ")" - SEMI@[53; 54) ";" - WHITESPACE@[54; 59) "\n " - LET_STMT@[59; 84) - LET_KW@[59; 62) "let" - WHITESPACE@[62; 63) " " - PLACEHOLDER_PAT@[63; 64) - UNDERSCORE@[63; 64) "_" - WHITESPACE@[64; 65) " " - EQ@[65; 66) "=" - WHITESPACE@[66; 67) " " - CALL_EXPR@[67; 83) - PATH_EXPR@[67; 68) - PATH@[67; 68) - PATH_SEGMENT@[67; 68) - NAME_REF@[67; 68) - IDENT@[67; 68) "f" - ARG_LIST@[68; 83) - L_PAREN@[68; 69) "(" - CALL_EXPR@[69; 82) - PATH_EXPR@[69; 80) - PATH@[69; 80) - PATH@[69; 74) - PATH_SEGMENT@[69; 74) - L_ANGLE@[69; 70) "<" - PATH_TYPE@[70; 73) - PATH@[70; 73) - PATH_SEGMENT@[70; 73) - NAME_REF@[70; 73) - IDENT@[70; 73) "Foo" - R_ANGLE@[73; 74) ">" - COLONCOLON@[74; 76) "::" - PATH_SEGMENT@[76; 80) - NAME_REF@[76; 80) - IDENT@[76; 80) "func" - ARG_LIST@[80; 82) - L_PAREN@[80; 81) "(" - R_PAREN@[81; 82) ")" - R_PAREN@[82; 83) ")" - SEMI@[83; 84) ";" - WHITESPACE@[84; 89) "\n " - EXPR_STMT@[89; 115) - CALL_EXPR@[89; 114) - PATH_EXPR@[89; 90) - PATH@[89; 90) - PATH_SEGMENT@[89; 90) - NAME_REF@[89; 90) - IDENT@[89; 90) "f" - ARG_LIST@[90; 114) - L_PAREN@[90; 91) "(" - CALL_EXPR@[91; 113) - PATH_EXPR@[91; 111) - PATH@[91; 111) - PATH@[91; 105) - PATH_SEGMENT@[91; 105) - L_ANGLE@[91; 92) "<" - PATH_TYPE@[92; 95) - PATH@[92; 95) - PATH_SEGMENT@[92; 95) - NAME_REF@[92; 95) - IDENT@[92; 95) "Foo" - WHITESPACE@[95; 96) " " - AS_KW@[96; 98) "as" - WHITESPACE@[98; 99) " " - PATH_TYPE@[99; 104) - PATH@[99; 104) - PATH_SEGMENT@[99; 104) - NAME_REF@[99; 104) - IDENT@[99; 104) "Trait" - R_ANGLE@[104; 105) ">" - COLONCOLON@[105; 107) "::" - PATH_SEGMENT@[107; 111) - NAME_REF@[107; 111) - IDENT@[107; 111) "func" - ARG_LIST@[111; 113) - L_PAREN@[111; 112) "(" - R_PAREN@[112; 113) ")" - R_PAREN@[113; 114) ")" - SEMI@[114; 115) ";" - WHITESPACE@[115; 116) "\n" - R_CURLY@[116; 117) "}" - WHITESPACE@[117; 118) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast b/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast new file mode 100644 index 000000000..18d8a151f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast @@ -0,0 +1,138 @@ +SOURCE_FILE@[0; 198) + USE_ITEM@[0; 28) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 27) + PATH@[4; 14) + PATH@[4; 8) + PATH_SEGMENT@[4; 8) + NAME_REF@[4; 8) + IDENT@[4; 8) "some" + COLONCOLON@[8; 10) "::" + PATH_SEGMENT@[10; 14) + NAME_REF@[10; 14) + IDENT@[10; 14) "path" + WHITESPACE@[14; 15) " " + ALIAS@[15; 27) + AS_KW@[15; 17) "as" + WHITESPACE@[17; 18) " " + NAME@[18; 27) + IDENT@[18; 27) "some_name" + SEMI@[27; 28) ";" + WHITESPACE@[28; 29) "\n" + USE_ITEM@[29; 181) + USE_KW@[29; 32) "use" + WHITESPACE@[32; 33) " " + USE_TREE@[33; 180) + PATH@[33; 37) + PATH_SEGMENT@[33; 37) + NAME_REF@[33; 37) + IDENT@[33; 37) "some" + COLONCOLON@[37; 39) "::" + USE_TREE_LIST@[39; 180) + L_CURLY@[39; 40) "{" + WHITESPACE@[40; 42) "\n " + USE_TREE@[42; 72) + PATH@[42; 53) + PATH@[42; 47) + PATH_SEGMENT@[42; 47) + NAME_REF@[42; 47) + IDENT@[42; 47) "other" + COLONCOLON@[47; 49) "::" + PATH_SEGMENT@[49; 53) + NAME_REF@[49; 53) + IDENT@[49; 53) "path" + WHITESPACE@[53; 54) " " + ALIAS@[54; 72) + AS_KW@[54; 56) "as" + WHITESPACE@[56; 57) " " + NAME@[57; 72) + IDENT@[57; 72) "some_other_name" + COMMA@[72; 73) "," + WHITESPACE@[73; 75) "\n " + USE_TREE@[75; 108) + PATH@[75; 90) + PATH@[75; 84) + PATH_SEGMENT@[75; 84) + NAME_REF@[75; 84) + IDENT@[75; 84) "different" + COLONCOLON@[84; 86) "::" + PATH_SEGMENT@[86; 90) + NAME_REF@[86; 90) + IDENT@[86; 90) "path" + WHITESPACE@[90; 91) " " + ALIAS@[91; 108) + AS_KW@[91; 93) "as" + WHITESPACE@[93; 94) " " + NAME@[94; 108) + IDENT@[94; 108) "different_name" + COMMA@[108; 109) "," + WHITESPACE@[109; 111) "\n " + USE_TREE@[111; 129) + PATH@[111; 129) + PATH@[111; 123) + PATH@[111; 114) + PATH_SEGMENT@[111; 114) + NAME_REF@[111; 114) + IDENT@[111; 114) "yet" + COLONCOLON@[114; 116) "::" + PATH_SEGMENT@[116; 123) + NAME_REF@[116; 123) + IDENT@[116; 123) "another" + COLONCOLON@[123; 125) "::" + PATH_SEGMENT@[125; 129) + NAME_REF@[125; 129) + IDENT@[125; 129) "path" + COMMA@[129; 130) "," + WHITESPACE@[130; 132) "\n " + USE_TREE@[132; 178) + PATH@[132; 175) + PATH@[132; 164) + PATH@[132; 158) + PATH@[132; 148) + PATH@[132; 144) + PATH@[132; 139) + PATH_SEGMENT@[132; 139) + NAME_REF@[132; 139) + IDENT@[132; 139) "running" + COLONCOLON@[139; 141) "::" + PATH_SEGMENT@[141; 144) + NAME_REF@[141; 144) + IDENT@[141; 144) "out" + COLONCOLON@[144; 146) "::" + PATH_SEGMENT@[146; 148) + NAME_REF@[146; 148) + IDENT@[146; 148) "of" + COLONCOLON@[148; 150) "::" + PATH_SEGMENT@[150; 158) + NAME_REF@[150; 158) + IDENT@[150; 158) "synonyms" + COLONCOLON@[158; 160) "::" + PATH_SEGMENT@[160; 164) + NAME_REF@[160; 164) + IDENT@[160; 164) "for_" + COLONCOLON@[164; 166) "::" + PATH_SEGMENT@[166; 175) + NAME_REF@[166; 175) + IDENT@[166; 175) "different" + COLONCOLON@[175; 177) "::" + STAR@[177; 178) "*" + WHITESPACE@[178; 179) "\n" + R_CURLY@[179; 180) "}" + SEMI@[180; 181) ";" + WHITESPACE@[181; 182) "\n" + USE_ITEM@[182; 197) + USE_KW@[182; 185) "use" + WHITESPACE@[185; 186) " " + USE_TREE@[186; 196) + PATH@[186; 191) + PATH_SEGMENT@[186; 191) + NAME_REF@[186; 191) + IDENT@[186; 191) "Trait" + WHITESPACE@[191; 192) " " + ALIAS@[192; 196) + AS_KW@[192; 194) "as" + WHITESPACE@[194; 195) " " + UNDERSCORE@[195; 196) "_" + SEMI@[196; 197) ";" + WHITESPACE@[197; 198) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.txt b/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.txt deleted file mode 100644 index 18d8a151f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.txt +++ /dev/null @@ -1,138 +0,0 @@ -SOURCE_FILE@[0; 198) - USE_ITEM@[0; 28) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 27) - PATH@[4; 14) - PATH@[4; 8) - PATH_SEGMENT@[4; 8) - NAME_REF@[4; 8) - IDENT@[4; 8) "some" - COLONCOLON@[8; 10) "::" - PATH_SEGMENT@[10; 14) - NAME_REF@[10; 14) - IDENT@[10; 14) "path" - WHITESPACE@[14; 15) " " - ALIAS@[15; 27) - AS_KW@[15; 17) "as" - WHITESPACE@[17; 18) " " - NAME@[18; 27) - IDENT@[18; 27) "some_name" - SEMI@[27; 28) ";" - WHITESPACE@[28; 29) "\n" - USE_ITEM@[29; 181) - USE_KW@[29; 32) "use" - WHITESPACE@[32; 33) " " - USE_TREE@[33; 180) - PATH@[33; 37) - PATH_SEGMENT@[33; 37) - NAME_REF@[33; 37) - IDENT@[33; 37) "some" - COLONCOLON@[37; 39) "::" - USE_TREE_LIST@[39; 180) - L_CURLY@[39; 40) "{" - WHITESPACE@[40; 42) "\n " - USE_TREE@[42; 72) - PATH@[42; 53) - PATH@[42; 47) - PATH_SEGMENT@[42; 47) - NAME_REF@[42; 47) - IDENT@[42; 47) "other" - COLONCOLON@[47; 49) "::" - PATH_SEGMENT@[49; 53) - NAME_REF@[49; 53) - IDENT@[49; 53) "path" - WHITESPACE@[53; 54) " " - ALIAS@[54; 72) - AS_KW@[54; 56) "as" - WHITESPACE@[56; 57) " " - NAME@[57; 72) - IDENT@[57; 72) "some_other_name" - COMMA@[72; 73) "," - WHITESPACE@[73; 75) "\n " - USE_TREE@[75; 108) - PATH@[75; 90) - PATH@[75; 84) - PATH_SEGMENT@[75; 84) - NAME_REF@[75; 84) - IDENT@[75; 84) "different" - COLONCOLON@[84; 86) "::" - PATH_SEGMENT@[86; 90) - NAME_REF@[86; 90) - IDENT@[86; 90) "path" - WHITESPACE@[90; 91) " " - ALIAS@[91; 108) - AS_KW@[91; 93) "as" - WHITESPACE@[93; 94) " " - NAME@[94; 108) - IDENT@[94; 108) "different_name" - COMMA@[108; 109) "," - WHITESPACE@[109; 111) "\n " - USE_TREE@[111; 129) - PATH@[111; 129) - PATH@[111; 123) - PATH@[111; 114) - PATH_SEGMENT@[111; 114) - NAME_REF@[111; 114) - IDENT@[111; 114) "yet" - COLONCOLON@[114; 116) "::" - PATH_SEGMENT@[116; 123) - NAME_REF@[116; 123) - IDENT@[116; 123) "another" - COLONCOLON@[123; 125) "::" - PATH_SEGMENT@[125; 129) - NAME_REF@[125; 129) - IDENT@[125; 129) "path" - COMMA@[129; 130) "," - WHITESPACE@[130; 132) "\n " - USE_TREE@[132; 178) - PATH@[132; 175) - PATH@[132; 164) - PATH@[132; 158) - PATH@[132; 148) - PATH@[132; 144) - PATH@[132; 139) - PATH_SEGMENT@[132; 139) - NAME_REF@[132; 139) - IDENT@[132; 139) "running" - COLONCOLON@[139; 141) "::" - PATH_SEGMENT@[141; 144) - NAME_REF@[141; 144) - IDENT@[141; 144) "out" - COLONCOLON@[144; 146) "::" - PATH_SEGMENT@[146; 148) - NAME_REF@[146; 148) - IDENT@[146; 148) "of" - COLONCOLON@[148; 150) "::" - PATH_SEGMENT@[150; 158) - NAME_REF@[150; 158) - IDENT@[150; 158) "synonyms" - COLONCOLON@[158; 160) "::" - PATH_SEGMENT@[160; 164) - NAME_REF@[160; 164) - IDENT@[160; 164) "for_" - COLONCOLON@[164; 166) "::" - PATH_SEGMENT@[166; 175) - NAME_REF@[166; 175) - IDENT@[166; 175) "different" - COLONCOLON@[175; 177) "::" - STAR@[177; 178) "*" - WHITESPACE@[178; 179) "\n" - R_CURLY@[179; 180) "}" - SEMI@[180; 181) ";" - WHITESPACE@[181; 182) "\n" - USE_ITEM@[182; 197) - USE_KW@[182; 185) "use" - WHITESPACE@[185; 186) " " - USE_TREE@[186; 196) - PATH@[186; 191) - PATH_SEGMENT@[186; 191) - NAME_REF@[186; 191) - IDENT@[186; 191) "Trait" - WHITESPACE@[191; 192) " " - ALIAS@[192; 196) - AS_KW@[192; 194) "as" - WHITESPACE@[194; 195) " " - UNDERSCORE@[195; 196) "_" - SEMI@[196; 197) ";" - WHITESPACE@[197; 198) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast b/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast new file mode 100644 index 000000000..e75d569f0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast @@ -0,0 +1,30 @@ +SOURCE_FILE@[0; 21) + FN_DEF@[0; 20) + 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; 20) + BLOCK@[7; 20) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 9) " " + FN_DEF@[9; 18) + FN_KW@[9; 11) "fn" + WHITESPACE@[11; 12) " " + NAME@[12; 13) + IDENT@[12; 13) "b" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) + L_CURLY@[16; 17) "{" + R_CURLY@[17; 18) "}" + WHITESPACE@[18; 19) " " + R_CURLY@[19; 20) "}" + WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.txt b/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.txt deleted file mode 100644 index e75d569f0..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.txt +++ /dev/null @@ -1,30 +0,0 @@ -SOURCE_FILE@[0; 21) - FN_DEF@[0; 20) - 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; 20) - BLOCK@[7; 20) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 9) " " - FN_DEF@[9; 18) - FN_KW@[9; 11) "fn" - WHITESPACE@[11; 12) " " - NAME@[12; 13) - IDENT@[12; 13) "b" - PARAM_LIST@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 18) - BLOCK@[16; 18) - L_CURLY@[16; 17) "{" - R_CURLY@[17; 18) "}" - WHITESPACE@[18; 19) " " - R_CURLY@[19; 20) "}" - WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast new file mode 100644 index 000000000..33886154d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast @@ -0,0 +1,47 @@ +SOURCE_FILE@[0; 35) + FN_DEF@[0; 34) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 30) + L_ANGLE@[6; 7) "<" + TYPE_PARAM@[7; 29) + NAME@[7; 8) + IDENT@[7; 8) "F" + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " + TYPE_BOUND_LIST@[10; 29) + TYPE_BOUND@[10; 29) + PATH_TYPE@[10; 29) + PATH@[10; 29) + PATH_SEGMENT@[10; 29) + NAME_REF@[10; 15) + IDENT@[10; 15) "FnMut" + PARAM_LIST@[15; 29) + L_PAREN@[15; 16) "(" + PARAM@[16; 28) + REFERENCE_TYPE@[16; 28) + AMP@[16; 17) "&" + MUT_KW@[17; 20) "mut" + WHITESPACE@[20; 21) " " + PATH_TYPE@[21; 28) + PATH@[21; 28) + PATH_SEGMENT@[21; 28) + NAME_REF@[21; 24) + IDENT@[21; 24) "Foo" + TYPE_ARG_LIST@[24; 28) + L_ANGLE@[24; 25) "<" + LIFETIME_ARG@[25; 27) + LIFETIME@[25; 27) "\'a" + R_ANGLE@[27; 28) ">" + R_PAREN@[28; 29) ")" + R_ANGLE@[29; 30) ">" + PARAM_LIST@[30; 32) + L_PAREN@[30; 31) "(" + R_PAREN@[31; 32) ")" + BLOCK_EXPR@[32; 34) + BLOCK@[32; 34) + L_CURLY@[32; 33) "{" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.txt deleted file mode 100644 index 33886154d..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.txt +++ /dev/null @@ -1,47 +0,0 @@ -SOURCE_FILE@[0; 35) - FN_DEF@[0; 34) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - TYPE_PARAM_LIST@[6; 30) - L_ANGLE@[6; 7) "<" - TYPE_PARAM@[7; 29) - NAME@[7; 8) - IDENT@[7; 8) "F" - COLON@[8; 9) ":" - WHITESPACE@[9; 10) " " - TYPE_BOUND_LIST@[10; 29) - TYPE_BOUND@[10; 29) - PATH_TYPE@[10; 29) - PATH@[10; 29) - PATH_SEGMENT@[10; 29) - NAME_REF@[10; 15) - IDENT@[10; 15) "FnMut" - PARAM_LIST@[15; 29) - L_PAREN@[15; 16) "(" - PARAM@[16; 28) - REFERENCE_TYPE@[16; 28) - AMP@[16; 17) "&" - MUT_KW@[17; 20) "mut" - WHITESPACE@[20; 21) " " - PATH_TYPE@[21; 28) - PATH@[21; 28) - PATH_SEGMENT@[21; 28) - NAME_REF@[21; 24) - IDENT@[21; 24) "Foo" - TYPE_ARG_LIST@[24; 28) - L_ANGLE@[24; 25) "<" - LIFETIME_ARG@[25; 27) - LIFETIME@[25; 27) "\'a" - R_ANGLE@[27; 28) ">" - R_PAREN@[28; 29) ")" - R_ANGLE@[29; 30) ">" - PARAM_LIST@[30; 32) - L_PAREN@[30; 31) "(" - R_PAREN@[31; 32) ")" - BLOCK_EXPR@[32; 34) - BLOCK@[32; 34) - L_CURLY@[32; 33) "{" - R_CURLY@[33; 34) "}" - WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast new file mode 100644 index 000000000..c7b4e614d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast @@ -0,0 +1,20 @@ +SOURCE_FILE@[0; 17) + TYPE_ALIAS_DEF@[0; 16) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + TUPLE_TYPE@[9; 15) + L_PAREN@[9; 10) "(" + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + COMMA@[13; 14) "," + R_PAREN@[14; 15) ")" + SEMI@[15; 16) ";" + WHITESPACE@[16; 17) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.txt deleted file mode 100644 index c7b4e614d..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.txt +++ /dev/null @@ -1,20 +0,0 @@ -SOURCE_FILE@[0; 17) - TYPE_ALIAS_DEF@[0; 16) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - TUPLE_TYPE@[9; 15) - L_PAREN@[9; 10) "(" - PATH_TYPE@[10; 13) - PATH@[10; 13) - PATH_SEGMENT@[10; 13) - NAME_REF@[10; 13) - IDENT@[10; 13) "i32" - COMMA@[13; 14) "," - R_PAREN@[14; 15) ")" - SEMI@[15; 16) ";" - WHITESPACE@[16; 17) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast new file mode 100644 index 000000000..0a768a8e3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.rast @@ -0,0 +1,18 @@ +SOURCE_FILE@[0; 27) + IMPL_DEF@[0; 26) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + DEFAULT_KW@[7; 14) "default" + WHITESPACE@[14; 15) " " + IMPL_KW@[15; 19) "impl" + WHITESPACE@[19; 20) " " + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "Foo" + WHITESPACE@[23; 24) " " + ITEM_LIST@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.txt b/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.txt deleted file mode 100644 index 0a768a8e3..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0047_unsafe_default_impl.txt +++ /dev/null @@ -1,18 +0,0 @@ -SOURCE_FILE@[0; 27) - IMPL_DEF@[0; 26) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - DEFAULT_KW@[7; 14) "default" - WHITESPACE@[14; 15) " " - IMPL_KW@[15; 19) "impl" - WHITESPACE@[19; 20) " " - PATH_TYPE@[20; 23) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "Foo" - WHITESPACE@[23; 24) " " - ITEM_LIST@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast new file mode 100644 index 000000000..02f2a9db6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast @@ -0,0 +1,83 @@ +SOURCE_FILE@[0; 58) + FN_DEF@[0; 26) + 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; 23) + THIN_ARROW@[9; 11) "->" + WHITESPACE@[11; 12) " " + PATH_TYPE@[12; 23) + PATH@[12; 23) + PATH_SEGMENT@[12; 23) + NAME_REF@[12; 15) + IDENT@[12; 15) "Box" + TYPE_ARG_LIST@[15; 23) + L_ANGLE@[15; 16) "<" + TYPE_ARG@[16; 22) + DYN_TRAIT_TYPE@[16; 22) + TYPE_BOUND_LIST@[16; 22) + TYPE_BOUND@[16; 17) + PATH_TYPE@[16; 17) + PATH@[16; 17) + PATH_SEGMENT@[16; 17) + NAME_REF@[16; 17) + IDENT@[16; 17) "T" + WHITESPACE@[17; 18) " " + PLUS@[18; 19) "+" + WHITESPACE@[19; 20) " " + TYPE_BOUND@[20; 22) + LIFETIME@[20; 22) "\'f" + R_ANGLE@[22; 23) ">" + WHITESPACE@[23; 24) " " + BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) "\n" + FN_DEF@[27; 57) + FN_KW@[27; 29) "fn" + WHITESPACE@[29; 30) " " + NAME@[30; 33) + IDENT@[30; 33) "foo" + PARAM_LIST@[33; 35) + L_PAREN@[33; 34) "(" + R_PAREN@[34; 35) ")" + WHITESPACE@[35; 36) " " + RET_TYPE@[36; 54) + THIN_ARROW@[36; 38) "->" + WHITESPACE@[38; 39) " " + PATH_TYPE@[39; 54) + PATH@[39; 54) + PATH_SEGMENT@[39; 54) + NAME_REF@[39; 42) + IDENT@[39; 42) "Box" + TYPE_ARG_LIST@[42; 54) + L_ANGLE@[42; 43) "<" + TYPE_ARG@[43; 53) + DYN_TRAIT_TYPE@[43; 53) + DYN_KW@[43; 46) "dyn" + WHITESPACE@[46; 47) " " + TYPE_BOUND_LIST@[47; 53) + TYPE_BOUND@[47; 48) + PATH_TYPE@[47; 48) + PATH@[47; 48) + PATH_SEGMENT@[47; 48) + NAME_REF@[47; 48) + IDENT@[47; 48) "T" + WHITESPACE@[48; 49) " " + PLUS@[49; 50) "+" + WHITESPACE@[50; 51) " " + TYPE_BOUND@[51; 53) + LIFETIME@[51; 53) "\'f" + R_ANGLE@[53; 54) ">" + WHITESPACE@[54; 55) " " + BLOCK_EXPR@[55; 57) + BLOCK@[55; 57) + L_CURLY@[55; 56) "{" + R_CURLY@[56; 57) "}" + WHITESPACE@[57; 58) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.txt b/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.txt deleted file mode 100644 index 02f2a9db6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.txt +++ /dev/null @@ -1,83 +0,0 @@ -SOURCE_FILE@[0; 58) - FN_DEF@[0; 26) - 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; 23) - THIN_ARROW@[9; 11) "->" - WHITESPACE@[11; 12) " " - PATH_TYPE@[12; 23) - PATH@[12; 23) - PATH_SEGMENT@[12; 23) - NAME_REF@[12; 15) - IDENT@[12; 15) "Box" - TYPE_ARG_LIST@[15; 23) - L_ANGLE@[15; 16) "<" - TYPE_ARG@[16; 22) - DYN_TRAIT_TYPE@[16; 22) - TYPE_BOUND_LIST@[16; 22) - TYPE_BOUND@[16; 17) - PATH_TYPE@[16; 17) - PATH@[16; 17) - PATH_SEGMENT@[16; 17) - NAME_REF@[16; 17) - IDENT@[16; 17) "T" - WHITESPACE@[17; 18) " " - PLUS@[18; 19) "+" - WHITESPACE@[19; 20) " " - TYPE_BOUND@[20; 22) - LIFETIME@[20; 22) "\'f" - R_ANGLE@[22; 23) ">" - WHITESPACE@[23; 24) " " - BLOCK_EXPR@[24; 26) - BLOCK@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) "\n" - FN_DEF@[27; 57) - FN_KW@[27; 29) "fn" - WHITESPACE@[29; 30) " " - NAME@[30; 33) - IDENT@[30; 33) "foo" - PARAM_LIST@[33; 35) - L_PAREN@[33; 34) "(" - R_PAREN@[34; 35) ")" - WHITESPACE@[35; 36) " " - RET_TYPE@[36; 54) - THIN_ARROW@[36; 38) "->" - WHITESPACE@[38; 39) " " - PATH_TYPE@[39; 54) - PATH@[39; 54) - PATH_SEGMENT@[39; 54) - NAME_REF@[39; 42) - IDENT@[39; 42) "Box" - TYPE_ARG_LIST@[42; 54) - L_ANGLE@[42; 43) "<" - TYPE_ARG@[43; 53) - DYN_TRAIT_TYPE@[43; 53) - DYN_KW@[43; 46) "dyn" - WHITESPACE@[46; 47) " " - TYPE_BOUND_LIST@[47; 53) - TYPE_BOUND@[47; 48) - PATH_TYPE@[47; 48) - PATH@[47; 48) - PATH_SEGMENT@[47; 48) - NAME_REF@[47; 48) - IDENT@[47; 48) "T" - WHITESPACE@[48; 49) " " - PLUS@[49; 50) "+" - WHITESPACE@[50; 51) " " - TYPE_BOUND@[51; 53) - LIFETIME@[51; 53) "\'f" - R_ANGLE@[53; 54) ">" - WHITESPACE@[54; 55) " " - BLOCK_EXPR@[55; 57) - BLOCK@[55; 57) - L_CURLY@[55; 56) "{" - R_CURLY@[56; 57) "}" - WHITESPACE@[57; 58) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast new file mode 100644 index 000000000..19f961e29 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@[0; 22) + TRAIT_DEF@[0; 21) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "T" + WHITESPACE@[7; 8) " " + ITEM_LIST@[8; 21) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 10) " " + FN_DEF@[10; 19) + FN_KW@[10; 12) "fn" + WHITESPACE@[12; 13) " " + NAME@[13; 16) + IDENT@[13; 16) "foo" + PARAM_LIST@[16; 18) + L_PAREN@[16; 17) "(" + R_PAREN@[17; 18) ")" + SEMI@[18; 19) ";" + WHITESPACE@[19; 20) " " + R_CURLY@[20; 21) "}" + WHITESPACE@[21; 22) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.txt b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.txt deleted file mode 100644 index 19f961e29..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.txt +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@[0; 22) - TRAIT_DEF@[0; 21) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "T" - WHITESPACE@[7; 8) " " - ITEM_LIST@[8; 21) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 10) " " - FN_DEF@[10; 19) - FN_KW@[10; 12) "fn" - WHITESPACE@[12; 13) " " - NAME@[13; 16) - IDENT@[13; 16) "foo" - PARAM_LIST@[16; 18) - L_PAREN@[16; 17) "(" - R_PAREN@[17; 18) ")" - SEMI@[18; 19) ";" - WHITESPACE@[19; 20) " " - R_CURLY@[20; 21) "}" - WHITESPACE@[21; 22) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast new file mode 100644 index 000000000..6a469f8aa --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast @@ -0,0 +1,14 @@ +SOURCE_FILE@[0; 13) + TYPE_ALIAS_DEF@[0; 12) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + TUPLE_TYPE@[9; 11) + L_PAREN@[9; 10) "(" + R_PAREN@[10; 11) ")" + SEMI@[11; 12) ";" + WHITESPACE@[12; 13) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.txt deleted file mode 100644 index 6a469f8aa..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.txt +++ /dev/null @@ -1,14 +0,0 @@ -SOURCE_FILE@[0; 13) - TYPE_ALIAS_DEF@[0; 12) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - TUPLE_TYPE@[9; 11) - L_PAREN@[9; 10) "(" - R_PAREN@[10; 11) ")" - SEMI@[11; 12) ";" - WHITESPACE@[12; 13) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast new file mode 100644 index 000000000..ee55ee219 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast @@ -0,0 +1,70 @@ +SOURCE_FILE@[0; 71) + TYPE_ALIAS_DEF@[0; 13) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 12) + PATH@[9; 12) + PATH_SEGMENT@[9; 12) + NAME_REF@[9; 12) + IDENT@[9; 12) "Foo" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" + TYPE_ALIAS_DEF@[14; 29) + TYPE_KW@[14; 18) "type" + WHITESPACE@[18; 19) " " + NAME@[19; 20) + IDENT@[19; 20) "B" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + PATH_TYPE@[23; 28) + PATH@[23; 28) + PATH_SEGMENT@[23; 28) + COLONCOLON@[23; 25) "::" + NAME_REF@[25; 28) + IDENT@[25; 28) "Foo" + SEMI@[28; 29) ";" + WHITESPACE@[29; 30) "\n" + TYPE_ALIAS_DEF@[30; 49) + TYPE_KW@[30; 34) "type" + WHITESPACE@[34; 35) " " + NAME@[35; 36) + IDENT@[35; 36) "C" + WHITESPACE@[36; 37) " " + EQ@[37; 38) "=" + WHITESPACE@[38; 39) " " + PATH_TYPE@[39; 48) + PATH@[39; 48) + PATH@[39; 43) + PATH_SEGMENT@[39; 43) + SELF_KW@[39; 43) "self" + COLONCOLON@[43; 45) "::" + PATH_SEGMENT@[45; 48) + NAME_REF@[45; 48) + IDENT@[45; 48) "Foo" + SEMI@[48; 49) ";" + WHITESPACE@[49; 50) "\n" + TYPE_ALIAS_DEF@[50; 70) + TYPE_KW@[50; 54) "type" + WHITESPACE@[54; 55) " " + NAME@[55; 56) + IDENT@[55; 56) "D" + WHITESPACE@[56; 57) " " + EQ@[57; 58) "=" + WHITESPACE@[58; 59) " " + PATH_TYPE@[59; 69) + PATH@[59; 69) + PATH@[59; 64) + PATH_SEGMENT@[59; 64) + SUPER_KW@[59; 64) "super" + COLONCOLON@[64; 66) "::" + PATH_SEGMENT@[66; 69) + NAME_REF@[66; 69) + IDENT@[66; 69) "Foo" + SEMI@[69; 70) ";" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.txt deleted file mode 100644 index ee55ee219..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.txt +++ /dev/null @@ -1,70 +0,0 @@ -SOURCE_FILE@[0; 71) - TYPE_ALIAS_DEF@[0; 13) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 12) - PATH@[9; 12) - PATH_SEGMENT@[9; 12) - NAME_REF@[9; 12) - IDENT@[9; 12) "Foo" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) "\n" - TYPE_ALIAS_DEF@[14; 29) - TYPE_KW@[14; 18) "type" - WHITESPACE@[18; 19) " " - NAME@[19; 20) - IDENT@[19; 20) "B" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - PATH_TYPE@[23; 28) - PATH@[23; 28) - PATH_SEGMENT@[23; 28) - COLONCOLON@[23; 25) "::" - NAME_REF@[25; 28) - IDENT@[25; 28) "Foo" - SEMI@[28; 29) ";" - WHITESPACE@[29; 30) "\n" - TYPE_ALIAS_DEF@[30; 49) - TYPE_KW@[30; 34) "type" - WHITESPACE@[34; 35) " " - NAME@[35; 36) - IDENT@[35; 36) "C" - WHITESPACE@[36; 37) " " - EQ@[37; 38) "=" - WHITESPACE@[38; 39) " " - PATH_TYPE@[39; 48) - PATH@[39; 48) - PATH@[39; 43) - PATH_SEGMENT@[39; 43) - SELF_KW@[39; 43) "self" - COLONCOLON@[43; 45) "::" - PATH_SEGMENT@[45; 48) - NAME_REF@[45; 48) - IDENT@[45; 48) "Foo" - SEMI@[48; 49) ";" - WHITESPACE@[49; 50) "\n" - TYPE_ALIAS_DEF@[50; 70) - TYPE_KW@[50; 54) "type" - WHITESPACE@[54; 55) " " - NAME@[55; 56) - IDENT@[55; 56) "D" - WHITESPACE@[56; 57) " " - EQ@[57; 58) "=" - WHITESPACE@[58; 59) " " - PATH_TYPE@[59; 69) - PATH@[59; 69) - PATH@[59; 64) - PATH_SEGMENT@[59; 64) - SUPER_KW@[59; 64) "super" - COLONCOLON@[64; 66) "::" - PATH_SEGMENT@[66; 69) - NAME_REF@[66; 69) - IDENT@[66; 69) "Foo" - SEMI@[69; 70) ";" - WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast new file mode 100644 index 000000000..f1018fcab --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast @@ -0,0 +1,96 @@ +SOURCE_FILE@[0; 91) + FN_DEF@[0; 90) + 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; 90) + BLOCK@[9; 90) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 25) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + PATH_EXPR@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "a" + SEMI@[24; 25) ";" + WHITESPACE@[25; 30) "\n " + LET_STMT@[30; 43) + LET_KW@[30; 33) "let" + WHITESPACE@[33; 34) " " + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) "_" + WHITESPACE@[35; 36) " " + EQ@[36; 37) "=" + WHITESPACE@[37; 38) " " + PATH_EXPR@[38; 42) + PATH@[38; 42) + PATH@[38; 39) + PATH_SEGMENT@[38; 39) + NAME_REF@[38; 39) + IDENT@[38; 39) "a" + COLONCOLON@[39; 41) "::" + PATH_SEGMENT@[41; 42) + NAME_REF@[41; 42) + IDENT@[41; 42) "b" + SEMI@[42; 43) ";" + WHITESPACE@[43; 48) "\n " + LET_STMT@[48; 65) + LET_KW@[48; 51) "let" + WHITESPACE@[51; 52) " " + PLACEHOLDER_PAT@[52; 53) + UNDERSCORE@[52; 53) "_" + WHITESPACE@[53; 54) " " + EQ@[54; 55) "=" + WHITESPACE@[55; 56) " " + PATH_EXPR@[56; 64) + PATH@[56; 64) + PATH_SEGMENT@[56; 64) + COLONCOLON@[56; 58) "::" + NAME_REF@[58; 59) + IDENT@[58; 59) "a" + TYPE_ARG_LIST@[59; 64) + COLONCOLON@[59; 61) "::" + L_ANGLE@[61; 62) "<" + TYPE_ARG@[62; 63) + PATH_TYPE@[62; 63) + PATH@[62; 63) + PATH_SEGMENT@[62; 63) + NAME_REF@[62; 63) + IDENT@[62; 63) "b" + R_ANGLE@[63; 64) ">" + SEMI@[64; 65) ";" + WHITESPACE@[65; 70) "\n " + LET_STMT@[70; 88) + LET_KW@[70; 73) "let" + WHITESPACE@[73; 74) " " + PLACEHOLDER_PAT@[74; 75) + UNDERSCORE@[74; 75) "_" + WHITESPACE@[75; 76) " " + EQ@[76; 77) "=" + WHITESPACE@[77; 78) " " + MACRO_CALL@[78; 87) + PATH@[78; 84) + PATH_SEGMENT@[78; 84) + NAME_REF@[78; 84) + IDENT@[78; 84) "format" + EXCL@[84; 85) "!" + TOKEN_TREE@[85; 87) + L_PAREN@[85; 86) "(" + R_PAREN@[86; 87) ")" + SEMI@[87; 88) ";" + WHITESPACE@[88; 89) "\n" + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 91) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.txt deleted file mode 100644 index f1018fcab..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.txt +++ /dev/null @@ -1,96 +0,0 @@ -SOURCE_FILE@[0; 91) - FN_DEF@[0; 90) - 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; 90) - BLOCK@[9; 90) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 25) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - PATH_EXPR@[23; 24) - PATH@[23; 24) - PATH_SEGMENT@[23; 24) - NAME_REF@[23; 24) - IDENT@[23; 24) "a" - SEMI@[24; 25) ";" - WHITESPACE@[25; 30) "\n " - LET_STMT@[30; 43) - LET_KW@[30; 33) "let" - WHITESPACE@[33; 34) " " - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) "_" - WHITESPACE@[35; 36) " " - EQ@[36; 37) "=" - WHITESPACE@[37; 38) " " - PATH_EXPR@[38; 42) - PATH@[38; 42) - PATH@[38; 39) - PATH_SEGMENT@[38; 39) - NAME_REF@[38; 39) - IDENT@[38; 39) "a" - COLONCOLON@[39; 41) "::" - PATH_SEGMENT@[41; 42) - NAME_REF@[41; 42) - IDENT@[41; 42) "b" - SEMI@[42; 43) ";" - WHITESPACE@[43; 48) "\n " - LET_STMT@[48; 65) - LET_KW@[48; 51) "let" - WHITESPACE@[51; 52) " " - PLACEHOLDER_PAT@[52; 53) - UNDERSCORE@[52; 53) "_" - WHITESPACE@[53; 54) " " - EQ@[54; 55) "=" - WHITESPACE@[55; 56) " " - PATH_EXPR@[56; 64) - PATH@[56; 64) - PATH_SEGMENT@[56; 64) - COLONCOLON@[56; 58) "::" - NAME_REF@[58; 59) - IDENT@[58; 59) "a" - TYPE_ARG_LIST@[59; 64) - COLONCOLON@[59; 61) "::" - L_ANGLE@[61; 62) "<" - TYPE_ARG@[62; 63) - PATH_TYPE@[62; 63) - PATH@[62; 63) - PATH_SEGMENT@[62; 63) - NAME_REF@[62; 63) - IDENT@[62; 63) "b" - R_ANGLE@[63; 64) ">" - SEMI@[64; 65) ";" - WHITESPACE@[65; 70) "\n " - LET_STMT@[70; 88) - LET_KW@[70; 73) "let" - WHITESPACE@[73; 74) " " - PLACEHOLDER_PAT@[74; 75) - UNDERSCORE@[74; 75) "_" - WHITESPACE@[75; 76) " " - EQ@[76; 77) "=" - WHITESPACE@[77; 78) " " - MACRO_CALL@[78; 87) - PATH@[78; 84) - PATH_SEGMENT@[78; 84) - NAME_REF@[78; 84) - IDENT@[78; 84) "format" - EXCL@[84; 85) "!" - TOKEN_TREE@[85; 87) - L_PAREN@[85; 86) "(" - R_PAREN@[86; 87) ")" - SEMI@[87; 88) ";" - WHITESPACE@[88; 89) "\n" - R_CURLY@[89; 90) "}" - WHITESPACE@[90; 91) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast new file mode 100644 index 000000000..731c31f76 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast @@ -0,0 +1,44 @@ +SOURCE_FILE@[0; 64) + STRUCT_DEF@[0; 63) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 63) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 60) + ATTR@[15; 43) + POUND@[15; 16) "#" + L_BRACK@[16; 17) "[" + PATH@[17; 22) + PATH_SEGMENT@[17; 22) + NAME_REF@[17; 22) + IDENT@[17; 22) "serde" + TOKEN_TREE@[22; 42) + L_PAREN@[22; 23) "(" + IDENT@[23; 27) "with" + WHITESPACE@[27; 28) " " + EQ@[28; 29) "=" + WHITESPACE@[29; 30) " " + STRING@[30; 41) "\"url_serde\"" + R_PAREN@[41; 42) ")" + R_BRACK@[42; 43) "]" + WHITESPACE@[43; 48) "\n " + VISIBILITY@[48; 51) + PUB_KW@[48; 51) "pub" + WHITESPACE@[51; 52) " " + NAME@[52; 55) + IDENT@[52; 55) "uri" + COLON@[55; 56) ":" + WHITESPACE@[56; 57) " " + PATH_TYPE@[57; 60) + PATH@[57; 60) + PATH_SEGMENT@[57; 60) + NAME_REF@[57; 60) + IDENT@[57; 60) "Uri" + COMMA@[60; 61) "," + WHITESPACE@[61; 62) "\n" + R_CURLY@[62; 63) "}" + WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.txt b/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.txt deleted file mode 100644 index 731c31f76..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0054_record_field_attrs.txt +++ /dev/null @@ -1,44 +0,0 @@ -SOURCE_FILE@[0; 64) - STRUCT_DEF@[0; 63) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 63) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 60) - ATTR@[15; 43) - POUND@[15; 16) "#" - L_BRACK@[16; 17) "[" - PATH@[17; 22) - PATH_SEGMENT@[17; 22) - NAME_REF@[17; 22) - IDENT@[17; 22) "serde" - TOKEN_TREE@[22; 42) - L_PAREN@[22; 23) "(" - IDENT@[23; 27) "with" - WHITESPACE@[27; 28) " " - EQ@[28; 29) "=" - WHITESPACE@[29; 30) " " - STRING@[30; 41) "\"url_serde\"" - R_PAREN@[41; 42) ")" - R_BRACK@[42; 43) "]" - WHITESPACE@[43; 48) "\n " - VISIBILITY@[48; 51) - PUB_KW@[48; 51) "pub" - WHITESPACE@[51; 52) " " - NAME@[52; 55) - IDENT@[52; 55) "uri" - COLON@[55; 56) ":" - WHITESPACE@[56; 57) " " - PATH_TYPE@[57; 60) - PATH@[57; 60) - PATH_SEGMENT@[57; 60) - NAME_REF@[57; 60) - IDENT@[57; 60) "Uri" - COMMA@[60; 61) "," - WHITESPACE@[61; 62) "\n" - R_CURLY@[62; 63) "}" - WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast b/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast new file mode 100644 index 000000000..2b28cec67 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast @@ -0,0 +1,77 @@ +SOURCE_FILE@[0; 113) + FN_DEF@[0; 112) + 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; 112) + BLOCK@[10; 112) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + MATCH_EXPR@[16; 110) + MATCH_KW@[16; 21) "match" + WHITESPACE@[21; 22) " " + TUPLE_EXPR@[22; 24) + L_PAREN@[22; 23) "(" + R_PAREN@[23; 24) ")" + WHITESPACE@[24; 25) " " + MATCH_ARM_LIST@[25; 110) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 35) "\n " + MATCH_ARM@[35; 43) + LITERAL_PAT@[35; 37) + MINUS@[35; 36) "-" + LITERAL@[36; 37) + INT_NUMBER@[36; 37) "1" + WHITESPACE@[37; 38) " " + FAT_ARROW@[38; 40) "=>" + WHITESPACE@[40; 41) " " + TUPLE_EXPR@[41; 43) + L_PAREN@[41; 42) "(" + R_PAREN@[42; 43) ")" + COMMA@[43; 44) "," + WHITESPACE@[44; 53) "\n " + MATCH_ARM@[53; 61) + LITERAL_PAT@[53; 55) + LITERAL@[53; 55) + INT_NUMBER@[53; 55) "92" + WHITESPACE@[55; 56) " " + FAT_ARROW@[56; 58) "=>" + WHITESPACE@[58; 59) " " + TUPLE_EXPR@[59; 61) + L_PAREN@[59; 60) "(" + R_PAREN@[60; 61) ")" + COMMA@[61; 62) "," + WHITESPACE@[62; 71) "\n " + MATCH_ARM@[71; 80) + LITERAL_PAT@[71; 74) + LITERAL@[71; 74) + CHAR@[71; 74) "\'c\'" + WHITESPACE@[74; 75) " " + FAT_ARROW@[75; 77) "=>" + WHITESPACE@[77; 78) " " + TUPLE_EXPR@[78; 80) + L_PAREN@[78; 79) "(" + R_PAREN@[79; 80) ")" + COMMA@[80; 81) "," + WHITESPACE@[81; 90) "\n " + MATCH_ARM@[90; 103) + LITERAL_PAT@[90; 97) + LITERAL@[90; 97) + STRING@[90; 97) "\"hello\"" + WHITESPACE@[97; 98) " " + FAT_ARROW@[98; 100) "=>" + WHITESPACE@[100; 101) " " + TUPLE_EXPR@[101; 103) + L_PAREN@[101; 102) "(" + R_PAREN@[102; 103) ")" + COMMA@[103; 104) "," + WHITESPACE@[104; 109) "\n " + R_CURLY@[109; 110) "}" + WHITESPACE@[110; 111) "\n" + R_CURLY@[111; 112) "}" + WHITESPACE@[112; 113) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.txt b/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.txt deleted file mode 100644 index 2b28cec67..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.txt +++ /dev/null @@ -1,77 +0,0 @@ -SOURCE_FILE@[0; 113) - FN_DEF@[0; 112) - 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; 112) - BLOCK@[10; 112) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - MATCH_EXPR@[16; 110) - MATCH_KW@[16; 21) "match" - WHITESPACE@[21; 22) " " - TUPLE_EXPR@[22; 24) - L_PAREN@[22; 23) "(" - R_PAREN@[23; 24) ")" - WHITESPACE@[24; 25) " " - MATCH_ARM_LIST@[25; 110) - L_CURLY@[25; 26) "{" - WHITESPACE@[26; 35) "\n " - MATCH_ARM@[35; 43) - LITERAL_PAT@[35; 37) - MINUS@[35; 36) "-" - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "1" - WHITESPACE@[37; 38) " " - FAT_ARROW@[38; 40) "=>" - WHITESPACE@[40; 41) " " - TUPLE_EXPR@[41; 43) - L_PAREN@[41; 42) "(" - R_PAREN@[42; 43) ")" - COMMA@[43; 44) "," - WHITESPACE@[44; 53) "\n " - MATCH_ARM@[53; 61) - LITERAL_PAT@[53; 55) - LITERAL@[53; 55) - INT_NUMBER@[53; 55) "92" - WHITESPACE@[55; 56) " " - FAT_ARROW@[56; 58) "=>" - WHITESPACE@[58; 59) " " - TUPLE_EXPR@[59; 61) - L_PAREN@[59; 60) "(" - R_PAREN@[60; 61) ")" - COMMA@[61; 62) "," - WHITESPACE@[62; 71) "\n " - MATCH_ARM@[71; 80) - LITERAL_PAT@[71; 74) - LITERAL@[71; 74) - CHAR@[71; 74) "\'c\'" - WHITESPACE@[74; 75) " " - FAT_ARROW@[75; 77) "=>" - WHITESPACE@[77; 78) " " - TUPLE_EXPR@[78; 80) - L_PAREN@[78; 79) "(" - R_PAREN@[79; 80) ")" - COMMA@[80; 81) "," - WHITESPACE@[81; 90) "\n " - MATCH_ARM@[90; 103) - LITERAL_PAT@[90; 97) - LITERAL@[90; 97) - STRING@[90; 97) "\"hello\"" - WHITESPACE@[97; 98) " " - FAT_ARROW@[98; 100) "=>" - WHITESPACE@[100; 101) " " - TUPLE_EXPR@[101; 103) - L_PAREN@[101; 102) "(" - R_PAREN@[102; 103) ")" - COMMA@[103; 104) "," - WHITESPACE@[104; 109) "\n " - R_CURLY@[109; 110) "}" - WHITESPACE@[110; 111) "\n" - R_CURLY@[111; 112) "}" - WHITESPACE@[112; 113) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast new file mode 100644 index 000000000..9a9a13370 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast @@ -0,0 +1,111 @@ +SOURCE_FILE@[0; 116) + FN_DEF@[0; 115) + 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) "\n" + WHERE_CLAUSE@[9; 112) + WHERE_KW@[9; 14) "where" + WHITESPACE@[14; 18) "\n " + WHERE_PRED@[18; 29) + LIFETIME@[18; 20) "\'a" + COLON@[20; 21) ":" + WHITESPACE@[21; 22) " " + TYPE_BOUND_LIST@[22; 29) + TYPE_BOUND@[22; 24) + LIFETIME@[22; 24) "\'b" + WHITESPACE@[24; 25) " " + PLUS@[25; 26) "+" + WHITESPACE@[26; 27) " " + TYPE_BOUND@[27; 29) + LIFETIME@[27; 29) "\'c" + COMMA@[29; 30) "," + WHITESPACE@[30; 34) "\n " + WHERE_PRED@[34; 59) + PATH_TYPE@[34; 35) + PATH@[34; 35) + PATH_SEGMENT@[34; 35) + NAME_REF@[34; 35) + IDENT@[34; 35) "T" + COLON@[35; 36) ":" + WHITESPACE@[36; 37) " " + TYPE_BOUND_LIST@[37; 59) + TYPE_BOUND@[37; 42) + PATH_TYPE@[37; 42) + PATH@[37; 42) + PATH_SEGMENT@[37; 42) + NAME_REF@[37; 42) + IDENT@[37; 42) "Clone" + WHITESPACE@[42; 43) " " + PLUS@[43; 44) "+" + WHITESPACE@[44; 45) " " + TYPE_BOUND@[45; 49) + PATH_TYPE@[45; 49) + PATH@[45; 49) + PATH_SEGMENT@[45; 49) + NAME_REF@[45; 49) + IDENT@[45; 49) "Copy" + WHITESPACE@[49; 50) " " + PLUS@[50; 51) "+" + WHITESPACE@[51; 52) " " + TYPE_BOUND@[52; 59) + LIFETIME@[52; 59) "\'static" + COMMA@[59; 60) "," + WHITESPACE@[60; 64) "\n " + WHERE_PRED@[64; 82) + PATH_TYPE@[64; 78) + PATH@[64; 78) + PATH@[64; 72) + PATH_SEGMENT@[64; 72) + NAME_REF@[64; 72) + IDENT@[64; 72) "Iterator" + COLONCOLON@[72; 74) "::" + PATH_SEGMENT@[74; 78) + NAME_REF@[74; 78) + IDENT@[74; 78) "Item" + COLON@[78; 79) ":" + WHITESPACE@[79; 80) " " + TYPE_BOUND_LIST@[80; 82) + TYPE_BOUND@[80; 82) + LIFETIME@[80; 82) "\'a" + COMMA@[82; 83) "," + WHITESPACE@[83; 87) "\n " + WHERE_PRED@[87; 112) + PATH_TYPE@[87; 108) + PATH@[87; 108) + PATH@[87; 102) + PATH_SEGMENT@[87; 102) + L_ANGLE@[87; 88) "<" + PATH_TYPE@[88; 89) + PATH@[88; 89) + PATH_SEGMENT@[88; 89) + NAME_REF@[88; 89) + IDENT@[88; 89) "T" + WHITESPACE@[89; 90) " " + AS_KW@[90; 92) "as" + WHITESPACE@[92; 93) " " + PATH_TYPE@[93; 101) + PATH@[93; 101) + PATH_SEGMENT@[93; 101) + NAME_REF@[93; 101) + IDENT@[93; 101) "Iterator" + R_ANGLE@[101; 102) ">" + COLONCOLON@[102; 104) "::" + PATH_SEGMENT@[104; 108) + NAME_REF@[104; 108) + IDENT@[104; 108) "Item" + COLON@[108; 109) ":" + WHITESPACE@[109; 110) " " + TYPE_BOUND_LIST@[110; 112) + TYPE_BOUND@[110; 112) + LIFETIME@[110; 112) "\'a" + WHITESPACE@[112; 113) "\n" + BLOCK_EXPR@[113; 115) + BLOCK@[113; 115) + L_CURLY@[113; 114) "{" + R_CURLY@[114; 115) "}" + WHITESPACE@[115; 116) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.txt b/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.txt deleted file mode 100644 index 9a9a13370..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.txt +++ /dev/null @@ -1,111 +0,0 @@ -SOURCE_FILE@[0; 116) - FN_DEF@[0; 115) - 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) "\n" - WHERE_CLAUSE@[9; 112) - WHERE_KW@[9; 14) "where" - WHITESPACE@[14; 18) "\n " - WHERE_PRED@[18; 29) - LIFETIME@[18; 20) "\'a" - COLON@[20; 21) ":" - WHITESPACE@[21; 22) " " - TYPE_BOUND_LIST@[22; 29) - TYPE_BOUND@[22; 24) - LIFETIME@[22; 24) "\'b" - WHITESPACE@[24; 25) " " - PLUS@[25; 26) "+" - WHITESPACE@[26; 27) " " - TYPE_BOUND@[27; 29) - LIFETIME@[27; 29) "\'c" - COMMA@[29; 30) "," - WHITESPACE@[30; 34) "\n " - WHERE_PRED@[34; 59) - PATH_TYPE@[34; 35) - PATH@[34; 35) - PATH_SEGMENT@[34; 35) - NAME_REF@[34; 35) - IDENT@[34; 35) "T" - COLON@[35; 36) ":" - WHITESPACE@[36; 37) " " - TYPE_BOUND_LIST@[37; 59) - TYPE_BOUND@[37; 42) - PATH_TYPE@[37; 42) - PATH@[37; 42) - PATH_SEGMENT@[37; 42) - NAME_REF@[37; 42) - IDENT@[37; 42) "Clone" - WHITESPACE@[42; 43) " " - PLUS@[43; 44) "+" - WHITESPACE@[44; 45) " " - TYPE_BOUND@[45; 49) - PATH_TYPE@[45; 49) - PATH@[45; 49) - PATH_SEGMENT@[45; 49) - NAME_REF@[45; 49) - IDENT@[45; 49) "Copy" - WHITESPACE@[49; 50) " " - PLUS@[50; 51) "+" - WHITESPACE@[51; 52) " " - TYPE_BOUND@[52; 59) - LIFETIME@[52; 59) "\'static" - COMMA@[59; 60) "," - WHITESPACE@[60; 64) "\n " - WHERE_PRED@[64; 82) - PATH_TYPE@[64; 78) - PATH@[64; 78) - PATH@[64; 72) - PATH_SEGMENT@[64; 72) - NAME_REF@[64; 72) - IDENT@[64; 72) "Iterator" - COLONCOLON@[72; 74) "::" - PATH_SEGMENT@[74; 78) - NAME_REF@[74; 78) - IDENT@[74; 78) "Item" - COLON@[78; 79) ":" - WHITESPACE@[79; 80) " " - TYPE_BOUND_LIST@[80; 82) - TYPE_BOUND@[80; 82) - LIFETIME@[80; 82) "\'a" - COMMA@[82; 83) "," - WHITESPACE@[83; 87) "\n " - WHERE_PRED@[87; 112) - PATH_TYPE@[87; 108) - PATH@[87; 108) - PATH@[87; 102) - PATH_SEGMENT@[87; 102) - L_ANGLE@[87; 88) "<" - PATH_TYPE@[88; 89) - PATH@[88; 89) - PATH_SEGMENT@[88; 89) - NAME_REF@[88; 89) - IDENT@[88; 89) "T" - WHITESPACE@[89; 90) " " - AS_KW@[90; 92) "as" - WHITESPACE@[92; 93) " " - PATH_TYPE@[93; 101) - PATH@[93; 101) - PATH_SEGMENT@[93; 101) - NAME_REF@[93; 101) - IDENT@[93; 101) "Iterator" - R_ANGLE@[101; 102) ">" - COLONCOLON@[102; 104) "::" - PATH_SEGMENT@[104; 108) - NAME_REF@[104; 108) - IDENT@[104; 108) "Item" - COLON@[108; 109) ":" - WHITESPACE@[109; 110) " " - TYPE_BOUND_LIST@[110; 112) - TYPE_BOUND@[110; 112) - LIFETIME@[110; 112) "\'a" - WHITESPACE@[112; 113) "\n" - BLOCK_EXPR@[113; 115) - BLOCK@[113; 115) - L_CURLY@[113; 114) "{" - R_CURLY@[114; 115) "}" - WHITESPACE@[115; 116) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast new file mode 100644 index 000000000..9788197be --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 18) + FN_DEF@[0; 17) + CONST_KW@[0; 5) "const" + WHITESPACE@[5; 6) " " + FN_KW@[6; 8) "fn" + WHITESPACE@[8; 9) " " + NAME@[9; 12) + IDENT@[9; 12) "foo" + PARAM_LIST@[12; 14) + L_PAREN@[12; 13) "(" + R_PAREN@[13; 14) ")" + WHITESPACE@[14; 15) " " + BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) "{" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.txt deleted file mode 100644 index 9788197be..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 18) - FN_DEF@[0; 17) - CONST_KW@[0; 5) "const" - WHITESPACE@[5; 6) " " - FN_KW@[6; 8) "fn" - WHITESPACE@[8; 9) " " - NAME@[9; 12) - IDENT@[9; 12) "foo" - PARAM_LIST@[12; 14) - L_PAREN@[12; 13) "(" - R_PAREN@[13; 14) ")" - WHITESPACE@[14; 15) " " - BLOCK_EXPR@[15; 17) - BLOCK@[15; 17) - L_CURLY@[15; 16) "{" - R_CURLY@[16; 17) "}" - WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast new file mode 100644 index 000000000..3d659ce10 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast @@ -0,0 +1,83 @@ +SOURCE_FILE@[0; 112) + FN_DEF@[0; 111) + 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; 111) + BLOCK@[10; 111) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + MATCH_EXPR@[16; 109) + MATCH_KW@[16; 21) "match" + WHITESPACE@[21; 22) " " + LITERAL@[22; 24) + INT_NUMBER@[22; 24) "92" + WHITESPACE@[24; 25) " " + MATCH_ARM_LIST@[25; 109) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 35) "\n " + MATCH_ARM@[35; 50) + RANGE_PAT@[35; 44) + LITERAL_PAT@[35; 36) + LITERAL@[35; 36) + INT_NUMBER@[35; 36) "0" + WHITESPACE@[36; 37) " " + DOTDOTDOT@[37; 40) "..." + WHITESPACE@[40; 41) " " + LITERAL_PAT@[41; 44) + LITERAL@[41; 44) + INT_NUMBER@[41; 44) "100" + WHITESPACE@[44; 45) " " + FAT_ARROW@[45; 47) "=>" + WHITESPACE@[47; 48) " " + TUPLE_EXPR@[48; 50) + L_PAREN@[48; 49) "(" + R_PAREN@[49; 50) ")" + COMMA@[50; 51) "," + WHITESPACE@[51; 60) "\n " + MATCH_ARM@[60; 77) + RANGE_PAT@[60; 71) + LITERAL_PAT@[60; 63) + LITERAL@[60; 63) + INT_NUMBER@[60; 63) "101" + WHITESPACE@[63; 64) " " + DOTDOTEQ@[64; 67) "..=" + WHITESPACE@[67; 68) " " + LITERAL_PAT@[68; 71) + LITERAL@[68; 71) + INT_NUMBER@[68; 71) "200" + WHITESPACE@[71; 72) " " + FAT_ARROW@[72; 74) "=>" + WHITESPACE@[74; 75) " " + TUPLE_EXPR@[75; 77) + L_PAREN@[75; 76) "(" + R_PAREN@[76; 77) ")" + COMMA@[77; 78) "," + WHITESPACE@[78; 87) "\n " + MATCH_ARM@[87; 102) + RANGE_PAT@[87; 97) + LITERAL_PAT@[87; 90) + LITERAL@[87; 90) + INT_NUMBER@[87; 90) "200" + WHITESPACE@[90; 91) " " + DOTDOT@[91; 93) ".." + WHITESPACE@[93; 94) " " + LITERAL_PAT@[94; 97) + LITERAL@[94; 97) + INT_NUMBER@[94; 97) "301" + FAT_ARROW@[97; 99) "=>" + WHITESPACE@[99; 100) " " + TUPLE_EXPR@[100; 102) + L_PAREN@[100; 101) "(" + R_PAREN@[101; 102) ")" + COMMA@[102; 103) "," + WHITESPACE@[103; 108) "\n " + R_CURLY@[108; 109) "}" + WHITESPACE@[109; 110) "\n" + R_CURLY@[110; 111) "}" + WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.txt deleted file mode 100644 index 3d659ce10..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.txt +++ /dev/null @@ -1,83 +0,0 @@ -SOURCE_FILE@[0; 112) - FN_DEF@[0; 111) - 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; 111) - BLOCK@[10; 111) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - MATCH_EXPR@[16; 109) - MATCH_KW@[16; 21) "match" - WHITESPACE@[21; 22) " " - LITERAL@[22; 24) - INT_NUMBER@[22; 24) "92" - WHITESPACE@[24; 25) " " - MATCH_ARM_LIST@[25; 109) - L_CURLY@[25; 26) "{" - WHITESPACE@[26; 35) "\n " - MATCH_ARM@[35; 50) - RANGE_PAT@[35; 44) - LITERAL_PAT@[35; 36) - LITERAL@[35; 36) - INT_NUMBER@[35; 36) "0" - WHITESPACE@[36; 37) " " - DOTDOTDOT@[37; 40) "..." - WHITESPACE@[40; 41) " " - LITERAL_PAT@[41; 44) - LITERAL@[41; 44) - INT_NUMBER@[41; 44) "100" - WHITESPACE@[44; 45) " " - FAT_ARROW@[45; 47) "=>" - WHITESPACE@[47; 48) " " - TUPLE_EXPR@[48; 50) - L_PAREN@[48; 49) "(" - R_PAREN@[49; 50) ")" - COMMA@[50; 51) "," - WHITESPACE@[51; 60) "\n " - MATCH_ARM@[60; 77) - RANGE_PAT@[60; 71) - LITERAL_PAT@[60; 63) - LITERAL@[60; 63) - INT_NUMBER@[60; 63) "101" - WHITESPACE@[63; 64) " " - DOTDOTEQ@[64; 67) "..=" - WHITESPACE@[67; 68) " " - LITERAL_PAT@[68; 71) - LITERAL@[68; 71) - INT_NUMBER@[68; 71) "200" - WHITESPACE@[71; 72) " " - FAT_ARROW@[72; 74) "=>" - WHITESPACE@[74; 75) " " - TUPLE_EXPR@[75; 77) - L_PAREN@[75; 76) "(" - R_PAREN@[76; 77) ")" - COMMA@[77; 78) "," - WHITESPACE@[78; 87) "\n " - MATCH_ARM@[87; 102) - RANGE_PAT@[87; 97) - LITERAL_PAT@[87; 90) - LITERAL@[87; 90) - INT_NUMBER@[87; 90) "200" - WHITESPACE@[90; 91) " " - DOTDOT@[91; 93) ".." - WHITESPACE@[93; 94) " " - LITERAL_PAT@[94; 97) - LITERAL@[94; 97) - INT_NUMBER@[94; 97) "301" - FAT_ARROW@[97; 99) "=>" - WHITESPACE@[99; 100) " " - TUPLE_EXPR@[100; 102) - L_PAREN@[100; 101) "(" - R_PAREN@[101; 102) ")" - COMMA@[102; 103) "," - WHITESPACE@[103; 108) "\n " - R_CURLY@[108; 109) "}" - WHITESPACE@[109; 110) "\n" - R_CURLY@[110; 111) "}" - WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast b/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast new file mode 100644 index 000000000..efcd89c4c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast @@ -0,0 +1,60 @@ +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) " " + BLOCK_EXPR@[9; 82) + BLOCK@[9; 82) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + MATCH_EXPR@[15; 80) + 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; 80) + 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) " " + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) "{" + R_CURLY@[57; 58) "}" + WHITESPACE@[58; 67) "\n " + MATCH_ARM@[67; 74) + PLACEHOLDER_PAT@[67; 68) + UNDERSCORE@[67; 68) "_" + WHITESPACE@[68; 69) " " + FAT_ARROW@[69; 71) "=>" + WHITESPACE@[71; 72) " " + TUPLE_EXPR@[72; 74) + L_PAREN@[72; 73) "(" + R_PAREN@[73; 74) ")" + WHITESPACE@[74; 79) "\n " + R_CURLY@[79; 80) "}" + WHITESPACE@[80; 81) "\n" + R_CURLY@[81; 82) "}" + WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.txt b/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.txt deleted file mode 100644 index efcd89c4c..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.txt +++ /dev/null @@ -1,60 +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) " " - BLOCK_EXPR@[9; 82) - BLOCK@[9; 82) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - MATCH_EXPR@[15; 80) - 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; 80) - 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) " " - BLOCK_EXPR@[56; 58) - BLOCK@[56; 58) - L_CURLY@[56; 57) "{" - R_CURLY@[57; 58) "}" - WHITESPACE@[58; 67) "\n " - MATCH_ARM@[67; 74) - PLACEHOLDER_PAT@[67; 68) - UNDERSCORE@[67; 68) "_" - WHITESPACE@[68; 69) " " - FAT_ARROW@[69; 71) "=>" - WHITESPACE@[71; 72) " " - TUPLE_EXPR@[72; 74) - L_PAREN@[72; 73) "(" - R_PAREN@[73; 74) ")" - WHITESPACE@[74; 79) "\n " - R_CURLY@[79; 80) "}" - WHITESPACE@[80; 81) "\n" - R_CURLY@[81; 82) "}" - WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast b/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast new file mode 100644 index 000000000..7667201ba --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast @@ -0,0 +1,10 @@ +SOURCE_FILE@[0; 18) + EXTERN_CRATE_ITEM@[0; 17) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + CRATE_KW@[7; 12) "crate" + WHITESPACE@[12; 13) " " + NAME_REF@[13; 16) + IDENT@[13; 16) "foo" + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.txt b/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.txt deleted file mode 100644 index 7667201ba..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.txt +++ /dev/null @@ -1,10 +0,0 @@ -SOURCE_FILE@[0; 18) - EXTERN_CRATE_ITEM@[0; 17) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - CRATE_KW@[7; 12) "crate" - WHITESPACE@[12; 13) " " - NAME_REF@[13; 16) - IDENT@[13; 16) "foo" - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast b/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast new file mode 100644 index 000000000..dcf527639 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast @@ -0,0 +1,119 @@ +SOURCE_FILE@[0; 112) + FN_DEF@[0; 111) + 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; 111) + BLOCK@[9; 111) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 20) + RECORD_LIT@[15; 19) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "S" + WHITESPACE@[16; 17) " " + RECORD_FIELD_LIST@[17; 19) + L_CURLY@[17; 18) "{" + R_CURLY@[18; 19) "}" + SEMI@[19; 20) ";" + WHITESPACE@[20; 25) "\n " + EXPR_STMT@[25; 41) + RECORD_LIT@[25; 40) + PATH@[25; 26) + PATH_SEGMENT@[25; 26) + NAME_REF@[25; 26) + IDENT@[25; 26) "S" + WHITESPACE@[26; 27) " " + RECORD_FIELD_LIST@[27; 40) + L_CURLY@[27; 28) "{" + WHITESPACE@[28; 29) " " + RECORD_FIELD@[29; 30) + NAME_REF@[29; 30) + IDENT@[29; 30) "x" + COMMA@[30; 31) "," + WHITESPACE@[31; 32) " " + RECORD_FIELD@[32; 37) + NAME_REF@[32; 33) + IDENT@[32; 33) "y" + COLON@[33; 34) ":" + WHITESPACE@[34; 35) " " + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "32" + COMMA@[37; 38) "," + WHITESPACE@[38; 39) " " + R_CURLY@[39; 40) "}" + SEMI@[40; 41) ";" + WHITESPACE@[41; 46) "\n " + EXPR_STMT@[46; 83) + RECORD_LIT@[46; 82) + PATH@[46; 47) + PATH_SEGMENT@[46; 47) + NAME_REF@[46; 47) + IDENT@[46; 47) "S" + WHITESPACE@[47; 48) " " + RECORD_FIELD_LIST@[48; 82) + L_CURLY@[48; 49) "{" + WHITESPACE@[49; 50) " " + RECORD_FIELD@[50; 51) + NAME_REF@[50; 51) + IDENT@[50; 51) "x" + COMMA@[51; 52) "," + WHITESPACE@[52; 53) " " + RECORD_FIELD@[53; 58) + NAME_REF@[53; 54) + IDENT@[53; 54) "y" + COLON@[54; 55) ":" + WHITESPACE@[55; 56) " " + LITERAL@[56; 58) + INT_NUMBER@[56; 58) "32" + COMMA@[58; 59) "," + WHITESPACE@[59; 60) " " + DOTDOT@[60; 62) ".." + CALL_EXPR@[62; 80) + PATH_EXPR@[62; 78) + PATH@[62; 78) + PATH@[62; 69) + PATH_SEGMENT@[62; 69) + NAME_REF@[62; 69) + IDENT@[62; 69) "Default" + COLONCOLON@[69; 71) "::" + PATH_SEGMENT@[71; 78) + NAME_REF@[71; 78) + IDENT@[71; 78) "default" + ARG_LIST@[78; 80) + L_PAREN@[78; 79) "(" + R_PAREN@[79; 80) ")" + WHITESPACE@[80; 81) " " + R_CURLY@[81; 82) "}" + SEMI@[82; 83) ";" + WHITESPACE@[83; 88) "\n " + EXPR_STMT@[88; 109) + RECORD_LIT@[88; 108) + PATH@[88; 99) + PATH_SEGMENT@[88; 99) + NAME_REF@[88; 99) + IDENT@[88; 99) "TupleStruct" + WHITESPACE@[99; 100) " " + RECORD_FIELD_LIST@[100; 108) + L_CURLY@[100; 101) "{" + WHITESPACE@[101; 102) " " + RECORD_FIELD@[102; 106) + NAME_REF@[102; 103) + INT_NUMBER@[102; 103) "0" + COLON@[103; 104) ":" + WHITESPACE@[104; 105) " " + LITERAL@[105; 106) + INT_NUMBER@[105; 106) "1" + WHITESPACE@[106; 107) " " + R_CURLY@[107; 108) "}" + SEMI@[108; 109) ";" + WHITESPACE@[109; 110) "\n" + R_CURLY@[110; 111) "}" + WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.txt b/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.txt deleted file mode 100644 index dcf527639..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.txt +++ /dev/null @@ -1,119 +0,0 @@ -SOURCE_FILE@[0; 112) - FN_DEF@[0; 111) - 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; 111) - BLOCK@[9; 111) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 20) - RECORD_LIT@[15; 19) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "S" - WHITESPACE@[16; 17) " " - RECORD_FIELD_LIST@[17; 19) - L_CURLY@[17; 18) "{" - R_CURLY@[18; 19) "}" - SEMI@[19; 20) ";" - WHITESPACE@[20; 25) "\n " - EXPR_STMT@[25; 41) - RECORD_LIT@[25; 40) - PATH@[25; 26) - PATH_SEGMENT@[25; 26) - NAME_REF@[25; 26) - IDENT@[25; 26) "S" - WHITESPACE@[26; 27) " " - RECORD_FIELD_LIST@[27; 40) - L_CURLY@[27; 28) "{" - WHITESPACE@[28; 29) " " - RECORD_FIELD@[29; 30) - NAME_REF@[29; 30) - IDENT@[29; 30) "x" - COMMA@[30; 31) "," - WHITESPACE@[31; 32) " " - RECORD_FIELD@[32; 37) - NAME_REF@[32; 33) - IDENT@[32; 33) "y" - COLON@[33; 34) ":" - WHITESPACE@[34; 35) " " - LITERAL@[35; 37) - INT_NUMBER@[35; 37) "32" - COMMA@[37; 38) "," - WHITESPACE@[38; 39) " " - R_CURLY@[39; 40) "}" - SEMI@[40; 41) ";" - WHITESPACE@[41; 46) "\n " - EXPR_STMT@[46; 83) - RECORD_LIT@[46; 82) - PATH@[46; 47) - PATH_SEGMENT@[46; 47) - NAME_REF@[46; 47) - IDENT@[46; 47) "S" - WHITESPACE@[47; 48) " " - RECORD_FIELD_LIST@[48; 82) - L_CURLY@[48; 49) "{" - WHITESPACE@[49; 50) " " - RECORD_FIELD@[50; 51) - NAME_REF@[50; 51) - IDENT@[50; 51) "x" - COMMA@[51; 52) "," - WHITESPACE@[52; 53) " " - RECORD_FIELD@[53; 58) - NAME_REF@[53; 54) - IDENT@[53; 54) "y" - COLON@[54; 55) ":" - WHITESPACE@[55; 56) " " - LITERAL@[56; 58) - INT_NUMBER@[56; 58) "32" - COMMA@[58; 59) "," - WHITESPACE@[59; 60) " " - DOTDOT@[60; 62) ".." - CALL_EXPR@[62; 80) - PATH_EXPR@[62; 78) - PATH@[62; 78) - PATH@[62; 69) - PATH_SEGMENT@[62; 69) - NAME_REF@[62; 69) - IDENT@[62; 69) "Default" - COLONCOLON@[69; 71) "::" - PATH_SEGMENT@[71; 78) - NAME_REF@[71; 78) - IDENT@[71; 78) "default" - ARG_LIST@[78; 80) - L_PAREN@[78; 79) "(" - R_PAREN@[79; 80) ")" - WHITESPACE@[80; 81) " " - R_CURLY@[81; 82) "}" - SEMI@[82; 83) ";" - WHITESPACE@[83; 88) "\n " - EXPR_STMT@[88; 109) - RECORD_LIT@[88; 108) - PATH@[88; 99) - PATH_SEGMENT@[88; 99) - NAME_REF@[88; 99) - IDENT@[88; 99) "TupleStruct" - WHITESPACE@[99; 100) " " - RECORD_FIELD_LIST@[100; 108) - L_CURLY@[100; 101) "{" - WHITESPACE@[101; 102) " " - RECORD_FIELD@[102; 106) - NAME_REF@[102; 103) - INT_NUMBER@[102; 103) "0" - COLON@[103; 104) ":" - WHITESPACE@[104; 105) " " - LITERAL@[105; 106) - INT_NUMBER@[105; 106) "1" - WHITESPACE@[106; 107) " " - R_CURLY@[107; 108) "}" - SEMI@[108; 109) ";" - WHITESPACE@[109; 110) "\n" - R_CURLY@[110; 111) "}" - WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast b/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast new file mode 100644 index 000000000..6b528c252 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast @@ -0,0 +1,67 @@ +SOURCE_FILE@[0; 70) + FN_DEF@[0; 11) + 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; 11) + BLOCK@[9; 11) + L_CURLY@[9; 10) "{" + R_CURLY@[10; 11) "}" + WHITESPACE@[11; 12) "\n" + MACRO_CALL@[12; 31) + PATH@[12; 23) + PATH_SEGMENT@[12; 23) + NAME_REF@[12; 23) + IDENT@[12; 23) "macro_rules" + EXCL@[23; 24) "!" + WHITESPACE@[24; 25) " " + NAME@[25; 28) + IDENT@[25; 28) "foo" + WHITESPACE@[28; 29) " " + TOKEN_TREE@[29; 31) + L_CURLY@[29; 30) "{" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 32) "\n" + MACRO_CALL@[32; 44) + PATH@[32; 40) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "foo" + COLONCOLON@[35; 37) "::" + PATH_SEGMENT@[37; 40) + NAME_REF@[37; 40) + IDENT@[37; 40) "bar" + EXCL@[40; 41) "!" + TOKEN_TREE@[41; 43) + L_PAREN@[41; 42) "(" + R_PAREN@[42; 43) ")" + SEMI@[43; 44) ";" + WHITESPACE@[44; 45) "\n" + MACRO_CALL@[45; 59) + PATH@[45; 55) + PATH@[45; 50) + PATH_SEGMENT@[45; 50) + SUPER_KW@[45; 50) "super" + COLONCOLON@[50; 52) "::" + PATH_SEGMENT@[52; 55) + NAME_REF@[52; 55) + IDENT@[52; 55) "baz" + EXCL@[55; 56) "!" + WHITESPACE@[56; 57) " " + TOKEN_TREE@[57; 59) + L_CURLY@[57; 58) "{" + R_CURLY@[58; 59) "}" + WHITESPACE@[59; 60) "\n" + STRUCT_DEF@[60; 69) + STRUCT_KW@[60; 66) "struct" + WHITESPACE@[66; 67) " " + NAME@[67; 68) + IDENT@[67; 68) "S" + SEMI@[68; 69) ";" + WHITESPACE@[69; 70) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.txt b/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.txt deleted file mode 100644 index 6b528c252..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.txt +++ /dev/null @@ -1,67 +0,0 @@ -SOURCE_FILE@[0; 70) - FN_DEF@[0; 11) - 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; 11) - BLOCK@[9; 11) - L_CURLY@[9; 10) "{" - R_CURLY@[10; 11) "}" - WHITESPACE@[11; 12) "\n" - MACRO_CALL@[12; 31) - PATH@[12; 23) - PATH_SEGMENT@[12; 23) - NAME_REF@[12; 23) - IDENT@[12; 23) "macro_rules" - EXCL@[23; 24) "!" - WHITESPACE@[24; 25) " " - NAME@[25; 28) - IDENT@[25; 28) "foo" - WHITESPACE@[28; 29) " " - TOKEN_TREE@[29; 31) - L_CURLY@[29; 30) "{" - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 32) "\n" - MACRO_CALL@[32; 44) - PATH@[32; 40) - PATH@[32; 35) - PATH_SEGMENT@[32; 35) - NAME_REF@[32; 35) - IDENT@[32; 35) "foo" - COLONCOLON@[35; 37) "::" - PATH_SEGMENT@[37; 40) - NAME_REF@[37; 40) - IDENT@[37; 40) "bar" - EXCL@[40; 41) "!" - TOKEN_TREE@[41; 43) - L_PAREN@[41; 42) "(" - R_PAREN@[42; 43) ")" - SEMI@[43; 44) ";" - WHITESPACE@[44; 45) "\n" - MACRO_CALL@[45; 59) - PATH@[45; 55) - PATH@[45; 50) - PATH_SEGMENT@[45; 50) - SUPER_KW@[45; 50) "super" - COLONCOLON@[50; 52) "::" - PATH_SEGMENT@[52; 55) - NAME_REF@[52; 55) - IDENT@[52; 55) "baz" - EXCL@[55; 56) "!" - WHITESPACE@[56; 57) " " - TOKEN_TREE@[57; 59) - L_CURLY@[57; 58) "{" - R_CURLY@[58; 59) "}" - WHITESPACE@[59; 60) "\n" - STRUCT_DEF@[60; 69) - STRUCT_KW@[60; 66) "struct" - WHITESPACE@[66; 67) " " - NAME@[67; 68) - IDENT@[67; 68) "S" - SEMI@[68; 69) ";" - WHITESPACE@[69; 70) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast new file mode 100644 index 000000000..0cc3ac085 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast @@ -0,0 +1,23 @@ +SOURCE_FILE@[0; 20) + IMPL_DEF@[0; 19) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + EXCL@[5; 6) "!" + PATH_TYPE@[6; 10) + PATH@[6; 10) + PATH_SEGMENT@[6; 10) + NAME_REF@[6; 10) + IDENT@[6; 10) "Send" + WHITESPACE@[10; 11) " " + FOR_KW@[11; 14) "for" + WHITESPACE@[14; 15) " " + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "X" + WHITESPACE@[16; 17) " " + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) "{" + R_CURLY@[18; 19) "}" + WHITESPACE@[19; 20) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.txt b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.txt deleted file mode 100644 index 0cc3ac085..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.txt +++ /dev/null @@ -1,23 +0,0 @@ -SOURCE_FILE@[0; 20) - IMPL_DEF@[0; 19) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - EXCL@[5; 6) "!" - PATH_TYPE@[6; 10) - PATH@[6; 10) - PATH_SEGMENT@[6; 10) - NAME_REF@[6; 10) - IDENT@[6; 10) "Send" - WHITESPACE@[10; 11) " " - FOR_KW@[11; 14) "for" - WHITESPACE@[14; 15) " " - PATH_TYPE@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "X" - WHITESPACE@[16; 17) " " - ITEM_LIST@[17; 19) - L_CURLY@[17; 18) "{" - R_CURLY@[18; 19) "}" - WHITESPACE@[19; 20) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast new file mode 100644 index 000000000..2ace3c8ee --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast @@ -0,0 +1,132 @@ +SOURCE_FILE@[0; 137) + FN_DEF@[0; 136) + 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; 136) + BLOCK@[9; 136) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 26) + IF_EXPR@[15; 25) + IF_KW@[15; 17) "if" + WHITESPACE@[17; 18) " " + CONDITION@[18; 22) + LITERAL@[18; 22) + TRUE_KW@[18; 22) "true" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + SEMI@[25; 26) ";" + WHITESPACE@[26; 31) "\n " + EXPR_STMT@[31; 50) + IF_EXPR@[31; 49) + IF_KW@[31; 33) "if" + WHITESPACE@[33; 34) " " + CONDITION@[34; 38) + LITERAL@[34; 38) + TRUE_KW@[34; 38) "true" + WHITESPACE@[38; 39) " " + BLOCK_EXPR@[39; 41) + BLOCK@[39; 41) + L_CURLY@[39; 40) "{" + R_CURLY@[40; 41) "}" + WHITESPACE@[41; 42) " " + ELSE_KW@[42; 46) "else" + WHITESPACE@[46; 47) " " + BLOCK_EXPR@[47; 49) + BLOCK@[47; 49) + L_CURLY@[47; 48) "{" + R_CURLY@[48; 49) "}" + SEMI@[49; 50) ";" + WHITESPACE@[50; 55) "\n " + EXPR_STMT@[55; 91) + IF_EXPR@[55; 90) + IF_KW@[55; 57) "if" + WHITESPACE@[57; 58) " " + CONDITION@[58; 62) + LITERAL@[58; 62) + TRUE_KW@[58; 62) "true" + WHITESPACE@[62; 63) " " + BLOCK_EXPR@[63; 65) + BLOCK@[63; 65) + L_CURLY@[63; 64) "{" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 66) " " + ELSE_KW@[66; 70) "else" + WHITESPACE@[70; 71) " " + IF_EXPR@[71; 90) + IF_KW@[71; 73) "if" + WHITESPACE@[73; 74) " " + CONDITION@[74; 79) + LITERAL@[74; 79) + FALSE_KW@[74; 79) "false" + WHITESPACE@[79; 80) " " + BLOCK_EXPR@[80; 82) + BLOCK@[80; 82) + L_CURLY@[80; 81) "{" + R_CURLY@[81; 82) "}" + WHITESPACE@[82; 83) " " + ELSE_KW@[83; 87) "else" + WHITESPACE@[87; 88) " " + BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) + L_CURLY@[88; 89) "{" + R_CURLY@[89; 90) "}" + SEMI@[90; 91) ";" + WHITESPACE@[91; 96) "\n " + EXPR_STMT@[96; 104) + IF_EXPR@[96; 103) + IF_KW@[96; 98) "if" + WHITESPACE@[98; 99) " " + CONDITION@[99; 100) + PATH_EXPR@[99; 100) + PATH@[99; 100) + PATH_SEGMENT@[99; 100) + NAME_REF@[99; 100) + IDENT@[99; 100) "S" + WHITESPACE@[100; 101) " " + BLOCK_EXPR@[101; 103) + BLOCK@[101; 103) + L_CURLY@[101; 102) "{" + R_CURLY@[102; 103) "}" + SEMI@[103; 104) ";" + WHITESPACE@[104; 109) "\n " + EXPR_STMT@[109; 134) + IF_EXPR@[109; 133) + IF_KW@[109; 111) "if" + WHITESPACE@[111; 112) " " + CONDITION@[112; 120) + BLOCK_EXPR@[112; 120) + BLOCK@[112; 120) + L_CURLY@[112; 113) "{" + WHITESPACE@[113; 114) " " + LITERAL@[114; 118) + TRUE_KW@[114; 118) "true" + WHITESPACE@[118; 119) " " + R_CURLY@[119; 120) "}" + WHITESPACE@[120; 121) " " + BLOCK_EXPR@[121; 124) + BLOCK@[121; 124) + L_CURLY@[121; 122) "{" + WHITESPACE@[122; 123) " " + R_CURLY@[123; 124) "}" + WHITESPACE@[124; 125) " " + ELSE_KW@[125; 129) "else" + WHITESPACE@[129; 130) " " + BLOCK_EXPR@[130; 133) + BLOCK@[130; 133) + L_CURLY@[130; 131) "{" + WHITESPACE@[131; 132) " " + R_CURLY@[132; 133) "}" + SEMI@[133; 134) ";" + WHITESPACE@[134; 135) "\n" + R_CURLY@[135; 136) "}" + WHITESPACE@[136; 137) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.txt deleted file mode 100644 index 2ace3c8ee..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.txt +++ /dev/null @@ -1,132 +0,0 @@ -SOURCE_FILE@[0; 137) - FN_DEF@[0; 136) - 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; 136) - BLOCK@[9; 136) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 26) - IF_EXPR@[15; 25) - IF_KW@[15; 17) "if" - WHITESPACE@[17; 18) " " - CONDITION@[18; 22) - LITERAL@[18; 22) - TRUE_KW@[18; 22) "true" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - SEMI@[25; 26) ";" - WHITESPACE@[26; 31) "\n " - EXPR_STMT@[31; 50) - IF_EXPR@[31; 49) - IF_KW@[31; 33) "if" - WHITESPACE@[33; 34) " " - CONDITION@[34; 38) - LITERAL@[34; 38) - TRUE_KW@[34; 38) "true" - WHITESPACE@[38; 39) " " - BLOCK_EXPR@[39; 41) - BLOCK@[39; 41) - L_CURLY@[39; 40) "{" - R_CURLY@[40; 41) "}" - WHITESPACE@[41; 42) " " - ELSE_KW@[42; 46) "else" - WHITESPACE@[46; 47) " " - BLOCK_EXPR@[47; 49) - BLOCK@[47; 49) - L_CURLY@[47; 48) "{" - R_CURLY@[48; 49) "}" - SEMI@[49; 50) ";" - WHITESPACE@[50; 55) "\n " - EXPR_STMT@[55; 91) - IF_EXPR@[55; 90) - IF_KW@[55; 57) "if" - WHITESPACE@[57; 58) " " - CONDITION@[58; 62) - LITERAL@[58; 62) - TRUE_KW@[58; 62) "true" - WHITESPACE@[62; 63) " " - BLOCK_EXPR@[63; 65) - BLOCK@[63; 65) - L_CURLY@[63; 64) "{" - R_CURLY@[64; 65) "}" - WHITESPACE@[65; 66) " " - ELSE_KW@[66; 70) "else" - WHITESPACE@[70; 71) " " - IF_EXPR@[71; 90) - IF_KW@[71; 73) "if" - WHITESPACE@[73; 74) " " - CONDITION@[74; 79) - LITERAL@[74; 79) - FALSE_KW@[74; 79) "false" - WHITESPACE@[79; 80) " " - BLOCK_EXPR@[80; 82) - BLOCK@[80; 82) - L_CURLY@[80; 81) "{" - R_CURLY@[81; 82) "}" - WHITESPACE@[82; 83) " " - ELSE_KW@[83; 87) "else" - WHITESPACE@[87; 88) " " - BLOCK_EXPR@[88; 90) - BLOCK@[88; 90) - L_CURLY@[88; 89) "{" - R_CURLY@[89; 90) "}" - SEMI@[90; 91) ";" - WHITESPACE@[91; 96) "\n " - EXPR_STMT@[96; 104) - IF_EXPR@[96; 103) - IF_KW@[96; 98) "if" - WHITESPACE@[98; 99) " " - CONDITION@[99; 100) - PATH_EXPR@[99; 100) - PATH@[99; 100) - PATH_SEGMENT@[99; 100) - NAME_REF@[99; 100) - IDENT@[99; 100) "S" - WHITESPACE@[100; 101) " " - BLOCK_EXPR@[101; 103) - BLOCK@[101; 103) - L_CURLY@[101; 102) "{" - R_CURLY@[102; 103) "}" - SEMI@[103; 104) ";" - WHITESPACE@[104; 109) "\n " - EXPR_STMT@[109; 134) - IF_EXPR@[109; 133) - IF_KW@[109; 111) "if" - WHITESPACE@[111; 112) " " - CONDITION@[112; 120) - BLOCK_EXPR@[112; 120) - BLOCK@[112; 120) - L_CURLY@[112; 113) "{" - WHITESPACE@[113; 114) " " - LITERAL@[114; 118) - TRUE_KW@[114; 118) "true" - WHITESPACE@[118; 119) " " - R_CURLY@[119; 120) "}" - WHITESPACE@[120; 121) " " - BLOCK_EXPR@[121; 124) - BLOCK@[121; 124) - L_CURLY@[121; 122) "{" - WHITESPACE@[122; 123) " " - R_CURLY@[123; 124) "}" - WHITESPACE@[124; 125) " " - ELSE_KW@[125; 129) "else" - WHITESPACE@[129; 130) " " - BLOCK_EXPR@[130; 133) - BLOCK@[130; 133) - L_CURLY@[130; 131) "{" - WHITESPACE@[131; 132) " " - R_CURLY@[132; 133) "}" - SEMI@[133; 134) ";" - WHITESPACE@[134; 135) "\n" - R_CURLY@[135; 136) "}" - WHITESPACE@[136; 137) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast new file mode 100644 index 000000000..2ee0dc199 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 42) + TYPE_ALIAS_DEF@[0; 41) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + DYN_TRAIT_TYPE@[9; 40) + DYN_KW@[9; 12) "dyn" + WHITESPACE@[12; 13) " " + TYPE_BOUND_LIST@[13; 40) + TYPE_BOUND@[13; 35) + PATH_TYPE@[13; 35) + PATH@[13; 35) + PATH_SEGMENT@[13; 35) + NAME_REF@[13; 21) + IDENT@[13; 21) "Iterator" + TYPE_ARG_LIST@[21; 35) + L_ANGLE@[21; 22) "<" + ASSOC_TYPE_ARG@[22; 34) + NAME_REF@[22; 26) + IDENT@[22; 26) "Item" + EQ@[26; 27) "=" + PATH_TYPE@[27; 34) + PATH@[27; 34) + PATH_SEGMENT@[27; 34) + NAME_REF@[27; 30) + IDENT@[27; 30) "Foo" + TYPE_ARG_LIST@[30; 34) + L_ANGLE@[30; 31) "<" + LIFETIME_ARG@[31; 33) + LIFETIME@[31; 33) "\'a" + R_ANGLE@[33; 34) ">" + R_ANGLE@[34; 35) ">" + WHITESPACE@[35; 36) " " + PLUS@[36; 37) "+" + WHITESPACE@[37; 38) " " + TYPE_BOUND@[38; 40) + LIFETIME@[38; 40) "\'a" + SEMI@[40; 41) ";" + WHITESPACE@[41; 42) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.txt deleted file mode 100644 index 2ee0dc199..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 42) - TYPE_ALIAS_DEF@[0; 41) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - DYN_TRAIT_TYPE@[9; 40) - DYN_KW@[9; 12) "dyn" - WHITESPACE@[12; 13) " " - TYPE_BOUND_LIST@[13; 40) - TYPE_BOUND@[13; 35) - PATH_TYPE@[13; 35) - PATH@[13; 35) - PATH_SEGMENT@[13; 35) - NAME_REF@[13; 21) - IDENT@[13; 21) "Iterator" - TYPE_ARG_LIST@[21; 35) - L_ANGLE@[21; 22) "<" - ASSOC_TYPE_ARG@[22; 34) - NAME_REF@[22; 26) - IDENT@[22; 26) "Item" - EQ@[26; 27) "=" - PATH_TYPE@[27; 34) - PATH@[27; 34) - PATH_SEGMENT@[27; 34) - NAME_REF@[27; 30) - IDENT@[27; 30) "Foo" - TYPE_ARG_LIST@[30; 34) - L_ANGLE@[30; 31) "<" - LIFETIME_ARG@[31; 33) - LIFETIME@[31; 33) "\'a" - R_ANGLE@[33; 34) ">" - R_ANGLE@[34; 35) ">" - WHITESPACE@[35; 36) " " - PLUS@[36; 37) "+" - WHITESPACE@[37; 38) " " - TYPE_BOUND@[38; 40) - LIFETIME@[38; 40) "\'a" - SEMI@[40; 41) ";" - WHITESPACE@[41; 42) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast b/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast new file mode 100644 index 000000000..2f07af4e1 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast @@ -0,0 +1,152 @@ +SOURCE_FILE@[0; 167) + FN_DEF@[0; 166) + 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; 166) + BLOCK@[9; 166) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 164) + MATCH_EXPR@[15; 163) + 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; 163) + 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; 83) + PLACEHOLDER_PAT@[51; 52) + UNDERSCORE@[51; 52) "_" + WHITESPACE@[52; 53) " " + MATCH_GUARD@[53; 77) + IF_KW@[53; 55) "if" + WHITESPACE@[55; 56) " " + BIN_EXPR@[56; 77) + PATH_EXPR@[56; 60) + PATH@[56; 60) + PATH_SEGMENT@[56; 60) + NAME_REF@[56; 60) + IDENT@[56; 60) "Test" + WHITESPACE@[60; 61) " " + R_ANGLE@[61; 62) ">" + WHITESPACE@[62; 63) " " + RECORD_LIT@[63; 77) + PATH@[63; 67) + PATH_SEGMENT@[63; 67) + NAME_REF@[63; 67) + IDENT@[63; 67) "Test" + RECORD_FIELD_LIST@[67; 77) + L_CURLY@[67; 68) "{" + RECORD_FIELD@[68; 76) + NAME_REF@[68; 73) + IDENT@[68; 73) "field" + COLON@[73; 74) ":" + WHITESPACE@[74; 75) " " + LITERAL@[75; 76) + INT_NUMBER@[75; 76) "0" + R_CURLY@[76; 77) "}" + WHITESPACE@[77; 78) " " + FAT_ARROW@[78; 80) "=>" + WHITESPACE@[80; 81) " " + TUPLE_EXPR@[81; 83) + L_PAREN@[81; 82) "(" + R_PAREN@[82; 83) ")" + COMMA@[83; 84) "," + WHITESPACE@[84; 93) "\n " + MATCH_ARM@[93; 109) + OR_PAT@[93; 98) + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "X" + WHITESPACE@[94; 95) " " + PIPE@[95; 96) "|" + WHITESPACE@[96; 97) " " + BIND_PAT@[97; 98) + NAME@[97; 98) + IDENT@[97; 98) "Y" + WHITESPACE@[98; 99) " " + MATCH_GUARD@[99; 103) + IF_KW@[99; 101) "if" + WHITESPACE@[101; 102) " " + PATH_EXPR@[102; 103) + PATH@[102; 103) + PATH_SEGMENT@[102; 103) + NAME_REF@[102; 103) + IDENT@[102; 103) "Z" + WHITESPACE@[103; 104) " " + FAT_ARROW@[104; 106) "=>" + WHITESPACE@[106; 107) " " + TUPLE_EXPR@[107; 109) + L_PAREN@[107; 108) "(" + R_PAREN@[108; 109) ")" + COMMA@[109; 110) "," + WHITESPACE@[110; 119) "\n " + MATCH_ARM@[119; 137) + PIPE@[119; 120) "|" + WHITESPACE@[120; 121) " " + OR_PAT@[121; 126) + BIND_PAT@[121; 122) + NAME@[121; 122) + IDENT@[121; 122) "X" + WHITESPACE@[122; 123) " " + PIPE@[123; 124) "|" + WHITESPACE@[124; 125) " " + BIND_PAT@[125; 126) + NAME@[125; 126) + IDENT@[125; 126) "Y" + WHITESPACE@[126; 127) " " + MATCH_GUARD@[127; 131) + IF_KW@[127; 129) "if" + WHITESPACE@[129; 130) " " + PATH_EXPR@[130; 131) + PATH@[130; 131) + PATH_SEGMENT@[130; 131) + NAME_REF@[130; 131) + IDENT@[130; 131) "Z" + WHITESPACE@[131; 132) " " + FAT_ARROW@[132; 134) "=>" + WHITESPACE@[134; 135) " " + TUPLE_EXPR@[135; 137) + L_PAREN@[135; 136) "(" + R_PAREN@[136; 137) ")" + COMMA@[137; 138) "," + WHITESPACE@[138; 147) "\n " + MATCH_ARM@[147; 156) + PIPE@[147; 148) "|" + WHITESPACE@[148; 149) " " + BIND_PAT@[149; 150) + NAME@[149; 150) + IDENT@[149; 150) "X" + WHITESPACE@[150; 151) " " + FAT_ARROW@[151; 153) "=>" + WHITESPACE@[153; 154) " " + TUPLE_EXPR@[154; 156) + L_PAREN@[154; 155) "(" + R_PAREN@[155; 156) ")" + COMMA@[156; 157) "," + WHITESPACE@[157; 162) "\n " + R_CURLY@[162; 163) "}" + SEMI@[163; 164) ";" + WHITESPACE@[164; 165) "\n" + R_CURLY@[165; 166) "}" + WHITESPACE@[166; 167) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.txt b/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.txt deleted file mode 100644 index 2f07af4e1..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.txt +++ /dev/null @@ -1,152 +0,0 @@ -SOURCE_FILE@[0; 167) - FN_DEF@[0; 166) - 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; 166) - BLOCK@[9; 166) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 164) - MATCH_EXPR@[15; 163) - 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; 163) - 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; 83) - PLACEHOLDER_PAT@[51; 52) - UNDERSCORE@[51; 52) "_" - WHITESPACE@[52; 53) " " - MATCH_GUARD@[53; 77) - IF_KW@[53; 55) "if" - WHITESPACE@[55; 56) " " - BIN_EXPR@[56; 77) - PATH_EXPR@[56; 60) - PATH@[56; 60) - PATH_SEGMENT@[56; 60) - NAME_REF@[56; 60) - IDENT@[56; 60) "Test" - WHITESPACE@[60; 61) " " - R_ANGLE@[61; 62) ">" - WHITESPACE@[62; 63) " " - RECORD_LIT@[63; 77) - PATH@[63; 67) - PATH_SEGMENT@[63; 67) - NAME_REF@[63; 67) - IDENT@[63; 67) "Test" - RECORD_FIELD_LIST@[67; 77) - L_CURLY@[67; 68) "{" - RECORD_FIELD@[68; 76) - NAME_REF@[68; 73) - IDENT@[68; 73) "field" - COLON@[73; 74) ":" - WHITESPACE@[74; 75) " " - LITERAL@[75; 76) - INT_NUMBER@[75; 76) "0" - R_CURLY@[76; 77) "}" - WHITESPACE@[77; 78) " " - FAT_ARROW@[78; 80) "=>" - WHITESPACE@[80; 81) " " - TUPLE_EXPR@[81; 83) - L_PAREN@[81; 82) "(" - R_PAREN@[82; 83) ")" - COMMA@[83; 84) "," - WHITESPACE@[84; 93) "\n " - MATCH_ARM@[93; 109) - OR_PAT@[93; 98) - BIND_PAT@[93; 94) - NAME@[93; 94) - IDENT@[93; 94) "X" - WHITESPACE@[94; 95) " " - PIPE@[95; 96) "|" - WHITESPACE@[96; 97) " " - BIND_PAT@[97; 98) - NAME@[97; 98) - IDENT@[97; 98) "Y" - WHITESPACE@[98; 99) " " - MATCH_GUARD@[99; 103) - IF_KW@[99; 101) "if" - WHITESPACE@[101; 102) " " - PATH_EXPR@[102; 103) - PATH@[102; 103) - PATH_SEGMENT@[102; 103) - NAME_REF@[102; 103) - IDENT@[102; 103) "Z" - WHITESPACE@[103; 104) " " - FAT_ARROW@[104; 106) "=>" - WHITESPACE@[106; 107) " " - TUPLE_EXPR@[107; 109) - L_PAREN@[107; 108) "(" - R_PAREN@[108; 109) ")" - COMMA@[109; 110) "," - WHITESPACE@[110; 119) "\n " - MATCH_ARM@[119; 137) - PIPE@[119; 120) "|" - WHITESPACE@[120; 121) " " - OR_PAT@[121; 126) - BIND_PAT@[121; 122) - NAME@[121; 122) - IDENT@[121; 122) "X" - WHITESPACE@[122; 123) " " - PIPE@[123; 124) "|" - WHITESPACE@[124; 125) " " - BIND_PAT@[125; 126) - NAME@[125; 126) - IDENT@[125; 126) "Y" - WHITESPACE@[126; 127) " " - MATCH_GUARD@[127; 131) - IF_KW@[127; 129) "if" - WHITESPACE@[129; 130) " " - PATH_EXPR@[130; 131) - PATH@[130; 131) - PATH_SEGMENT@[130; 131) - NAME_REF@[130; 131) - IDENT@[130; 131) "Z" - WHITESPACE@[131; 132) " " - FAT_ARROW@[132; 134) "=>" - WHITESPACE@[134; 135) " " - TUPLE_EXPR@[135; 137) - L_PAREN@[135; 136) "(" - R_PAREN@[136; 137) ")" - COMMA@[137; 138) "," - WHITESPACE@[138; 147) "\n " - MATCH_ARM@[147; 156) - PIPE@[147; 148) "|" - WHITESPACE@[148; 149) " " - BIND_PAT@[149; 150) - NAME@[149; 150) - IDENT@[149; 150) "X" - WHITESPACE@[150; 151) " " - FAT_ARROW@[151; 153) "=>" - WHITESPACE@[153; 154) " " - TUPLE_EXPR@[154; 156) - L_PAREN@[154; 155) "(" - R_PAREN@[155; 156) ")" - COMMA@[156; 157) "," - WHITESPACE@[157; 162) "\n " - R_CURLY@[162; 163) "}" - SEMI@[163; 164) ";" - WHITESPACE@[164; 165) "\n" - R_CURLY@[165; 166) "}" - WHITESPACE@[166; 167) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast new file mode 100644 index 000000000..f2ba4e909 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast @@ -0,0 +1,15 @@ +SOURCE_FILE@[0; 16) + USE_ITEM@[0; 15) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 14) + PATH@[4; 14) + PATH@[4; 9) + PATH_SEGMENT@[4; 9) + CRATE_KW@[4; 9) "crate" + COLONCOLON@[9; 11) "::" + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "foo" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.txt b/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.txt deleted file mode 100644 index f2ba4e909..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.txt +++ /dev/null @@ -1,15 +0,0 @@ -SOURCE_FILE@[0; 16) - USE_ITEM@[0; 15) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 14) - PATH@[4; 14) - PATH@[4; 9) - PATH_SEGMENT@[4; 9) - CRATE_KW@[4; 9) "crate" - COLONCOLON@[9; 11) "::" - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "foo" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.rast b/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.rast new file mode 100644 index 000000000..9d7982684 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.rast @@ -0,0 +1,46 @@ +SOURCE_FILE@[0; 51) + UNION_DEF@[0; 12) + UNION_KW@[0; 5) "union" + WHITESPACE@[5; 6) " " + NAME@[6; 9) + IDENT@[6; 9) "Foo" + WHITESPACE@[9; 10) " " + RECORD_FIELD_DEF_LIST@[10; 12) + L_CURLY@[10; 11) "{" + R_CURLY@[11; 12) "}" + WHITESPACE@[12; 13) "\n" + UNION_DEF@[13; 50) + UNION_KW@[13; 18) "union" + WHITESPACE@[18; 19) " " + NAME@[19; 22) + IDENT@[19; 22) "Foo" + WHITESPACE@[22; 23) " " + RECORD_FIELD_DEF_LIST@[23; 50) + L_CURLY@[23; 24) "{" + WHITESPACE@[24; 29) "\n " + RECORD_FIELD_DEF@[29; 35) + NAME@[29; 30) + IDENT@[29; 30) "a" + COLON@[30; 31) ":" + WHITESPACE@[31; 32) " " + PATH_TYPE@[32; 35) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "i32" + COMMA@[35; 36) "," + WHITESPACE@[36; 41) "\n " + RECORD_FIELD_DEF@[41; 47) + NAME@[41; 42) + IDENT@[41; 42) "b" + COLON@[42; 43) ":" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 47) + PATH@[44; 47) + PATH_SEGMENT@[44; 47) + NAME_REF@[44; 47) + IDENT@[44; 47) "f32" + COMMA@[47; 48) "," + WHITESPACE@[48; 49) "\n" + R_CURLY@[49; 50) "}" + WHITESPACE@[50; 51) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.txt b/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.txt deleted file mode 100644 index 9d7982684..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0068_union_items.txt +++ /dev/null @@ -1,46 +0,0 @@ -SOURCE_FILE@[0; 51) - UNION_DEF@[0; 12) - UNION_KW@[0; 5) "union" - WHITESPACE@[5; 6) " " - NAME@[6; 9) - IDENT@[6; 9) "Foo" - WHITESPACE@[9; 10) " " - RECORD_FIELD_DEF_LIST@[10; 12) - L_CURLY@[10; 11) "{" - R_CURLY@[11; 12) "}" - WHITESPACE@[12; 13) "\n" - UNION_DEF@[13; 50) - UNION_KW@[13; 18) "union" - WHITESPACE@[18; 19) " " - NAME@[19; 22) - IDENT@[19; 22) "Foo" - WHITESPACE@[22; 23) " " - RECORD_FIELD_DEF_LIST@[23; 50) - L_CURLY@[23; 24) "{" - WHITESPACE@[24; 29) "\n " - RECORD_FIELD_DEF@[29; 35) - NAME@[29; 30) - IDENT@[29; 30) "a" - COLON@[30; 31) ":" - WHITESPACE@[31; 32) " " - PATH_TYPE@[32; 35) - PATH@[32; 35) - PATH_SEGMENT@[32; 35) - NAME_REF@[32; 35) - IDENT@[32; 35) "i32" - COMMA@[35; 36) "," - WHITESPACE@[36; 41) "\n " - RECORD_FIELD_DEF@[41; 47) - NAME@[41; 42) - IDENT@[41; 42) "b" - COLON@[42; 43) ":" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 47) - PATH@[44; 47) - PATH_SEGMENT@[44; 47) - NAME_REF@[44; 47) - IDENT@[44; 47) "f32" - COMMA@[47; 48) "," - WHITESPACE@[48; 49) "\n" - R_CURLY@[49; 50) "}" - WHITESPACE@[50; 51) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast new file mode 100644 index 000000000..86afc9362 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast @@ -0,0 +1,37 @@ +SOURCE_FILE@[0; 37) + USE_ITEM@[0; 18) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 17) + PATH@[4; 9) + PATH_SEGMENT@[4; 9) + CRATE_KW@[4; 9) "crate" + COLONCOLON@[9; 11) "::" + USE_TREE_LIST@[11; 17) + L_CURLY@[11; 12) "{" + USE_TREE@[12; 16) + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "Item" + R_CURLY@[16; 17) "}" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" + USE_ITEM@[19; 36) + USE_KW@[19; 22) "use" + WHITESPACE@[22; 23) " " + USE_TREE@[23; 35) + PATH@[23; 27) + PATH_SEGMENT@[23; 27) + SELF_KW@[23; 27) "self" + COLONCOLON@[27; 29) "::" + USE_TREE_LIST@[29; 35) + L_CURLY@[29; 30) "{" + USE_TREE@[30; 34) + PATH@[30; 34) + PATH_SEGMENT@[30; 34) + NAME_REF@[30; 34) + IDENT@[30; 34) "Item" + R_CURLY@[34; 35) "}" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.txt b/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.txt deleted file mode 100644 index 86afc9362..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.txt +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE_FILE@[0; 37) - USE_ITEM@[0; 18) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 17) - PATH@[4; 9) - PATH_SEGMENT@[4; 9) - CRATE_KW@[4; 9) "crate" - COLONCOLON@[9; 11) "::" - USE_TREE_LIST@[11; 17) - L_CURLY@[11; 12) "{" - USE_TREE@[12; 16) - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "Item" - R_CURLY@[16; 17) "}" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" - USE_ITEM@[19; 36) - USE_KW@[19; 22) "use" - WHITESPACE@[22; 23) " " - USE_TREE@[23; 35) - PATH@[23; 27) - PATH_SEGMENT@[23; 27) - SELF_KW@[23; 27) "self" - COLONCOLON@[27; 29) "::" - USE_TREE_LIST@[29; 35) - L_CURLY@[29; 30) "{" - USE_TREE@[30; 34) - PATH@[30; 34) - PATH_SEGMENT@[30; 34) - NAME_REF@[30; 34) - IDENT@[30; 34) "Item" - R_CURLY@[34; 35) "}" - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast new file mode 100644 index 000000000..cd63d10f7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast @@ -0,0 +1,53 @@ +SOURCE_FILE@[0; 46) + FN_DEF@[0; 45) + 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; 45) + BLOCK@[9; 45) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 31) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + BIN_EXPR@[23; 30) + BLOCK_EXPR@[23; 26) + BLOCK@[23; 26) + L_CURLY@[23; 24) "{" + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) " " + AMP@[27; 28) "&" + WHITESPACE@[28; 29) " " + LITERAL@[29; 30) + INT_NUMBER@[29; 30) "2" + SEMI@[30; 31) ";" + WHITESPACE@[31; 36) "\n " + EXPR_STMT@[36; 39) + BLOCK_EXPR@[36; 39) + BLOCK@[36; 39) + L_CURLY@[36; 37) "{" + LITERAL@[37; 38) + INT_NUMBER@[37; 38) "1" + R_CURLY@[38; 39) "}" + WHITESPACE@[39; 40) " " + EXPR_STMT@[40; 43) + REF_EXPR@[40; 42) + AMP@[40; 41) "&" + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "2" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) "\n" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt b/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt deleted file mode 100644 index cd63d10f7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt +++ /dev/null @@ -1,53 +0,0 @@ -SOURCE_FILE@[0; 46) - FN_DEF@[0; 45) - 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; 45) - BLOCK@[9; 45) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 31) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - BIN_EXPR@[23; 30) - BLOCK_EXPR@[23; 26) - BLOCK@[23; 26) - L_CURLY@[23; 24) "{" - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) " " - AMP@[27; 28) "&" - WHITESPACE@[28; 29) " " - LITERAL@[29; 30) - INT_NUMBER@[29; 30) "2" - SEMI@[30; 31) ";" - WHITESPACE@[31; 36) "\n " - EXPR_STMT@[36; 39) - BLOCK_EXPR@[36; 39) - BLOCK@[36; 39) - L_CURLY@[36; 37) "{" - LITERAL@[37; 38) - INT_NUMBER@[37; 38) "1" - R_CURLY@[38; 39) "}" - WHITESPACE@[39; 40) " " - EXPR_STMT@[40; 43) - REF_EXPR@[40; 42) - AMP@[40; 41) "&" - LITERAL@[41; 42) - INT_NUMBER@[41; 42) "2" - SEMI@[42; 43) ";" - WHITESPACE@[43; 44) "\n" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast new file mode 100644 index 000000000..0af668056 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast @@ -0,0 +1,96 @@ +SOURCE_FILE@[0; 97) + FN_DEF@[0; 96) + 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; 96) + BLOCK@[9; 96) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 28) + MATCH_EXPR@[15; 27) + 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; 27) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 26) " " + R_CURLY@[26; 27) "}" + SEMI@[27; 28) ";" + WHITESPACE@[28; 33) "\n " + EXPR_STMT@[33; 44) + MATCH_EXPR@[33; 43) + MATCH_KW@[33; 38) "match" + WHITESPACE@[38; 39) " " + PATH_EXPR@[39; 40) + PATH@[39; 40) + PATH_SEGMENT@[39; 40) + NAME_REF@[39; 40) + IDENT@[39; 40) "S" + WHITESPACE@[40; 41) " " + MATCH_ARM_LIST@[41; 43) + L_CURLY@[41; 42) "{" + R_CURLY@[42; 43) "}" + SEMI@[43; 44) ";" + WHITESPACE@[44; 49) "\n " + EXPR_STMT@[49; 71) + MATCH_EXPR@[49; 70) + MATCH_KW@[49; 54) "match" + WHITESPACE@[54; 55) " " + BLOCK_EXPR@[55; 58) + BLOCK@[55; 58) + L_CURLY@[55; 56) "{" + WHITESPACE@[56; 57) " " + R_CURLY@[57; 58) "}" + WHITESPACE@[58; 59) " " + MATCH_ARM_LIST@[59; 70) + L_CURLY@[59; 60) "{" + WHITESPACE@[60; 61) " " + MATCH_ARM@[61; 68) + PLACEHOLDER_PAT@[61; 62) + UNDERSCORE@[61; 62) "_" + WHITESPACE@[62; 63) " " + FAT_ARROW@[63; 65) "=>" + WHITESPACE@[65; 66) " " + TUPLE_EXPR@[66; 68) + L_PAREN@[66; 67) "(" + R_PAREN@[67; 68) ")" + WHITESPACE@[68; 69) " " + R_CURLY@[69; 70) "}" + SEMI@[70; 71) ";" + WHITESPACE@[71; 76) "\n " + EXPR_STMT@[76; 94) + MATCH_EXPR@[76; 93) + MATCH_KW@[76; 81) "match" + WHITESPACE@[81; 82) " " + BLOCK_EXPR@[82; 90) + BLOCK@[82; 90) + L_CURLY@[82; 83) "{" + WHITESPACE@[83; 84) " " + RECORD_LIT@[84; 88) + PATH@[84; 85) + PATH_SEGMENT@[84; 85) + NAME_REF@[84; 85) + IDENT@[84; 85) "S" + WHITESPACE@[85; 86) " " + RECORD_FIELD_LIST@[86; 88) + L_CURLY@[86; 87) "{" + R_CURLY@[87; 88) "}" + WHITESPACE@[88; 89) " " + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 91) " " + MATCH_ARM_LIST@[91; 93) + L_CURLY@[91; 92) "{" + R_CURLY@[92; 93) "}" + SEMI@[93; 94) ";" + WHITESPACE@[94; 95) "\n" + R_CURLY@[95; 96) "}" + WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.txt deleted file mode 100644 index 0af668056..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.txt +++ /dev/null @@ -1,96 +0,0 @@ -SOURCE_FILE@[0; 97) - FN_DEF@[0; 96) - 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; 96) - BLOCK@[9; 96) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 28) - MATCH_EXPR@[15; 27) - 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; 27) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 26) " " - R_CURLY@[26; 27) "}" - SEMI@[27; 28) ";" - WHITESPACE@[28; 33) "\n " - EXPR_STMT@[33; 44) - MATCH_EXPR@[33; 43) - MATCH_KW@[33; 38) "match" - WHITESPACE@[38; 39) " " - PATH_EXPR@[39; 40) - PATH@[39; 40) - PATH_SEGMENT@[39; 40) - NAME_REF@[39; 40) - IDENT@[39; 40) "S" - WHITESPACE@[40; 41) " " - MATCH_ARM_LIST@[41; 43) - L_CURLY@[41; 42) "{" - R_CURLY@[42; 43) "}" - SEMI@[43; 44) ";" - WHITESPACE@[44; 49) "\n " - EXPR_STMT@[49; 71) - MATCH_EXPR@[49; 70) - MATCH_KW@[49; 54) "match" - WHITESPACE@[54; 55) " " - BLOCK_EXPR@[55; 58) - BLOCK@[55; 58) - L_CURLY@[55; 56) "{" - WHITESPACE@[56; 57) " " - R_CURLY@[57; 58) "}" - WHITESPACE@[58; 59) " " - MATCH_ARM_LIST@[59; 70) - L_CURLY@[59; 60) "{" - WHITESPACE@[60; 61) " " - MATCH_ARM@[61; 68) - PLACEHOLDER_PAT@[61; 62) - UNDERSCORE@[61; 62) "_" - WHITESPACE@[62; 63) " " - FAT_ARROW@[63; 65) "=>" - WHITESPACE@[65; 66) " " - TUPLE_EXPR@[66; 68) - L_PAREN@[66; 67) "(" - R_PAREN@[67; 68) ")" - WHITESPACE@[68; 69) " " - R_CURLY@[69; 70) "}" - SEMI@[70; 71) ";" - WHITESPACE@[71; 76) "\n " - EXPR_STMT@[76; 94) - MATCH_EXPR@[76; 93) - MATCH_KW@[76; 81) "match" - WHITESPACE@[81; 82) " " - BLOCK_EXPR@[82; 90) - BLOCK@[82; 90) - L_CURLY@[82; 83) "{" - WHITESPACE@[83; 84) " " - RECORD_LIT@[84; 88) - PATH@[84; 85) - PATH_SEGMENT@[84; 85) - NAME_REF@[84; 85) - IDENT@[84; 85) "S" - WHITESPACE@[85; 86) " " - RECORD_FIELD_LIST@[86; 88) - L_CURLY@[86; 87) "{" - R_CURLY@[87; 88) "}" - WHITESPACE@[88; 89) " " - R_CURLY@[89; 90) "}" - WHITESPACE@[90; 91) " " - MATCH_ARM_LIST@[91; 93) - L_CURLY@[91; 92) "{" - R_CURLY@[92; 93) "}" - SEMI@[93; 94) ";" - WHITESPACE@[94; 95) "\n" - R_CURLY@[95; 96) "}" - WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast new file mode 100644 index 000000000..4a83a7200 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@[0; 40) + FN_DEF@[0; 39) + 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; 39) + BLOCK@[9; 39) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 22) + RETURN_EXPR@[15; 21) + RETURN_KW@[15; 21) "return" + SEMI@[21; 22) ";" + WHITESPACE@[22; 27) "\n " + EXPR_STMT@[27; 37) + RETURN_EXPR@[27; 36) + RETURN_KW@[27; 33) "return" + WHITESPACE@[33; 34) " " + LITERAL@[34; 36) + INT_NUMBER@[34; 36) "92" + SEMI@[36; 37) ";" + WHITESPACE@[37; 38) "\n" + R_CURLY@[38; 39) "}" + WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.txt deleted file mode 100644 index 4a83a7200..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.txt +++ /dev/null @@ -1,29 +0,0 @@ -SOURCE_FILE@[0; 40) - FN_DEF@[0; 39) - 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; 39) - BLOCK@[9; 39) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 22) - RETURN_EXPR@[15; 21) - RETURN_KW@[15; 21) "return" - SEMI@[21; 22) ";" - WHITESPACE@[22; 27) "\n " - EXPR_STMT@[27; 37) - RETURN_EXPR@[27; 36) - RETURN_KW@[27; 33) "return" - WHITESPACE@[33; 34) " " - LITERAL@[34; 36) - INT_NUMBER@[34; 36) "92" - SEMI@[36; 37) ";" - WHITESPACE@[37; 38) "\n" - R_CURLY@[38; 39) "}" - WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast new file mode 100644 index 000000000..2dd6db28f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast @@ -0,0 +1,20 @@ +SOURCE_FILE@[0; 21) + TYPE_ALIAS_DEF@[0; 20) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 11) + IDENT@[5; 11) "Result" + TYPE_PARAM_LIST@[11; 14) + L_ANGLE@[11; 12) "<" + TYPE_PARAM@[12; 13) + NAME@[12; 13) + IDENT@[12; 13) "T" + R_ANGLE@[13; 14) ">" + WHITESPACE@[14; 15) " " + EQ@[15; 16) "=" + WHITESPACE@[16; 17) " " + TUPLE_TYPE@[17; 19) + L_PAREN@[17; 18) "(" + R_PAREN@[18; 19) ")" + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.txt b/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.txt deleted file mode 100644 index 2dd6db28f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.txt +++ /dev/null @@ -1,20 +0,0 @@ -SOURCE_FILE@[0; 21) - TYPE_ALIAS_DEF@[0; 20) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 11) - IDENT@[5; 11) "Result" - TYPE_PARAM_LIST@[11; 14) - L_ANGLE@[11; 12) "<" - TYPE_PARAM@[12; 13) - NAME@[12; 13) - IDENT@[12; 13) "T" - R_ANGLE@[13; 14) ">" - WHITESPACE@[14; 15) " " - EQ@[15; 16) "=" - WHITESPACE@[16; 17) " " - TUPLE_TYPE@[17; 19) - L_PAREN@[17; 18) "(" - R_PAREN@[18; 19) ")" - SEMI@[19; 20) ";" - WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast new file mode 100644 index 000000000..cbd2d5fbf --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast @@ -0,0 +1,63 @@ +SOURCE_FILE@[0; 84) + FN_DEF@[0; 83) + 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; 83) + BLOCK@[9; 83) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + MATCH_EXPR@[15; 81) + 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; 81) + 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) " " + BLOCK_EXPR@[39; 41) + BLOCK@[39; 41) + L_CURLY@[39; 40) "{" + R_CURLY@[40; 41) "}" + WHITESPACE@[41; 50) "\n " + MATCH_ARM@[50; 58) + TUPLE_PAT@[50; 52) + L_PAREN@[50; 51) "(" + R_PAREN@[51; 52) ")" + WHITESPACE@[52; 53) " " + FAT_ARROW@[53; 55) "=>" + WHITESPACE@[55; 56) " " + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) "{" + R_CURLY@[57; 58) "}" + WHITESPACE@[58; 67) "\n " + MATCH_ARM@[67; 75) + SLICE_PAT@[67; 69) + L_BRACK@[67; 68) "[" + R_BRACK@[68; 69) "]" + WHITESPACE@[69; 70) " " + FAT_ARROW@[70; 72) "=>" + WHITESPACE@[72; 73) " " + BLOCK_EXPR@[73; 75) + BLOCK@[73; 75) + L_CURLY@[73; 74) "{" + R_CURLY@[74; 75) "}" + WHITESPACE@[75; 80) "\n " + R_CURLY@[80; 81) "}" + WHITESPACE@[81; 82) "\n" + R_CURLY@[82; 83) "}" + WHITESPACE@[83; 84) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt b/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt deleted file mode 100644 index cbd2d5fbf..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt +++ /dev/null @@ -1,63 +0,0 @@ -SOURCE_FILE@[0; 84) - FN_DEF@[0; 83) - 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; 83) - BLOCK@[9; 83) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - MATCH_EXPR@[15; 81) - 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; 81) - 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) " " - BLOCK_EXPR@[39; 41) - BLOCK@[39; 41) - L_CURLY@[39; 40) "{" - R_CURLY@[40; 41) "}" - WHITESPACE@[41; 50) "\n " - MATCH_ARM@[50; 58) - TUPLE_PAT@[50; 52) - L_PAREN@[50; 51) "(" - R_PAREN@[51; 52) ")" - WHITESPACE@[52; 53) " " - FAT_ARROW@[53; 55) "=>" - WHITESPACE@[55; 56) " " - BLOCK_EXPR@[56; 58) - BLOCK@[56; 58) - L_CURLY@[56; 57) "{" - R_CURLY@[57; 58) "}" - WHITESPACE@[58; 67) "\n " - MATCH_ARM@[67; 75) - SLICE_PAT@[67; 69) - L_BRACK@[67; 68) "[" - R_BRACK@[68; 69) "]" - WHITESPACE@[69; 70) " " - FAT_ARROW@[70; 72) "=>" - WHITESPACE@[72; 73) " " - BLOCK_EXPR@[73; 75) - BLOCK@[73; 75) - L_CURLY@[73; 74) "{" - R_CURLY@[74; 75) "}" - WHITESPACE@[75; 80) "\n " - R_CURLY@[80; 81) "}" - WHITESPACE@[81; 82) "\n" - R_CURLY@[82; 83) "}" - WHITESPACE@[83; 84) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast new file mode 100644 index 000000000..28d1bad97 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast @@ -0,0 +1,90 @@ +SOURCE_FILE@[0; 65) + FN_DEF@[0; 9) + 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; 9) + BLOCK@[7; 9) + L_CURLY@[7; 8) "{" + R_CURLY@[8; 9) "}" + WHITESPACE@[9; 10) "\n" + FN_DEF@[10; 31) + FN_KW@[10; 12) "fn" + WHITESPACE@[12; 13) " " + NAME@[13; 14) + IDENT@[13; 14) "b" + PARAM_LIST@[14; 16) + L_PAREN@[14; 15) "(" + R_PAREN@[15; 16) ")" + WHITESPACE@[16; 17) " " + BLOCK_EXPR@[17; 31) + BLOCK@[17; 31) + L_CURLY@[17; 18) "{" + WHITESPACE@[18; 19) " " + LET_STMT@[19; 29) + LET_KW@[19; 22) "let" + WHITESPACE@[22; 23) " " + PLACEHOLDER_PAT@[23; 24) + UNDERSCORE@[23; 24) "_" + WHITESPACE@[24; 25) " " + EQ@[25; 26) "=" + WHITESPACE@[26; 27) " " + LITERAL@[27; 28) + INT_NUMBER@[27; 28) "1" + SEMI@[28; 29) ";" + WHITESPACE@[29; 30) " " + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 32) "\n" + FN_DEF@[32; 48) + FN_KW@[32; 34) "fn" + WHITESPACE@[34; 35) " " + NAME@[35; 36) + IDENT@[35; 36) "c" + PARAM_LIST@[36; 38) + L_PAREN@[36; 37) "(" + R_PAREN@[37; 38) ")" + WHITESPACE@[38; 39) " " + BLOCK_EXPR@[39; 48) + BLOCK@[39; 48) + L_CURLY@[39; 40) "{" + WHITESPACE@[40; 41) " " + EXPR_STMT@[41; 43) + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "1" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) " " + EXPR_STMT@[44; 46) + LITERAL@[44; 45) + INT_NUMBER@[44; 45) "2" + SEMI@[45; 46) ";" + WHITESPACE@[46; 47) " " + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 49) "\n" + FN_DEF@[49; 64) + FN_KW@[49; 51) "fn" + WHITESPACE@[51; 52) " " + NAME@[52; 53) + IDENT@[52; 53) "d" + PARAM_LIST@[53; 55) + L_PAREN@[53; 54) "(" + R_PAREN@[54; 55) ")" + WHITESPACE@[55; 56) " " + BLOCK_EXPR@[56; 64) + BLOCK@[56; 64) + L_CURLY@[56; 57) "{" + WHITESPACE@[57; 58) " " + EXPR_STMT@[58; 60) + LITERAL@[58; 59) + INT_NUMBER@[58; 59) "1" + SEMI@[59; 60) ";" + WHITESPACE@[60; 61) " " + LITERAL@[61; 62) + INT_NUMBER@[61; 62) "2" + WHITESPACE@[62; 63) " " + R_CURLY@[63; 64) "}" + WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0075_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0075_block.txt deleted file mode 100644 index 28d1bad97..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0075_block.txt +++ /dev/null @@ -1,90 +0,0 @@ -SOURCE_FILE@[0; 65) - FN_DEF@[0; 9) - 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; 9) - BLOCK@[7; 9) - L_CURLY@[7; 8) "{" - R_CURLY@[8; 9) "}" - WHITESPACE@[9; 10) "\n" - FN_DEF@[10; 31) - FN_KW@[10; 12) "fn" - WHITESPACE@[12; 13) " " - NAME@[13; 14) - IDENT@[13; 14) "b" - PARAM_LIST@[14; 16) - L_PAREN@[14; 15) "(" - R_PAREN@[15; 16) ")" - WHITESPACE@[16; 17) " " - BLOCK_EXPR@[17; 31) - BLOCK@[17; 31) - L_CURLY@[17; 18) "{" - WHITESPACE@[18; 19) " " - LET_STMT@[19; 29) - LET_KW@[19; 22) "let" - WHITESPACE@[22; 23) " " - PLACEHOLDER_PAT@[23; 24) - UNDERSCORE@[23; 24) "_" - WHITESPACE@[24; 25) " " - EQ@[25; 26) "=" - WHITESPACE@[26; 27) " " - LITERAL@[27; 28) - INT_NUMBER@[27; 28) "1" - SEMI@[28; 29) ";" - WHITESPACE@[29; 30) " " - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 32) "\n" - FN_DEF@[32; 48) - FN_KW@[32; 34) "fn" - WHITESPACE@[34; 35) " " - NAME@[35; 36) - IDENT@[35; 36) "c" - PARAM_LIST@[36; 38) - L_PAREN@[36; 37) "(" - R_PAREN@[37; 38) ")" - WHITESPACE@[38; 39) " " - BLOCK_EXPR@[39; 48) - BLOCK@[39; 48) - L_CURLY@[39; 40) "{" - WHITESPACE@[40; 41) " " - EXPR_STMT@[41; 43) - LITERAL@[41; 42) - INT_NUMBER@[41; 42) "1" - SEMI@[42; 43) ";" - WHITESPACE@[43; 44) " " - EXPR_STMT@[44; 46) - LITERAL@[44; 45) - INT_NUMBER@[44; 45) "2" - SEMI@[45; 46) ";" - WHITESPACE@[46; 47) " " - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 49) "\n" - FN_DEF@[49; 64) - FN_KW@[49; 51) "fn" - WHITESPACE@[51; 52) " " - NAME@[52; 53) - IDENT@[52; 53) "d" - PARAM_LIST@[53; 55) - L_PAREN@[53; 54) "(" - R_PAREN@[54; 55) ")" - WHITESPACE@[55; 56) " " - BLOCK_EXPR@[56; 64) - BLOCK@[56; 64) - L_CURLY@[56; 57) "{" - WHITESPACE@[57; 58) " " - EXPR_STMT@[58; 60) - LITERAL@[58; 59) - INT_NUMBER@[58; 59) "1" - SEMI@[59; 60) ";" - WHITESPACE@[60; 61) " " - LITERAL@[61; 62) - INT_NUMBER@[61; 62) "2" - WHITESPACE@[62; 63) " " - R_CURLY@[63; 64) "}" - WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast new file mode 100644 index 000000000..8e4b63f02 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast @@ -0,0 +1,40 @@ +SOURCE_FILE@[0; 29) + FN_DEF@[0; 28) + 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; 25) + WHERE_KW@[12; 17) "where" + WHITESPACE@[17; 18) " " + WHERE_PRED@[18; 25) + PATH_TYPE@[18; 19) + PATH@[18; 19) + PATH_SEGMENT@[18; 19) + NAME_REF@[18; 19) + IDENT@[18; 19) "T" + COLON@[19; 20) ":" + WHITESPACE@[20; 21) " " + TYPE_BOUND_LIST@[21; 25) + TYPE_BOUND@[21; 25) + PATH_TYPE@[21; 25) + PATH@[21; 25) + PATH_SEGMENT@[21; 25) + NAME_REF@[21; 25) + IDENT@[21; 25) "Copy" + WHITESPACE@[25; 26) " " + BLOCK_EXPR@[26; 28) + BLOCK@[26; 28) + L_CURLY@[26; 27) "{" + R_CURLY@[27; 28) "}" + WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.txt b/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.txt deleted file mode 100644 index 8e4b63f02..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.txt +++ /dev/null @@ -1,40 +0,0 @@ -SOURCE_FILE@[0; 29) - FN_DEF@[0; 28) - 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; 25) - WHERE_KW@[12; 17) "where" - WHITESPACE@[17; 18) " " - WHERE_PRED@[18; 25) - PATH_TYPE@[18; 19) - PATH@[18; 19) - PATH_SEGMENT@[18; 19) - NAME_REF@[18; 19) - IDENT@[18; 19) "T" - COLON@[19; 20) ":" - WHITESPACE@[20; 21) " " - TYPE_BOUND_LIST@[21; 25) - TYPE_BOUND@[21; 25) - PATH_TYPE@[21; 25) - PATH@[21; 25) - PATH_SEGMENT@[21; 25) - NAME_REF@[21; 25) - IDENT@[21; 25) "Copy" - WHITESPACE@[25; 26) " " - BLOCK_EXPR@[26; 28) - BLOCK@[26; 28) - L_CURLY@[26; 27) "{" - R_CURLY@[27; 28) "}" - WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast new file mode 100644 index 000000000..18ccfe9ef --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast @@ -0,0 +1,26 @@ +SOURCE_FILE@[0; 21) + FN_DEF@[0; 20) + 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; 20) + BLOCK@[9; 20) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 18) + TRY_EXPR@[15; 17) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + QUESTION@[16; 17) "?" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" + R_CURLY@[19; 20) "}" + WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.txt deleted file mode 100644 index 18ccfe9ef..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.txt +++ /dev/null @@ -1,26 +0,0 @@ -SOURCE_FILE@[0; 21) - FN_DEF@[0; 20) - 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; 20) - BLOCK@[9; 20) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 18) - TRY_EXPR@[15; 17) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - QUESTION@[16; 17) "?" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" - R_CURLY@[19; 20) "}" - WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast new file mode 100644 index 000000000..4bc0b1858 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 16) + TYPE_ALIAS_DEF@[0; 15) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) " " + EQ@[9; 10) "=" + WHITESPACE@[10; 11) " " + PATH_TYPE@[11; 14) + PATH@[11; 14) + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "Bar" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.txt b/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.txt deleted file mode 100644 index 4bc0b1858..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 16) - TYPE_ALIAS_DEF@[0; 15) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 8) - IDENT@[5; 8) "Foo" - WHITESPACE@[8; 9) " " - EQ@[9; 10) "=" - WHITESPACE@[10; 11) " " - PATH_TYPE@[11; 14) - PATH@[11; 14) - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "Bar" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast b/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast new file mode 100644 index 000000000..4c2863ba7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.rast @@ -0,0 +1,14 @@ +SOURCE_FILE@[0; 12) + IMPL_DEF@[0; 11) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + PATH_TYPE@[5; 8) + PATH@[5; 8) + PATH_SEGMENT@[5; 8) + NAME_REF@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) " " + ITEM_LIST@[9; 11) + L_CURLY@[9; 10) "{" + R_CURLY@[10; 11) "}" + WHITESPACE@[11; 12) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.txt b/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.txt deleted file mode 100644 index 4c2863ba7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0079_impl_def.txt +++ /dev/null @@ -1,14 +0,0 @@ -SOURCE_FILE@[0; 12) - IMPL_DEF@[0; 11) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - PATH_TYPE@[5; 8) - PATH@[5; 8) - PATH_SEGMENT@[5; 8) - NAME_REF@[5; 8) - IDENT@[5; 8) "Foo" - WHITESPACE@[8; 9) " " - ITEM_LIST@[9; 11) - L_CURLY@[9; 10) "{" - R_CURLY@[10; 11) "}" - WHITESPACE@[11; 12) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast b/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast new file mode 100644 index 000000000..9f8a6b0f6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast @@ -0,0 +1,96 @@ +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 " + LET_STMT@[15; 27) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "x" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + RANGE_EXPR@[23; 26) + LITERAL@[23; 24) + INT_NUMBER@[23; 24) "1" + DOTDOT@[24; 26) ".." + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + EXPR_STMT@[32; 54) + MATCH_EXPR@[32; 53) + MATCH_KW@[32; 37) "match" + WHITESPACE@[37; 38) " " + RANGE_EXPR@[38; 41) + LITERAL@[38; 39) + INT_NUMBER@[38; 39) "1" + DOTDOT@[39; 41) ".." + WHITESPACE@[41; 42) " " + MATCH_ARM_LIST@[42; 53) + L_CURLY@[42; 43) "{" + WHITESPACE@[43; 44) " " + MATCH_ARM@[44; 51) + PLACEHOLDER_PAT@[44; 45) + UNDERSCORE@[44; 45) "_" + WHITESPACE@[45; 46) " " + FAT_ARROW@[46; 48) "=>" + WHITESPACE@[48; 49) " " + TUPLE_EXPR@[49; 51) + L_PAREN@[49; 50) "(" + R_PAREN@[50; 51) ")" + WHITESPACE@[51; 52) " " + R_CURLY@[52; 53) "}" + SEMI@[53; 54) ";" + WHITESPACE@[54; 59) "\n " + EXPR_STMT@[59; 86) + MATCH_EXPR@[59; 85) + MATCH_KW@[59; 64) "match" + WHITESPACE@[64; 65) " " + RANGE_EXPR@[65; 73) + METHOD_CALL_EXPR@[65; 70) + PATH_EXPR@[65; 66) + PATH@[65; 66) + PATH_SEGMENT@[65; 66) + NAME_REF@[65; 66) + IDENT@[65; 66) "a" + DOT@[66; 67) "." + NAME_REF@[67; 68) + IDENT@[67; 68) "b" + ARG_LIST@[68; 70) + L_PAREN@[68; 69) "(" + R_PAREN@[69; 70) ")" + DOTDOT@[70; 72) ".." + PATH_EXPR@[72; 73) + PATH@[72; 73) + PATH_SEGMENT@[72; 73) + NAME_REF@[72; 73) + IDENT@[72; 73) "S" + WHITESPACE@[73; 74) " " + MATCH_ARM_LIST@[74; 85) + L_CURLY@[74; 75) "{" + WHITESPACE@[75; 76) " " + MATCH_ARM@[76; 83) + PLACEHOLDER_PAT@[76; 77) + UNDERSCORE@[76; 77) "_" + WHITESPACE@[77; 78) " " + FAT_ARROW@[78; 80) "=>" + WHITESPACE@[80; 81) " " + TUPLE_EXPR@[81; 83) + L_PAREN@[81; 82) "(" + R_PAREN@[82; 83) ")" + WHITESPACE@[83; 84) " " + R_CURLY@[84; 85) "}" + SEMI@[85; 86) ";" + WHITESPACE@[86; 87) "\n" + R_CURLY@[87; 88) "}" + WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.txt b/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.txt deleted file mode 100644 index 9f8a6b0f6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.txt +++ /dev/null @@ -1,96 +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 " - LET_STMT@[15; 27) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - BIND_PAT@[19; 20) - NAME@[19; 20) - IDENT@[19; 20) "x" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - RANGE_EXPR@[23; 26) - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "1" - DOTDOT@[24; 26) ".." - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - EXPR_STMT@[32; 54) - MATCH_EXPR@[32; 53) - MATCH_KW@[32; 37) "match" - WHITESPACE@[37; 38) " " - RANGE_EXPR@[38; 41) - LITERAL@[38; 39) - INT_NUMBER@[38; 39) "1" - DOTDOT@[39; 41) ".." - WHITESPACE@[41; 42) " " - MATCH_ARM_LIST@[42; 53) - L_CURLY@[42; 43) "{" - WHITESPACE@[43; 44) " " - MATCH_ARM@[44; 51) - PLACEHOLDER_PAT@[44; 45) - UNDERSCORE@[44; 45) "_" - WHITESPACE@[45; 46) " " - FAT_ARROW@[46; 48) "=>" - WHITESPACE@[48; 49) " " - TUPLE_EXPR@[49; 51) - L_PAREN@[49; 50) "(" - R_PAREN@[50; 51) ")" - WHITESPACE@[51; 52) " " - R_CURLY@[52; 53) "}" - SEMI@[53; 54) ";" - WHITESPACE@[54; 59) "\n " - EXPR_STMT@[59; 86) - MATCH_EXPR@[59; 85) - MATCH_KW@[59; 64) "match" - WHITESPACE@[64; 65) " " - RANGE_EXPR@[65; 73) - METHOD_CALL_EXPR@[65; 70) - PATH_EXPR@[65; 66) - PATH@[65; 66) - PATH_SEGMENT@[65; 66) - NAME_REF@[65; 66) - IDENT@[65; 66) "a" - DOT@[66; 67) "." - NAME_REF@[67; 68) - IDENT@[67; 68) "b" - ARG_LIST@[68; 70) - L_PAREN@[68; 69) "(" - R_PAREN@[69; 70) ")" - DOTDOT@[70; 72) ".." - PATH_EXPR@[72; 73) - PATH@[72; 73) - PATH_SEGMENT@[72; 73) - NAME_REF@[72; 73) - IDENT@[72; 73) "S" - WHITESPACE@[73; 74) " " - MATCH_ARM_LIST@[74; 85) - L_CURLY@[74; 75) "{" - WHITESPACE@[75; 76) " " - MATCH_ARM@[76; 83) - PLACEHOLDER_PAT@[76; 77) - UNDERSCORE@[76; 77) "_" - WHITESPACE@[77; 78) " " - FAT_ARROW@[78; 80) "=>" - WHITESPACE@[80; 81) " " - TUPLE_EXPR@[81; 83) - L_PAREN@[81; 82) "(" - R_PAREN@[82; 83) ")" - WHITESPACE@[83; 84) " " - R_CURLY@[84; 85) "}" - SEMI@[85; 86) ";" - WHITESPACE@[86; 87) "\n" - R_CURLY@[87; 88) "}" - WHITESPACE@[88; 89) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast new file mode 100644 index 000000000..b1353c2c6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast @@ -0,0 +1,243 @@ +SOURCE_FILE@[0; 200) + TYPE_ALIAS_DEF@[0; 28) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + FOR_TYPE@[9; 27) + FOR_KW@[9; 12) "for" + TYPE_PARAM_LIST@[12; 16) + L_ANGLE@[12; 13) "<" + LIFETIME_PARAM@[13; 15) + LIFETIME@[13; 15) "\'a" + R_ANGLE@[15; 16) ">" + WHITESPACE@[16; 17) " " + FN_POINTER_TYPE@[17; 27) + FN_KW@[17; 19) "fn" + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) "(" + R_PAREN@[20; 21) ")" + WHITESPACE@[21; 22) " " + RET_TYPE@[22; 27) + THIN_ARROW@[22; 24) "->" + WHITESPACE@[24; 25) " " + TUPLE_TYPE@[25; 27) + L_PAREN@[25; 26) "(" + R_PAREN@[26; 27) ")" + SEMI@[27; 28) ";" + WHITESPACE@[28; 29) "\n" + FN_DEF@[29; 79) + FN_KW@[29; 31) "fn" + WHITESPACE@[31; 32) " " + NAME@[32; 35) + IDENT@[32; 35) "foo" + TYPE_PARAM_LIST@[35; 38) + L_ANGLE@[35; 36) "<" + TYPE_PARAM@[36; 37) + NAME@[36; 37) + IDENT@[36; 37) "T" + R_ANGLE@[37; 38) ">" + PARAM_LIST@[38; 46) + L_PAREN@[38; 39) "(" + PARAM@[39; 45) + BIND_PAT@[39; 41) + NAME@[39; 41) + IDENT@[39; 41) "_t" + COLON@[41; 42) ":" + WHITESPACE@[42; 43) " " + REFERENCE_TYPE@[43; 45) + AMP@[43; 44) "&" + PATH_TYPE@[44; 45) + PATH@[44; 45) + PATH_SEGMENT@[44; 45) + NAME_REF@[44; 45) + IDENT@[44; 45) "T" + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + WHERE_CLAUSE@[47; 76) + WHERE_KW@[47; 52) "where" + WHITESPACE@[52; 53) " " + WHERE_PRED@[53; 76) + FOR_TYPE@[53; 66) + FOR_KW@[53; 56) "for" + TYPE_PARAM_LIST@[56; 60) + L_ANGLE@[56; 57) "<" + LIFETIME_PARAM@[57; 59) + LIFETIME@[57; 59) "\'a" + R_ANGLE@[59; 60) ">" + WHITESPACE@[60; 61) " " + REFERENCE_TYPE@[61; 66) + AMP@[61; 62) "&" + LIFETIME@[62; 64) "\'a" + WHITESPACE@[64; 65) " " + PATH_TYPE@[65; 66) + PATH@[65; 66) + PATH_SEGMENT@[65; 66) + NAME_REF@[65; 66) + IDENT@[65; 66) "T" + COLON@[66; 67) ":" + WHITESPACE@[67; 68) " " + TYPE_BOUND_LIST@[68; 76) + TYPE_BOUND@[68; 76) + PATH_TYPE@[68; 76) + PATH@[68; 76) + PATH_SEGMENT@[68; 76) + NAME_REF@[68; 76) + IDENT@[68; 76) "Iterator" + WHITESPACE@[76; 77) " " + BLOCK_EXPR@[77; 79) + BLOCK@[77; 79) + L_CURLY@[77; 78) "{" + R_CURLY@[78; 79) "}" + WHITESPACE@[79; 80) "\n" + FN_DEF@[80; 134) + FN_KW@[80; 82) "fn" + WHITESPACE@[82; 83) " " + NAME@[83; 86) + IDENT@[83; 86) "bar" + TYPE_PARAM_LIST@[86; 89) + L_ANGLE@[86; 87) "<" + TYPE_PARAM@[87; 88) + NAME@[87; 88) + IDENT@[87; 88) "T" + R_ANGLE@[88; 89) ">" + PARAM_LIST@[89; 97) + L_PAREN@[89; 90) "(" + PARAM@[90; 96) + BIND_PAT@[90; 92) + NAME@[90; 92) + IDENT@[90; 92) "_t" + COLON@[92; 93) ":" + WHITESPACE@[93; 94) " " + REFERENCE_TYPE@[94; 96) + AMP@[94; 95) "&" + PATH_TYPE@[95; 96) + PATH@[95; 96) + PATH_SEGMENT@[95; 96) + NAME_REF@[95; 96) + IDENT@[95; 96) "T" + R_PAREN@[96; 97) ")" + WHITESPACE@[97; 98) " " + WHERE_CLAUSE@[98; 131) + WHERE_KW@[98; 103) "where" + WHITESPACE@[103; 104) " " + WHERE_PRED@[104; 131) + FOR_TYPE@[104; 121) + FOR_KW@[104; 107) "for" + TYPE_PARAM_LIST@[107; 111) + L_ANGLE@[107; 108) "<" + LIFETIME_PARAM@[108; 110) + LIFETIME@[108; 110) "\'a" + R_ANGLE@[110; 111) ">" + WHITESPACE@[111; 112) " " + REFERENCE_TYPE@[112; 121) + AMP@[112; 113) "&" + LIFETIME@[113; 115) "\'a" + WHITESPACE@[115; 116) " " + MUT_KW@[116; 119) "mut" + WHITESPACE@[119; 120) " " + PATH_TYPE@[120; 121) + PATH@[120; 121) + PATH_SEGMENT@[120; 121) + NAME_REF@[120; 121) + IDENT@[120; 121) "T" + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " + TYPE_BOUND_LIST@[123; 131) + TYPE_BOUND@[123; 131) + PATH_TYPE@[123; 131) + PATH@[123; 131) + PATH_SEGMENT@[123; 131) + NAME_REF@[123; 131) + IDENT@[123; 131) "Iterator" + WHITESPACE@[131; 132) " " + BLOCK_EXPR@[132; 134) + BLOCK@[132; 134) + L_CURLY@[132; 133) "{" + R_CURLY@[133; 134) "}" + WHITESPACE@[134; 135) "\n" + FN_DEF@[135; 199) + FN_KW@[135; 137) "fn" + WHITESPACE@[137; 138) " " + NAME@[138; 141) + IDENT@[138; 141) "baz" + TYPE_PARAM_LIST@[141; 144) + L_ANGLE@[141; 142) "<" + TYPE_PARAM@[142; 143) + NAME@[142; 143) + IDENT@[142; 143) "T" + R_ANGLE@[143; 144) ">" + PARAM_LIST@[144; 152) + L_PAREN@[144; 145) "(" + PARAM@[145; 151) + BIND_PAT@[145; 147) + NAME@[145; 147) + IDENT@[145; 147) "_t" + COLON@[147; 148) ":" + WHITESPACE@[148; 149) " " + REFERENCE_TYPE@[149; 151) + AMP@[149; 150) "&" + PATH_TYPE@[150; 151) + PATH@[150; 151) + PATH_SEGMENT@[150; 151) + NAME_REF@[150; 151) + IDENT@[150; 151) "T" + R_PAREN@[151; 152) ")" + WHITESPACE@[152; 153) " " + WHERE_CLAUSE@[153; 196) + WHERE_KW@[153; 158) "where" + WHITESPACE@[158; 159) " " + WHERE_PRED@[159; 196) + FOR_TYPE@[159; 186) + FOR_KW@[159; 162) "for" + TYPE_PARAM_LIST@[162; 166) + L_ANGLE@[162; 163) "<" + LIFETIME_PARAM@[163; 165) + LIFETIME@[163; 165) "\'a" + R_ANGLE@[165; 166) ">" + WHITESPACE@[166; 167) " " + PATH_TYPE@[167; 186) + PATH@[167; 186) + PATH@[167; 181) + PATH_SEGMENT@[167; 181) + L_ANGLE@[167; 168) "<" + REFERENCE_TYPE@[168; 173) + AMP@[168; 169) "&" + LIFETIME@[169; 171) "\'a" + WHITESPACE@[171; 172) " " + PATH_TYPE@[172; 173) + PATH@[172; 173) + PATH_SEGMENT@[172; 173) + NAME_REF@[172; 173) + IDENT@[172; 173) "T" + WHITESPACE@[173; 174) " " + AS_KW@[174; 176) "as" + WHITESPACE@[176; 177) " " + PATH_TYPE@[177; 180) + PATH@[177; 180) + PATH_SEGMENT@[177; 180) + NAME_REF@[177; 180) + IDENT@[177; 180) "Baz" + R_ANGLE@[180; 181) ">" + COLONCOLON@[181; 183) "::" + PATH_SEGMENT@[183; 186) + NAME_REF@[183; 186) + IDENT@[183; 186) "Foo" + COLON@[186; 187) ":" + WHITESPACE@[187; 188) " " + TYPE_BOUND_LIST@[188; 196) + TYPE_BOUND@[188; 196) + PATH_TYPE@[188; 196) + PATH@[188; 196) + PATH_SEGMENT@[188; 196) + NAME_REF@[188; 196) + IDENT@[188; 196) "Iterator" + WHITESPACE@[196; 197) " " + BLOCK_EXPR@[197; 199) + BLOCK@[197; 199) + L_CURLY@[197; 198) "{" + R_CURLY@[198; 199) "}" + WHITESPACE@[199; 200) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.txt deleted file mode 100644 index b1353c2c6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.txt +++ /dev/null @@ -1,243 +0,0 @@ -SOURCE_FILE@[0; 200) - TYPE_ALIAS_DEF@[0; 28) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - FOR_TYPE@[9; 27) - FOR_KW@[9; 12) "for" - TYPE_PARAM_LIST@[12; 16) - L_ANGLE@[12; 13) "<" - LIFETIME_PARAM@[13; 15) - LIFETIME@[13; 15) "\'a" - R_ANGLE@[15; 16) ">" - WHITESPACE@[16; 17) " " - FN_POINTER_TYPE@[17; 27) - FN_KW@[17; 19) "fn" - PARAM_LIST@[19; 21) - L_PAREN@[19; 20) "(" - R_PAREN@[20; 21) ")" - WHITESPACE@[21; 22) " " - RET_TYPE@[22; 27) - THIN_ARROW@[22; 24) "->" - WHITESPACE@[24; 25) " " - TUPLE_TYPE@[25; 27) - L_PAREN@[25; 26) "(" - R_PAREN@[26; 27) ")" - SEMI@[27; 28) ";" - WHITESPACE@[28; 29) "\n" - FN_DEF@[29; 79) - FN_KW@[29; 31) "fn" - WHITESPACE@[31; 32) " " - NAME@[32; 35) - IDENT@[32; 35) "foo" - TYPE_PARAM_LIST@[35; 38) - L_ANGLE@[35; 36) "<" - TYPE_PARAM@[36; 37) - NAME@[36; 37) - IDENT@[36; 37) "T" - R_ANGLE@[37; 38) ">" - PARAM_LIST@[38; 46) - L_PAREN@[38; 39) "(" - PARAM@[39; 45) - BIND_PAT@[39; 41) - NAME@[39; 41) - IDENT@[39; 41) "_t" - COLON@[41; 42) ":" - WHITESPACE@[42; 43) " " - REFERENCE_TYPE@[43; 45) - AMP@[43; 44) "&" - PATH_TYPE@[44; 45) - PATH@[44; 45) - PATH_SEGMENT@[44; 45) - NAME_REF@[44; 45) - IDENT@[44; 45) "T" - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - WHERE_CLAUSE@[47; 76) - WHERE_KW@[47; 52) "where" - WHITESPACE@[52; 53) " " - WHERE_PRED@[53; 76) - FOR_TYPE@[53; 66) - FOR_KW@[53; 56) "for" - TYPE_PARAM_LIST@[56; 60) - L_ANGLE@[56; 57) "<" - LIFETIME_PARAM@[57; 59) - LIFETIME@[57; 59) "\'a" - R_ANGLE@[59; 60) ">" - WHITESPACE@[60; 61) " " - REFERENCE_TYPE@[61; 66) - AMP@[61; 62) "&" - LIFETIME@[62; 64) "\'a" - WHITESPACE@[64; 65) " " - PATH_TYPE@[65; 66) - PATH@[65; 66) - PATH_SEGMENT@[65; 66) - NAME_REF@[65; 66) - IDENT@[65; 66) "T" - COLON@[66; 67) ":" - WHITESPACE@[67; 68) " " - TYPE_BOUND_LIST@[68; 76) - TYPE_BOUND@[68; 76) - PATH_TYPE@[68; 76) - PATH@[68; 76) - PATH_SEGMENT@[68; 76) - NAME_REF@[68; 76) - IDENT@[68; 76) "Iterator" - WHITESPACE@[76; 77) " " - BLOCK_EXPR@[77; 79) - BLOCK@[77; 79) - L_CURLY@[77; 78) "{" - R_CURLY@[78; 79) "}" - WHITESPACE@[79; 80) "\n" - FN_DEF@[80; 134) - FN_KW@[80; 82) "fn" - WHITESPACE@[82; 83) " " - NAME@[83; 86) - IDENT@[83; 86) "bar" - TYPE_PARAM_LIST@[86; 89) - L_ANGLE@[86; 87) "<" - TYPE_PARAM@[87; 88) - NAME@[87; 88) - IDENT@[87; 88) "T" - R_ANGLE@[88; 89) ">" - PARAM_LIST@[89; 97) - L_PAREN@[89; 90) "(" - PARAM@[90; 96) - BIND_PAT@[90; 92) - NAME@[90; 92) - IDENT@[90; 92) "_t" - COLON@[92; 93) ":" - WHITESPACE@[93; 94) " " - REFERENCE_TYPE@[94; 96) - AMP@[94; 95) "&" - PATH_TYPE@[95; 96) - PATH@[95; 96) - PATH_SEGMENT@[95; 96) - NAME_REF@[95; 96) - IDENT@[95; 96) "T" - R_PAREN@[96; 97) ")" - WHITESPACE@[97; 98) " " - WHERE_CLAUSE@[98; 131) - WHERE_KW@[98; 103) "where" - WHITESPACE@[103; 104) " " - WHERE_PRED@[104; 131) - FOR_TYPE@[104; 121) - FOR_KW@[104; 107) "for" - TYPE_PARAM_LIST@[107; 111) - L_ANGLE@[107; 108) "<" - LIFETIME_PARAM@[108; 110) - LIFETIME@[108; 110) "\'a" - R_ANGLE@[110; 111) ">" - WHITESPACE@[111; 112) " " - REFERENCE_TYPE@[112; 121) - AMP@[112; 113) "&" - LIFETIME@[113; 115) "\'a" - WHITESPACE@[115; 116) " " - MUT_KW@[116; 119) "mut" - WHITESPACE@[119; 120) " " - PATH_TYPE@[120; 121) - PATH@[120; 121) - PATH_SEGMENT@[120; 121) - NAME_REF@[120; 121) - IDENT@[120; 121) "T" - COLON@[121; 122) ":" - WHITESPACE@[122; 123) " " - TYPE_BOUND_LIST@[123; 131) - TYPE_BOUND@[123; 131) - PATH_TYPE@[123; 131) - PATH@[123; 131) - PATH_SEGMENT@[123; 131) - NAME_REF@[123; 131) - IDENT@[123; 131) "Iterator" - WHITESPACE@[131; 132) " " - BLOCK_EXPR@[132; 134) - BLOCK@[132; 134) - L_CURLY@[132; 133) "{" - R_CURLY@[133; 134) "}" - WHITESPACE@[134; 135) "\n" - FN_DEF@[135; 199) - FN_KW@[135; 137) "fn" - WHITESPACE@[137; 138) " " - NAME@[138; 141) - IDENT@[138; 141) "baz" - TYPE_PARAM_LIST@[141; 144) - L_ANGLE@[141; 142) "<" - TYPE_PARAM@[142; 143) - NAME@[142; 143) - IDENT@[142; 143) "T" - R_ANGLE@[143; 144) ">" - PARAM_LIST@[144; 152) - L_PAREN@[144; 145) "(" - PARAM@[145; 151) - BIND_PAT@[145; 147) - NAME@[145; 147) - IDENT@[145; 147) "_t" - COLON@[147; 148) ":" - WHITESPACE@[148; 149) " " - REFERENCE_TYPE@[149; 151) - AMP@[149; 150) "&" - PATH_TYPE@[150; 151) - PATH@[150; 151) - PATH_SEGMENT@[150; 151) - NAME_REF@[150; 151) - IDENT@[150; 151) "T" - R_PAREN@[151; 152) ")" - WHITESPACE@[152; 153) " " - WHERE_CLAUSE@[153; 196) - WHERE_KW@[153; 158) "where" - WHITESPACE@[158; 159) " " - WHERE_PRED@[159; 196) - FOR_TYPE@[159; 186) - FOR_KW@[159; 162) "for" - TYPE_PARAM_LIST@[162; 166) - L_ANGLE@[162; 163) "<" - LIFETIME_PARAM@[163; 165) - LIFETIME@[163; 165) "\'a" - R_ANGLE@[165; 166) ">" - WHITESPACE@[166; 167) " " - PATH_TYPE@[167; 186) - PATH@[167; 186) - PATH@[167; 181) - PATH_SEGMENT@[167; 181) - L_ANGLE@[167; 168) "<" - REFERENCE_TYPE@[168; 173) - AMP@[168; 169) "&" - LIFETIME@[169; 171) "\'a" - WHITESPACE@[171; 172) " " - PATH_TYPE@[172; 173) - PATH@[172; 173) - PATH_SEGMENT@[172; 173) - NAME_REF@[172; 173) - IDENT@[172; 173) "T" - WHITESPACE@[173; 174) " " - AS_KW@[174; 176) "as" - WHITESPACE@[176; 177) " " - PATH_TYPE@[177; 180) - PATH@[177; 180) - PATH_SEGMENT@[177; 180) - NAME_REF@[177; 180) - IDENT@[177; 180) "Baz" - R_ANGLE@[180; 181) ">" - COLONCOLON@[181; 183) "::" - PATH_SEGMENT@[183; 186) - NAME_REF@[183; 186) - IDENT@[183; 186) "Foo" - COLON@[186; 187) ":" - WHITESPACE@[187; 188) " " - TYPE_BOUND_LIST@[188; 196) - TYPE_BOUND@[188; 196) - PATH_TYPE@[188; 196) - PATH@[188; 196) - PATH_SEGMENT@[188; 196) - NAME_REF@[188; 196) - IDENT@[188; 196) "Iterator" - WHITESPACE@[196; 197) " " - BLOCK_EXPR@[197; 199) - BLOCK@[197; 199) - L_CURLY@[197; 198) "{" - R_CURLY@[198; 199) "}" - WHITESPACE@[199; 200) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast new file mode 100644 index 000000000..8f34afe76 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast @@ -0,0 +1,55 @@ +SOURCE_FILE@[0; 52) + FN_DEF@[0; 51) + 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; 51) + BLOCK@[9; 51) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 26) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + REF_EXPR@[23; 25) + AMP@[23; 24) "&" + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + SEMI@[25; 26) ";" + WHITESPACE@[26; 31) "\n " + LET_STMT@[31; 49) + LET_KW@[31; 34) "let" + WHITESPACE@[34; 35) " " + PLACEHOLDER_PAT@[35; 36) + UNDERSCORE@[35; 36) "_" + WHITESPACE@[36; 37) " " + EQ@[37; 38) "=" + WHITESPACE@[38; 39) " " + REF_EXPR@[39; 48) + AMP@[39; 40) "&" + MUT_KW@[40; 43) "mut" + WHITESPACE@[43; 44) " " + REF_EXPR@[44; 48) + AMP@[44; 45) "&" + CALL_EXPR@[45; 48) + PATH_EXPR@[45; 46) + PATH@[45; 46) + PATH_SEGMENT@[45; 46) + NAME_REF@[45; 46) + IDENT@[45; 46) "f" + ARG_LIST@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + SEMI@[48; 49) ";" + WHITESPACE@[49; 50) "\n" + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.txt deleted file mode 100644 index 8f34afe76..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.txt +++ /dev/null @@ -1,55 +0,0 @@ -SOURCE_FILE@[0; 52) - FN_DEF@[0; 51) - 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; 51) - BLOCK@[9; 51) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 26) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - REF_EXPR@[23; 25) - AMP@[23; 24) "&" - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - SEMI@[25; 26) ";" - WHITESPACE@[26; 31) "\n " - LET_STMT@[31; 49) - LET_KW@[31; 34) "let" - WHITESPACE@[34; 35) " " - PLACEHOLDER_PAT@[35; 36) - UNDERSCORE@[35; 36) "_" - WHITESPACE@[36; 37) " " - EQ@[37; 38) "=" - WHITESPACE@[38; 39) " " - REF_EXPR@[39; 48) - AMP@[39; 40) "&" - MUT_KW@[40; 43) "mut" - WHITESPACE@[43; 44) " " - REF_EXPR@[44; 48) - AMP@[44; 45) "&" - CALL_EXPR@[45; 48) - PATH_EXPR@[45; 46) - PATH@[45; 46) - PATH_SEGMENT@[45; 46) - NAME_REF@[45; 46) - IDENT@[45; 46) "f" - ARG_LIST@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - SEMI@[48; 49) ";" - WHITESPACE@[49; 50) "\n" - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast b/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast new file mode 100644 index 000000000..e909f2b78 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast @@ -0,0 +1,87 @@ +SOURCE_FILE@[0; 106) + STRUCT_DEF@[0; 11) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 10) + IDENT@[7; 10) "Foo" + SEMI@[10; 11) ";" + WHITESPACE@[11; 12) "\n" + STRUCT_DEF@[12; 25) + STRUCT_KW@[12; 18) "struct" + WHITESPACE@[18; 19) " " + NAME@[19; 22) + IDENT@[19; 22) "Foo" + WHITESPACE@[22; 23) " " + RECORD_FIELD_DEF_LIST@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" + STRUCT_DEF@[26; 39) + STRUCT_KW@[26; 32) "struct" + WHITESPACE@[32; 33) " " + NAME@[33; 36) + IDENT@[33; 36) "Foo" + TUPLE_FIELD_DEF_LIST@[36; 38) + L_PAREN@[36; 37) "(" + R_PAREN@[37; 38) ")" + SEMI@[38; 39) ";" + WHITESPACE@[39; 40) "\n" + STRUCT_DEF@[40; 66) + STRUCT_KW@[40; 46) "struct" + WHITESPACE@[46; 47) " " + NAME@[47; 50) + IDENT@[47; 50) "Foo" + TUPLE_FIELD_DEF_LIST@[50; 65) + L_PAREN@[50; 51) "(" + TUPLE_FIELD_DEF@[51; 57) + PATH_TYPE@[51; 57) + PATH@[51; 57) + PATH_SEGMENT@[51; 57) + NAME_REF@[51; 57) + IDENT@[51; 57) "String" + COMMA@[57; 58) "," + WHITESPACE@[58; 59) " " + TUPLE_FIELD_DEF@[59; 64) + PATH_TYPE@[59; 64) + PATH@[59; 64) + PATH_SEGMENT@[59; 64) + NAME_REF@[59; 64) + IDENT@[59; 64) "usize" + R_PAREN@[64; 65) ")" + SEMI@[65; 66) ";" + WHITESPACE@[66; 67) "\n" + STRUCT_DEF@[67; 105) + STRUCT_KW@[67; 73) "struct" + WHITESPACE@[73; 74) " " + NAME@[74; 77) + IDENT@[74; 77) "Foo" + WHITESPACE@[77; 78) " " + RECORD_FIELD_DEF_LIST@[78; 105) + L_CURLY@[78; 79) "{" + WHITESPACE@[79; 84) "\n " + RECORD_FIELD_DEF@[84; 90) + NAME@[84; 85) + IDENT@[84; 85) "a" + COLON@[85; 86) ":" + WHITESPACE@[86; 87) " " + PATH_TYPE@[87; 90) + PATH@[87; 90) + PATH_SEGMENT@[87; 90) + NAME_REF@[87; 90) + IDENT@[87; 90) "i32" + COMMA@[90; 91) "," + WHITESPACE@[91; 96) "\n " + RECORD_FIELD_DEF@[96; 102) + NAME@[96; 97) + IDENT@[96; 97) "b" + COLON@[97; 98) ":" + WHITESPACE@[98; 99) " " + PATH_TYPE@[99; 102) + PATH@[99; 102) + PATH_SEGMENT@[99; 102) + NAME_REF@[99; 102) + IDENT@[99; 102) "f32" + COMMA@[102; 103) "," + WHITESPACE@[103; 104) "\n" + R_CURLY@[104; 105) "}" + WHITESPACE@[105; 106) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.txt b/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.txt deleted file mode 100644 index e909f2b78..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.txt +++ /dev/null @@ -1,87 +0,0 @@ -SOURCE_FILE@[0; 106) - STRUCT_DEF@[0; 11) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 10) - IDENT@[7; 10) "Foo" - SEMI@[10; 11) ";" - WHITESPACE@[11; 12) "\n" - STRUCT_DEF@[12; 25) - STRUCT_KW@[12; 18) "struct" - WHITESPACE@[18; 19) " " - NAME@[19; 22) - IDENT@[19; 22) "Foo" - WHITESPACE@[22; 23) " " - RECORD_FIELD_DEF_LIST@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" - STRUCT_DEF@[26; 39) - STRUCT_KW@[26; 32) "struct" - WHITESPACE@[32; 33) " " - NAME@[33; 36) - IDENT@[33; 36) "Foo" - TUPLE_FIELD_DEF_LIST@[36; 38) - L_PAREN@[36; 37) "(" - R_PAREN@[37; 38) ")" - SEMI@[38; 39) ";" - WHITESPACE@[39; 40) "\n" - STRUCT_DEF@[40; 66) - STRUCT_KW@[40; 46) "struct" - WHITESPACE@[46; 47) " " - NAME@[47; 50) - IDENT@[47; 50) "Foo" - TUPLE_FIELD_DEF_LIST@[50; 65) - L_PAREN@[50; 51) "(" - TUPLE_FIELD_DEF@[51; 57) - PATH_TYPE@[51; 57) - PATH@[51; 57) - PATH_SEGMENT@[51; 57) - NAME_REF@[51; 57) - IDENT@[51; 57) "String" - COMMA@[57; 58) "," - WHITESPACE@[58; 59) " " - TUPLE_FIELD_DEF@[59; 64) - PATH_TYPE@[59; 64) - PATH@[59; 64) - PATH_SEGMENT@[59; 64) - NAME_REF@[59; 64) - IDENT@[59; 64) "usize" - R_PAREN@[64; 65) ")" - SEMI@[65; 66) ";" - WHITESPACE@[66; 67) "\n" - STRUCT_DEF@[67; 105) - STRUCT_KW@[67; 73) "struct" - WHITESPACE@[73; 74) " " - NAME@[74; 77) - IDENT@[74; 77) "Foo" - WHITESPACE@[77; 78) " " - RECORD_FIELD_DEF_LIST@[78; 105) - L_CURLY@[78; 79) "{" - WHITESPACE@[79; 84) "\n " - RECORD_FIELD_DEF@[84; 90) - NAME@[84; 85) - IDENT@[84; 85) "a" - COLON@[85; 86) ":" - WHITESPACE@[86; 87) " " - PATH_TYPE@[87; 90) - PATH@[87; 90) - PATH_SEGMENT@[87; 90) - NAME_REF@[87; 90) - IDENT@[87; 90) "i32" - COMMA@[90; 91) "," - WHITESPACE@[91; 96) "\n " - RECORD_FIELD_DEF@[96; 102) - NAME@[96; 97) - IDENT@[96; 97) "b" - COLON@[97; 98) ":" - WHITESPACE@[98; 99) " " - PATH_TYPE@[99; 102) - PATH@[99; 102) - PATH_SEGMENT@[99; 102) - NAME_REF@[99; 102) - IDENT@[99; 102) "f32" - COMMA@[102; 103) "," - WHITESPACE@[103; 104) "\n" - R_CURLY@[104; 105) "}" - WHITESPACE@[105; 106) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast new file mode 100644 index 000000000..c0cf48af5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast @@ -0,0 +1,19 @@ +SOURCE_FILE@[0; 16) + TYPE_ALIAS_DEF@[0; 15) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "T" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PAREN_TYPE@[9; 14) + L_PAREN@[9; 10) "(" + PATH_TYPE@[10; 13) + PATH@[10; 13) + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "i32" + R_PAREN@[13; 14) ")" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.txt deleted file mode 100644 index c0cf48af5..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.txt +++ /dev/null @@ -1,19 +0,0 @@ -SOURCE_FILE@[0; 16) - TYPE_ALIAS_DEF@[0; 15) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "T" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PAREN_TYPE@[9; 14) - L_PAREN@[9; 10) "(" - PATH_TYPE@[10; 13) - PATH@[10; 13) - PATH_SEGMENT@[10; 13) - NAME_REF@[10; 13) - IDENT@[10; 13) "i32" - R_PAREN@[13; 14) ")" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast b/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast new file mode 100644 index 000000000..2903c6f9a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast @@ -0,0 +1,136 @@ +SOURCE_FILE@[0; 189) + FN_DEF@[0; 188) + 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; 188) + BLOCK@[9; 188) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 28) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + LITERAL@[23; 27) + TRUE_KW@[23; 27) "true" + SEMI@[27; 28) ";" + WHITESPACE@[28; 33) "\n " + LET_STMT@[33; 47) + LET_KW@[33; 36) "let" + WHITESPACE@[36; 37) " " + PLACEHOLDER_PAT@[37; 38) + UNDERSCORE@[37; 38) "_" + WHITESPACE@[38; 39) " " + EQ@[39; 40) "=" + WHITESPACE@[40; 41) " " + LITERAL@[41; 46) + FALSE_KW@[41; 46) "false" + SEMI@[46; 47) ";" + WHITESPACE@[47; 52) "\n " + LET_STMT@[52; 62) + LET_KW@[52; 55) "let" + WHITESPACE@[55; 56) " " + PLACEHOLDER_PAT@[56; 57) + UNDERSCORE@[56; 57) "_" + WHITESPACE@[57; 58) " " + EQ@[58; 59) "=" + WHITESPACE@[59; 60) " " + LITERAL@[60; 61) + INT_NUMBER@[60; 61) "1" + SEMI@[61; 62) ";" + WHITESPACE@[62; 67) "\n " + LET_STMT@[67; 79) + LET_KW@[67; 70) "let" + WHITESPACE@[70; 71) " " + PLACEHOLDER_PAT@[71; 72) + UNDERSCORE@[71; 72) "_" + WHITESPACE@[72; 73) " " + EQ@[73; 74) "=" + WHITESPACE@[74; 75) " " + LITERAL@[75; 78) + FLOAT_NUMBER@[75; 78) "2.0" + SEMI@[78; 79) ";" + WHITESPACE@[79; 84) "\n " + LET_STMT@[84; 97) + LET_KW@[84; 87) "let" + WHITESPACE@[87; 88) " " + PLACEHOLDER_PAT@[88; 89) + UNDERSCORE@[88; 89) "_" + WHITESPACE@[89; 90) " " + EQ@[90; 91) "=" + WHITESPACE@[91; 92) " " + LITERAL@[92; 96) + BYTE@[92; 96) "b\'a\'" + SEMI@[96; 97) ";" + WHITESPACE@[97; 102) "\n " + LET_STMT@[102; 114) + LET_KW@[102; 105) "let" + WHITESPACE@[105; 106) " " + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) "_" + WHITESPACE@[107; 108) " " + EQ@[108; 109) "=" + WHITESPACE@[109; 110) " " + LITERAL@[110; 113) + CHAR@[110; 113) "\'b\'" + SEMI@[113; 114) ";" + WHITESPACE@[114; 119) "\n " + LET_STMT@[119; 131) + LET_KW@[119; 122) "let" + WHITESPACE@[122; 123) " " + PLACEHOLDER_PAT@[123; 124) + UNDERSCORE@[123; 124) "_" + WHITESPACE@[124; 125) " " + EQ@[125; 126) "=" + WHITESPACE@[126; 127) " " + LITERAL@[127; 130) + STRING@[127; 130) "\"c\"" + SEMI@[130; 131) ";" + WHITESPACE@[131; 136) "\n " + LET_STMT@[136; 149) + LET_KW@[136; 139) "let" + WHITESPACE@[139; 140) " " + PLACEHOLDER_PAT@[140; 141) + UNDERSCORE@[140; 141) "_" + WHITESPACE@[141; 142) " " + EQ@[142; 143) "=" + WHITESPACE@[143; 144) " " + LITERAL@[144; 148) + RAW_STRING@[144; 148) "r\"d\"" + SEMI@[148; 149) ";" + WHITESPACE@[149; 154) "\n " + LET_STMT@[154; 167) + LET_KW@[154; 157) "let" + WHITESPACE@[157; 158) " " + PLACEHOLDER_PAT@[158; 159) + UNDERSCORE@[158; 159) "_" + WHITESPACE@[159; 160) " " + EQ@[160; 161) "=" + WHITESPACE@[161; 162) " " + LITERAL@[162; 166) + BYTE_STRING@[162; 166) "b\"e\"" + SEMI@[166; 167) ";" + WHITESPACE@[167; 172) "\n " + LET_STMT@[172; 186) + LET_KW@[172; 175) "let" + WHITESPACE@[175; 176) " " + PLACEHOLDER_PAT@[176; 177) + UNDERSCORE@[176; 177) "_" + WHITESPACE@[177; 178) " " + EQ@[178; 179) "=" + WHITESPACE@[179; 180) " " + LITERAL@[180; 185) + RAW_BYTE_STRING@[180; 185) "br\"f\"" + SEMI@[185; 186) ";" + WHITESPACE@[186; 187) "\n" + R_CURLY@[187; 188) "}" + WHITESPACE@[188; 189) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.txt b/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.txt deleted file mode 100644 index 2903c6f9a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.txt +++ /dev/null @@ -1,136 +0,0 @@ -SOURCE_FILE@[0; 189) - FN_DEF@[0; 188) - 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; 188) - BLOCK@[9; 188) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 28) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - LITERAL@[23; 27) - TRUE_KW@[23; 27) "true" - SEMI@[27; 28) ";" - WHITESPACE@[28; 33) "\n " - LET_STMT@[33; 47) - LET_KW@[33; 36) "let" - WHITESPACE@[36; 37) " " - PLACEHOLDER_PAT@[37; 38) - UNDERSCORE@[37; 38) "_" - WHITESPACE@[38; 39) " " - EQ@[39; 40) "=" - WHITESPACE@[40; 41) " " - LITERAL@[41; 46) - FALSE_KW@[41; 46) "false" - SEMI@[46; 47) ";" - WHITESPACE@[47; 52) "\n " - LET_STMT@[52; 62) - LET_KW@[52; 55) "let" - WHITESPACE@[55; 56) " " - PLACEHOLDER_PAT@[56; 57) - UNDERSCORE@[56; 57) "_" - WHITESPACE@[57; 58) " " - EQ@[58; 59) "=" - WHITESPACE@[59; 60) " " - LITERAL@[60; 61) - INT_NUMBER@[60; 61) "1" - SEMI@[61; 62) ";" - WHITESPACE@[62; 67) "\n " - LET_STMT@[67; 79) - LET_KW@[67; 70) "let" - WHITESPACE@[70; 71) " " - PLACEHOLDER_PAT@[71; 72) - UNDERSCORE@[71; 72) "_" - WHITESPACE@[72; 73) " " - EQ@[73; 74) "=" - WHITESPACE@[74; 75) " " - LITERAL@[75; 78) - FLOAT_NUMBER@[75; 78) "2.0" - SEMI@[78; 79) ";" - WHITESPACE@[79; 84) "\n " - LET_STMT@[84; 97) - LET_KW@[84; 87) "let" - WHITESPACE@[87; 88) " " - PLACEHOLDER_PAT@[88; 89) - UNDERSCORE@[88; 89) "_" - WHITESPACE@[89; 90) " " - EQ@[90; 91) "=" - WHITESPACE@[91; 92) " " - LITERAL@[92; 96) - BYTE@[92; 96) "b\'a\'" - SEMI@[96; 97) ";" - WHITESPACE@[97; 102) "\n " - LET_STMT@[102; 114) - LET_KW@[102; 105) "let" - WHITESPACE@[105; 106) " " - PLACEHOLDER_PAT@[106; 107) - UNDERSCORE@[106; 107) "_" - WHITESPACE@[107; 108) " " - EQ@[108; 109) "=" - WHITESPACE@[109; 110) " " - LITERAL@[110; 113) - CHAR@[110; 113) "\'b\'" - SEMI@[113; 114) ";" - WHITESPACE@[114; 119) "\n " - LET_STMT@[119; 131) - LET_KW@[119; 122) "let" - WHITESPACE@[122; 123) " " - PLACEHOLDER_PAT@[123; 124) - UNDERSCORE@[123; 124) "_" - WHITESPACE@[124; 125) " " - EQ@[125; 126) "=" - WHITESPACE@[126; 127) " " - LITERAL@[127; 130) - STRING@[127; 130) "\"c\"" - SEMI@[130; 131) ";" - WHITESPACE@[131; 136) "\n " - LET_STMT@[136; 149) - LET_KW@[136; 139) "let" - WHITESPACE@[139; 140) " " - PLACEHOLDER_PAT@[140; 141) - UNDERSCORE@[140; 141) "_" - WHITESPACE@[141; 142) " " - EQ@[142; 143) "=" - WHITESPACE@[143; 144) " " - LITERAL@[144; 148) - RAW_STRING@[144; 148) "r\"d\"" - SEMI@[148; 149) ";" - WHITESPACE@[149; 154) "\n " - LET_STMT@[154; 167) - LET_KW@[154; 157) "let" - WHITESPACE@[157; 158) " " - PLACEHOLDER_PAT@[158; 159) - UNDERSCORE@[158; 159) "_" - WHITESPACE@[159; 160) " " - EQ@[160; 161) "=" - WHITESPACE@[161; 162) " " - LITERAL@[162; 166) - BYTE_STRING@[162; 166) "b\"e\"" - SEMI@[166; 167) ";" - WHITESPACE@[167; 172) "\n " - LET_STMT@[172; 186) - LET_KW@[172; 175) "let" - WHITESPACE@[175; 176) " " - PLACEHOLDER_PAT@[176; 177) - UNDERSCORE@[176; 177) "_" - WHITESPACE@[177; 178) " " - EQ@[178; 179) "=" - WHITESPACE@[179; 180) " " - LITERAL@[180; 185) - RAW_BYTE_STRING@[180; 185) "br\"f\"" - SEMI@[185; 186) ";" - WHITESPACE@[186; 187) "\n" - R_CURLY@[187; 188) "}" - WHITESPACE@[188; 189) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast new file mode 100644 index 000000000..ca1a97161 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast @@ -0,0 +1,36 @@ +SOURCE_FILE@[0; 30) + FN_DEF@[0; 11) + 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; 11) + BLOCK@[9; 11) + L_CURLY@[9; 10) "{" + R_CURLY@[10; 11) "}" + WHITESPACE@[11; 12) "\n" + FN_DEF@[12; 29) + FN_KW@[12; 14) "fn" + WHITESPACE@[14; 15) " " + NAME@[15; 18) + IDENT@[15; 18) "bar" + PARAM_LIST@[18; 20) + L_PAREN@[18; 19) "(" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + RET_TYPE@[21; 26) + THIN_ARROW@[21; 23) "->" + WHITESPACE@[23; 24) " " + TUPLE_TYPE@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.txt deleted file mode 100644 index ca1a97161..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.txt +++ /dev/null @@ -1,36 +0,0 @@ -SOURCE_FILE@[0; 30) - FN_DEF@[0; 11) - 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; 11) - BLOCK@[9; 11) - L_CURLY@[9; 10) "{" - R_CURLY@[10; 11) "}" - WHITESPACE@[11; 12) "\n" - FN_DEF@[12; 29) - FN_KW@[12; 14) "fn" - WHITESPACE@[14; 15) " " - NAME@[15; 18) - IDENT@[15; 18) "bar" - PARAM_LIST@[18; 20) - L_PAREN@[18; 19) "(" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - RET_TYPE@[21; 26) - THIN_ARROW@[21; 23) "->" - WHITESPACE@[23; 24) " " - TUPLE_TYPE@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - WHITESPACE@[26; 27) " " - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast new file mode 100644 index 000000000..e614acc6f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 19) + IMPL_DEF@[0; 18) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + IMPL_KW@[7; 11) "impl" + WHITESPACE@[11; 12) " " + PATH_TYPE@[12; 15) + PATH@[12; 15) + PATH_SEGMENT@[12; 15) + NAME_REF@[12; 15) + IDENT@[12; 15) "Foo" + WHITESPACE@[15; 16) " " + ITEM_LIST@[16; 18) + L_CURLY@[16; 17) "{" + R_CURLY@[17; 18) "}" + WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.txt b/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.txt deleted file mode 100644 index e614acc6f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0087_unsafe_impl.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 19) - IMPL_DEF@[0; 18) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - IMPL_KW@[7; 11) "impl" - WHITESPACE@[11; 12) " " - PATH_TYPE@[12; 15) - PATH@[12; 15) - PATH_SEGMENT@[12; 15) - NAME_REF@[12; 15) - IDENT@[12; 15) "Foo" - WHITESPACE@[15; 16) " " - ITEM_LIST@[16; 18) - L_CURLY@[16; 17) "{" - R_CURLY@[17; 18) "}" - WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast new file mode 100644 index 000000000..b23f43b46 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast @@ -0,0 +1,69 @@ +SOURCE_FILE@[0; 88) + FN_DEF@[0; 87) + 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) ")" + BLOCK_EXPR@[8; 87) + BLOCK@[8; 87) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 14) "\n " + EXPR_STMT@[14; 25) + IF_EXPR@[14; 25) + IF_KW@[14; 16) "if" + WHITESPACE@[16; 17) " " + CONDITION@[17; 22) + BREAK_EXPR@[17; 22) + BREAK_KW@[17; 22) "break" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 30) "\n " + EXPR_STMT@[30; 44) + WHILE_EXPR@[30; 44) + WHILE_KW@[30; 35) "while" + WHITESPACE@[35; 36) " " + CONDITION@[36; 41) + BREAK_EXPR@[36; 41) + BREAK_KW@[36; 41) "break" + WHITESPACE@[41; 42) " " + BLOCK_EXPR@[42; 44) + BLOCK@[42; 44) + L_CURLY@[42; 43) "{" + R_CURLY@[43; 44) "}" + WHITESPACE@[44; 49) "\n " + EXPR_STMT@[49; 66) + FOR_EXPR@[49; 66) + FOR_KW@[49; 52) "for" + WHITESPACE@[52; 53) " " + BIND_PAT@[53; 54) + NAME@[53; 54) + IDENT@[53; 54) "i" + WHITESPACE@[54; 55) " " + IN_KW@[55; 57) "in" + WHITESPACE@[57; 58) " " + BREAK_EXPR@[58; 63) + BREAK_KW@[58; 63) "break" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 71) "\n " + MATCH_EXPR@[71; 85) + MATCH_KW@[71; 76) "match" + WHITESPACE@[76; 77) " " + BREAK_EXPR@[77; 82) + BREAK_KW@[77; 82) "break" + WHITESPACE@[82; 83) " " + MATCH_ARM_LIST@[83; 85) + L_CURLY@[83; 84) "{" + R_CURLY@[84; 85) "}" + WHITESPACE@[85; 86) "\n" + R_CURLY@[86; 87) "}" + WHITESPACE@[87; 88) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.txt b/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.txt deleted file mode 100644 index b23f43b46..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.txt +++ /dev/null @@ -1,69 +0,0 @@ -SOURCE_FILE@[0; 88) - FN_DEF@[0; 87) - 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) ")" - BLOCK_EXPR@[8; 87) - BLOCK@[8; 87) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 14) "\n " - EXPR_STMT@[14; 25) - IF_EXPR@[14; 25) - IF_KW@[14; 16) "if" - WHITESPACE@[16; 17) " " - CONDITION@[17; 22) - BREAK_EXPR@[17; 22) - BREAK_KW@[17; 22) "break" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 30) "\n " - EXPR_STMT@[30; 44) - WHILE_EXPR@[30; 44) - WHILE_KW@[30; 35) "while" - WHITESPACE@[35; 36) " " - CONDITION@[36; 41) - BREAK_EXPR@[36; 41) - BREAK_KW@[36; 41) "break" - WHITESPACE@[41; 42) " " - BLOCK_EXPR@[42; 44) - BLOCK@[42; 44) - L_CURLY@[42; 43) "{" - R_CURLY@[43; 44) "}" - WHITESPACE@[44; 49) "\n " - EXPR_STMT@[49; 66) - FOR_EXPR@[49; 66) - FOR_KW@[49; 52) "for" - WHITESPACE@[52; 53) " " - BIND_PAT@[53; 54) - NAME@[53; 54) - IDENT@[53; 54) "i" - WHITESPACE@[54; 55) " " - IN_KW@[55; 57) "in" - WHITESPACE@[57; 58) " " - BREAK_EXPR@[58; 63) - BREAK_KW@[58; 63) "break" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 66) - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 71) "\n " - MATCH_EXPR@[71; 85) - MATCH_KW@[71; 76) "match" - WHITESPACE@[76; 77) " " - BREAK_EXPR@[77; 82) - BREAK_KW@[77; 82) "break" - WHITESPACE@[82; 83) " " - MATCH_ARM_LIST@[83; 85) - L_CURLY@[83; 84) "{" - R_CURLY@[84; 85) "}" - WHITESPACE@[85; 86) "\n" - R_CURLY@[86; 87) "}" - WHITESPACE@[87; 88) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast new file mode 100644 index 000000000..b494f6c59 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast @@ -0,0 +1,18 @@ +SOURCE_FILE@[0; 19) + FN_DEF@[0; 18) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + FN_KW@[7; 9) "fn" + WHITESPACE@[9; 10) " " + NAME@[10; 13) + IDENT@[10; 13) "foo" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) + L_CURLY@[16; 17) "{" + R_CURLY@[17; 18) "}" + WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.txt deleted file mode 100644 index b494f6c59..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.txt +++ /dev/null @@ -1,18 +0,0 @@ -SOURCE_FILE@[0; 19) - FN_DEF@[0; 18) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - FN_KW@[7; 9) "fn" - WHITESPACE@[9; 10) " " - NAME@[10; 13) - IDENT@[10; 13) "foo" - PARAM_LIST@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 18) - BLOCK@[16; 18) - L_CURLY@[16; 17) "{" - R_CURLY@[17; 18) "}" - WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast b/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast new file mode 100644 index 000000000..8d2579cd6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@[0; 19) + STRUCT_DEF@[0; 18) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 17) + L_ANGLE@[8; 9) "<" + TYPE_PARAM@[9; 16) + NAME@[9; 10) + IDENT@[9; 10) "T" + WHITESPACE@[10; 11) " " + EQ@[11; 12) "=" + WHITESPACE@[12; 13) " " + PATH_TYPE@[13; 16) + PATH@[13; 16) + PATH_SEGMENT@[13; 16) + NAME_REF@[13; 16) + IDENT@[13; 16) "i32" + R_ANGLE@[16; 17) ">" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.txt b/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.txt deleted file mode 100644 index 8d2579cd6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.txt +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@[0; 19) - STRUCT_DEF@[0; 18) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - TYPE_PARAM_LIST@[8; 17) - L_ANGLE@[8; 9) "<" - TYPE_PARAM@[9; 16) - NAME@[9; 10) - IDENT@[9; 10) "T" - WHITESPACE@[10; 11) " " - EQ@[11; 12) "=" - WHITESPACE@[12; 13) " " - PATH_TYPE@[13; 16) - PATH@[13; 16) - PATH_SEGMENT@[13; 16) - NAME_REF@[13; 16) - IDENT@[13; 16) "i32" - R_ANGLE@[16; 17) ">" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast new file mode 100644 index 000000000..7093c2b1f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.rast @@ -0,0 +1,13 @@ +SOURCE_FILE@[0; 16) + TRAIT_DEF@[0; 15) + AUTO_KW@[0; 4) "auto" + WHITESPACE@[4; 5) " " + TRAIT_KW@[5; 10) "trait" + WHITESPACE@[10; 11) " " + NAME@[11; 12) + IDENT@[11; 12) "T" + WHITESPACE@[12; 13) " " + ITEM_LIST@[13; 15) + L_CURLY@[13; 14) "{" + R_CURLY@[14; 15) "}" + WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.txt b/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.txt deleted file mode 100644 index 7093c2b1f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0091_auto_trait.txt +++ /dev/null @@ -1,13 +0,0 @@ -SOURCE_FILE@[0; 16) - TRAIT_DEF@[0; 15) - AUTO_KW@[0; 4) "auto" - WHITESPACE@[4; 5) " " - TRAIT_KW@[5; 10) "trait" - WHITESPACE@[10; 11) " " - NAME@[11; 12) - IDENT@[11; 12) "T" - WHITESPACE@[12; 13) " " - ITEM_LIST@[13; 15) - L_CURLY@[13; 14) "{" - R_CURLY@[14; 15) "}" - WHITESPACE@[15; 16) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast new file mode 100644 index 000000000..fae822367 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast @@ -0,0 +1,23 @@ +SOURCE_FILE@[0; 21) + TYPE_ALIAS_DEF@[0; 20) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + FN_POINTER_TYPE@[9; 19) + FN_KW@[9; 11) "fn" + PARAM_LIST@[11; 13) + L_PAREN@[11; 12) "(" + R_PAREN@[12; 13) ")" + WHITESPACE@[13; 14) " " + RET_TYPE@[14; 19) + THIN_ARROW@[14; 16) "->" + WHITESPACE@[16; 17) " " + TUPLE_TYPE@[17; 19) + L_PAREN@[17; 18) "(" + R_PAREN@[18; 19) ")" + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt deleted file mode 100644 index fae822367..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt +++ /dev/null @@ -1,23 +0,0 @@ -SOURCE_FILE@[0; 21) - TYPE_ALIAS_DEF@[0; 20) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "F" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - FN_POINTER_TYPE@[9; 19) - FN_KW@[9; 11) "fn" - PARAM_LIST@[11; 13) - L_PAREN@[11; 12) "(" - R_PAREN@[12; 13) ")" - WHITESPACE@[13; 14) " " - RET_TYPE@[14; 19) - THIN_ARROW@[14; 16) "->" - WHITESPACE@[16; 17) " " - TUPLE_TYPE@[17; 19) - L_PAREN@[17; 18) "(" - R_PAREN@[18; 19) ")" - SEMI@[19; 20) ";" - WHITESPACE@[20; 21) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast new file mode 100644 index 000000000..1a979e597 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast @@ -0,0 +1,34 @@ +SOURCE_FILE@[0; 26) + FN_DEF@[0; 25) + 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; 25) + BLOCK@[9; 25) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 23) + INDEX_EXPR@[15; 22) + INDEX_EXPR@[15; 19) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + L_BRACK@[16; 17) "[" + LITERAL@[17; 18) + INT_NUMBER@[17; 18) "1" + R_BRACK@[18; 19) "]" + L_BRACK@[19; 20) "[" + LITERAL@[20; 21) + INT_NUMBER@[20; 21) "2" + R_BRACK@[21; 22) "]" + SEMI@[22; 23) ";" + WHITESPACE@[23; 24) "\n" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.txt deleted file mode 100644 index 1a979e597..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.txt +++ /dev/null @@ -1,34 +0,0 @@ -SOURCE_FILE@[0; 26) - FN_DEF@[0; 25) - 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; 25) - BLOCK@[9; 25) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 23) - INDEX_EXPR@[15; 22) - INDEX_EXPR@[15; 19) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - L_BRACK@[16; 17) "[" - LITERAL@[17; 18) - INT_NUMBER@[17; 18) "1" - R_BRACK@[18; 19) "]" - L_BRACK@[19; 20) "[" - LITERAL@[20; 21) - INT_NUMBER@[20; 21) "2" - R_BRACK@[21; 22) "]" - SEMI@[22; 23) ";" - WHITESPACE@[23; 24) "\n" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast b/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast new file mode 100644 index 000000000..3da3beaf4 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.rast @@ -0,0 +1,15 @@ +SOURCE_FILE@[0; 23) + TRAIT_DEF@[0; 22) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + AUTO_KW@[7; 11) "auto" + WHITESPACE@[11; 12) " " + TRAIT_KW@[12; 17) "trait" + WHITESPACE@[17; 18) " " + NAME@[18; 19) + IDENT@[18; 19) "T" + WHITESPACE@[19; 20) " " + ITEM_LIST@[20; 22) + L_CURLY@[20; 21) "{" + R_CURLY@[21; 22) "}" + WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.txt b/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.txt deleted file mode 100644 index 3da3beaf4..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0094_unsafe_auto_trait.txt +++ /dev/null @@ -1,15 +0,0 @@ -SOURCE_FILE@[0; 23) - TRAIT_DEF@[0; 22) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - AUTO_KW@[7; 11) "auto" - WHITESPACE@[11; 12) " " - TRAIT_KW@[12; 17) "trait" - WHITESPACE@[17; 18) " " - NAME@[18; 19) - IDENT@[18; 19) "T" - WHITESPACE@[19; 20) " " - ITEM_LIST@[20; 22) - L_CURLY@[20; 21) "{" - R_CURLY@[21; 22) "}" - WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast new file mode 100644 index 000000000..fe86894a9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@[0; 26) + FN_DEF@[0; 25) + 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; 25) + BLOCK@[10; 25) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 12) " " + LET_STMT@[12; 23) + LET_KW@[12; 15) "let" + WHITESPACE@[15; 16) " " + PLACEHOLDER_PAT@[16; 17) + UNDERSCORE@[16; 17) "_" + WHITESPACE@[17; 18) " " + EQ@[18; 19) "=" + WHITESPACE@[19; 20) " " + TUPLE_EXPR@[20; 22) + L_PAREN@[20; 21) "(" + R_PAREN@[21; 22) ")" + SEMI@[22; 23) ";" + WHITESPACE@[23; 24) " " + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.txt deleted file mode 100644 index fe86894a9..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.txt +++ /dev/null @@ -1,29 +0,0 @@ -SOURCE_FILE@[0; 26) - FN_DEF@[0; 25) - 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; 25) - BLOCK@[10; 25) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 12) " " - LET_STMT@[12; 23) - LET_KW@[12; 15) "let" - WHITESPACE@[15; 16) " " - PLACEHOLDER_PAT@[16; 17) - UNDERSCORE@[16; 17) "_" - WHITESPACE@[17; 18) " " - EQ@[18; 19) "=" - WHITESPACE@[19; 20) " " - TUPLE_EXPR@[20; 22) - L_PAREN@[20; 21) "(" - R_PAREN@[21; 22) ")" - SEMI@[22; 23) ";" - WHITESPACE@[23; 24) " " - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast new file mode 100644 index 000000000..157aa29f5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast @@ -0,0 +1,130 @@ +SOURCE_FILE@[0; 167) + FN_DEF@[0; 166) + 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; 166) + BLOCK@[9; 166) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 25) + IF_EXPR@[15; 25) + IF_KW@[15; 17) "if" + WHITESPACE@[17; 18) " " + CONDITION@[18; 22) + LITERAL@[18; 22) + TRUE_KW@[18; 22) "true" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 30) "\n " + EXPR_STMT@[30; 37) + LOOP_EXPR@[30; 37) + LOOP_KW@[30; 34) "loop" + WHITESPACE@[34; 35) " " + BLOCK_EXPR@[35; 37) + BLOCK@[35; 37) + L_CURLY@[35; 36) "{" + R_CURLY@[36; 37) "}" + WHITESPACE@[37; 42) "\n " + EXPR_STMT@[42; 53) + MATCH_EXPR@[42; 53) + MATCH_KW@[42; 47) "match" + WHITESPACE@[47; 48) " " + TUPLE_EXPR@[48; 50) + L_PAREN@[48; 49) "(" + R_PAREN@[49; 50) ")" + WHITESPACE@[50; 51) " " + MATCH_ARM_LIST@[51; 53) + L_CURLY@[51; 52) "{" + R_CURLY@[52; 53) "}" + WHITESPACE@[53; 58) "\n " + EXPR_STMT@[58; 71) + WHILE_EXPR@[58; 71) + WHILE_KW@[58; 63) "while" + WHITESPACE@[63; 64) " " + CONDITION@[64; 68) + LITERAL@[64; 68) + TRUE_KW@[64; 68) "true" + WHITESPACE@[68; 69) " " + BLOCK_EXPR@[69; 71) + BLOCK@[69; 71) + L_CURLY@[69; 70) "{" + R_CURLY@[70; 71) "}" + WHITESPACE@[71; 76) "\n " + EXPR_STMT@[76; 90) + FOR_EXPR@[76; 90) + FOR_KW@[76; 79) "for" + WHITESPACE@[79; 80) " " + PLACEHOLDER_PAT@[80; 81) + UNDERSCORE@[80; 81) "_" + WHITESPACE@[81; 82) " " + IN_KW@[82; 84) "in" + WHITESPACE@[84; 85) " " + TUPLE_EXPR@[85; 87) + L_PAREN@[85; 86) "(" + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " + BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) + L_CURLY@[88; 89) "{" + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 95) "\n " + EXPR_STMT@[95; 97) + BLOCK_EXPR@[95; 97) + BLOCK@[95; 97) + L_CURLY@[95; 96) "{" + R_CURLY@[96; 97) "}" + WHITESPACE@[97; 102) "\n " + EXPR_STMT@[102; 104) + BLOCK_EXPR@[102; 104) + BLOCK@[102; 104) + L_CURLY@[102; 103) "{" + R_CURLY@[103; 104) "}" + WHITESPACE@[104; 109) "\n " + EXPR_STMT@[109; 152) + MACRO_CALL@[109; 152) + PATH@[109; 120) + PATH_SEGMENT@[109; 120) + NAME_REF@[109; 120) + IDENT@[109; 120) "macro_rules" + EXCL@[120; 121) "!" + WHITESPACE@[121; 122) " " + NAME@[122; 126) + IDENT@[122; 126) "test" + WHITESPACE@[126; 127) " " + TOKEN_TREE@[127; 152) + L_CURLY@[127; 128) "{" + WHITESPACE@[128; 138) "\n " + TOKEN_TREE@[138; 140) + L_PAREN@[138; 139) "(" + R_PAREN@[139; 140) ")" + WHITESPACE@[140; 141) " " + EQ@[141; 142) "=" + R_ANGLE@[142; 143) ">" + WHITESPACE@[143; 144) " " + TOKEN_TREE@[144; 146) + L_CURLY@[144; 145) "{" + R_CURLY@[145; 146) "}" + WHITESPACE@[146; 151) "\n " + R_CURLY@[151; 152) "}" + WHITESPACE@[152; 157) "\n " + MACRO_CALL@[157; 164) + PATH@[157; 161) + PATH_SEGMENT@[157; 161) + NAME_REF@[157; 161) + IDENT@[157; 161) "test" + EXCL@[161; 162) "!" + TOKEN_TREE@[162; 164) + L_CURLY@[162; 163) "{" + R_CURLY@[163; 164) "}" + WHITESPACE@[164; 165) "\n" + R_CURLY@[165; 166) "}" + WHITESPACE@[166; 167) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.txt deleted file mode 100644 index 157aa29f5..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.txt +++ /dev/null @@ -1,130 +0,0 @@ -SOURCE_FILE@[0; 167) - FN_DEF@[0; 166) - 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; 166) - BLOCK@[9; 166) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 25) - IF_EXPR@[15; 25) - IF_KW@[15; 17) "if" - WHITESPACE@[17; 18) " " - CONDITION@[18; 22) - LITERAL@[18; 22) - TRUE_KW@[18; 22) "true" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 30) "\n " - EXPR_STMT@[30; 37) - LOOP_EXPR@[30; 37) - LOOP_KW@[30; 34) "loop" - WHITESPACE@[34; 35) " " - BLOCK_EXPR@[35; 37) - BLOCK@[35; 37) - L_CURLY@[35; 36) "{" - R_CURLY@[36; 37) "}" - WHITESPACE@[37; 42) "\n " - EXPR_STMT@[42; 53) - MATCH_EXPR@[42; 53) - MATCH_KW@[42; 47) "match" - WHITESPACE@[47; 48) " " - TUPLE_EXPR@[48; 50) - L_PAREN@[48; 49) "(" - R_PAREN@[49; 50) ")" - WHITESPACE@[50; 51) " " - MATCH_ARM_LIST@[51; 53) - L_CURLY@[51; 52) "{" - R_CURLY@[52; 53) "}" - WHITESPACE@[53; 58) "\n " - EXPR_STMT@[58; 71) - WHILE_EXPR@[58; 71) - WHILE_KW@[58; 63) "while" - WHITESPACE@[63; 64) " " - CONDITION@[64; 68) - LITERAL@[64; 68) - TRUE_KW@[64; 68) "true" - WHITESPACE@[68; 69) " " - BLOCK_EXPR@[69; 71) - BLOCK@[69; 71) - L_CURLY@[69; 70) "{" - R_CURLY@[70; 71) "}" - WHITESPACE@[71; 76) "\n " - EXPR_STMT@[76; 90) - FOR_EXPR@[76; 90) - FOR_KW@[76; 79) "for" - WHITESPACE@[79; 80) " " - PLACEHOLDER_PAT@[80; 81) - UNDERSCORE@[80; 81) "_" - WHITESPACE@[81; 82) " " - IN_KW@[82; 84) "in" - WHITESPACE@[84; 85) " " - TUPLE_EXPR@[85; 87) - L_PAREN@[85; 86) "(" - R_PAREN@[86; 87) ")" - WHITESPACE@[87; 88) " " - BLOCK_EXPR@[88; 90) - BLOCK@[88; 90) - L_CURLY@[88; 89) "{" - R_CURLY@[89; 90) "}" - WHITESPACE@[90; 95) "\n " - EXPR_STMT@[95; 97) - BLOCK_EXPR@[95; 97) - BLOCK@[95; 97) - L_CURLY@[95; 96) "{" - R_CURLY@[96; 97) "}" - WHITESPACE@[97; 102) "\n " - EXPR_STMT@[102; 104) - BLOCK_EXPR@[102; 104) - BLOCK@[102; 104) - L_CURLY@[102; 103) "{" - R_CURLY@[103; 104) "}" - WHITESPACE@[104; 109) "\n " - EXPR_STMT@[109; 152) - MACRO_CALL@[109; 152) - PATH@[109; 120) - PATH_SEGMENT@[109; 120) - NAME_REF@[109; 120) - IDENT@[109; 120) "macro_rules" - EXCL@[120; 121) "!" - WHITESPACE@[121; 122) " " - NAME@[122; 126) - IDENT@[122; 126) "test" - WHITESPACE@[126; 127) " " - TOKEN_TREE@[127; 152) - L_CURLY@[127; 128) "{" - WHITESPACE@[128; 138) "\n " - TOKEN_TREE@[138; 140) - L_PAREN@[138; 139) "(" - R_PAREN@[139; 140) ")" - WHITESPACE@[140; 141) " " - EQ@[141; 142) "=" - R_ANGLE@[142; 143) ">" - WHITESPACE@[143; 144) " " - TOKEN_TREE@[144; 146) - L_CURLY@[144; 145) "{" - R_CURLY@[145; 146) "}" - WHITESPACE@[146; 151) "\n " - R_CURLY@[151; 152) "}" - WHITESPACE@[152; 157) "\n " - MACRO_CALL@[157; 164) - PATH@[157; 161) - PATH_SEGMENT@[157; 161) - NAME_REF@[157; 161) - IDENT@[157; 161) "test" - EXCL@[161; 162) "!" - TOKEN_TREE@[162; 164) - L_CURLY@[162; 163) "{" - R_CURLY@[163; 164) "}" - WHITESPACE@[164; 165) "\n" - R_CURLY@[165; 166) "}" - WHITESPACE@[166; 167) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast new file mode 100644 index 000000000..af9077270 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 20) + IMPL_DEF@[0; 19) + DEFAULT_KW@[0; 7) "default" + WHITESPACE@[7; 8) " " + IMPL_KW@[8; 12) "impl" + WHITESPACE@[12; 13) " " + PATH_TYPE@[13; 16) + PATH@[13; 16) + PATH_SEGMENT@[13; 16) + NAME_REF@[13; 16) + IDENT@[13; 16) "Foo" + WHITESPACE@[16; 17) " " + ITEM_LIST@[17; 19) + L_CURLY@[17; 18) "{" + R_CURLY@[18; 19) "}" + WHITESPACE@[19; 20) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.txt b/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.txt deleted file mode 100644 index af9077270..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0097_default_impl.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 20) - IMPL_DEF@[0; 19) - DEFAULT_KW@[0; 7) "default" - WHITESPACE@[7; 8) " " - IMPL_KW@[8; 12) "impl" - WHITESPACE@[12; 13) " " - PATH_TYPE@[13; 16) - PATH@[13; 16) - PATH_SEGMENT@[13; 16) - NAME_REF@[13; 16) - IDENT@[13; 16) "Foo" - WHITESPACE@[16; 17) " " - ITEM_LIST@[17; 19) - L_CURLY@[17; 18) "{" - R_CURLY@[18; 19) "}" - WHITESPACE@[19; 20) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast new file mode 100644 index 000000000..072dc9d16 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast @@ -0,0 +1,19 @@ +SOURCE_FILE@[0; 25) + FN_DEF@[0; 24) + CONST_KW@[0; 5) "const" + WHITESPACE@[5; 6) " " + UNSAFE_KW@[6; 12) "unsafe" + WHITESPACE@[12; 13) " " + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 19) + IDENT@[16; 19) "foo" + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) "(" + R_PAREN@[20; 21) ")" + WHITESPACE@[21; 22) " " + BLOCK_EXPR@[22; 24) + BLOCK@[22; 24) + L_CURLY@[22; 23) "{" + R_CURLY@[23; 24) "}" + WHITESPACE@[24; 25) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.txt deleted file mode 100644 index 072dc9d16..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.txt +++ /dev/null @@ -1,19 +0,0 @@ -SOURCE_FILE@[0; 25) - FN_DEF@[0; 24) - CONST_KW@[0; 5) "const" - WHITESPACE@[5; 6) " " - UNSAFE_KW@[6; 12) "unsafe" - WHITESPACE@[12; 13) " " - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 19) - IDENT@[16; 19) "foo" - PARAM_LIST@[19; 21) - L_PAREN@[19; 20) "(" - R_PAREN@[20; 21) ")" - WHITESPACE@[21; 22) " " - BLOCK_EXPR@[22; 24) - BLOCK@[22; 24) - L_CURLY@[22; 23) "{" - R_CURLY@[23; 24) "}" - WHITESPACE@[24; 25) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast new file mode 100644 index 000000000..ed57a9eea --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast @@ -0,0 +1,103 @@ +SOURCE_FILE@[0; 67) + FN_DEF@[0; 9) + 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; 9) + BLOCK@[7; 9) + L_CURLY@[7; 8) "{" + R_CURLY@[8; 9) "}" + WHITESPACE@[9; 10) "\n" + FN_DEF@[10; 25) + FN_KW@[10; 12) "fn" + WHITESPACE@[12; 13) " " + NAME@[13; 14) + IDENT@[13; 14) "b" + PARAM_LIST@[14; 22) + L_PAREN@[14; 15) "(" + PARAM@[15; 21) + BIND_PAT@[15; 16) + NAME@[15; 16) + IDENT@[15; 16) "x" + 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" + R_PAREN@[21; 22) ")" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" + FN_DEF@[26; 43) + FN_KW@[26; 28) "fn" + WHITESPACE@[28; 29) " " + NAME@[29; 30) + IDENT@[29; 30) "c" + PARAM_LIST@[30; 40) + L_PAREN@[30; 31) "(" + PARAM@[31; 37) + BIND_PAT@[31; 32) + NAME@[31; 32) + IDENT@[31; 32) "x" + COLON@[32; 33) ":" + WHITESPACE@[33; 34) " " + PATH_TYPE@[34; 37) + PATH@[34; 37) + PATH_SEGMENT@[34; 37) + NAME_REF@[34; 37) + IDENT@[34; 37) "i32" + COMMA@[37; 38) "," + WHITESPACE@[38; 39) " " + R_PAREN@[39; 40) ")" + WHITESPACE@[40; 41) " " + BLOCK_EXPR@[41; 43) + BLOCK@[41; 43) + L_CURLY@[41; 42) "{" + R_CURLY@[42; 43) "}" + WHITESPACE@[43; 44) "\n" + FN_DEF@[44; 66) + FN_KW@[44; 46) "fn" + WHITESPACE@[46; 47) " " + NAME@[47; 48) + IDENT@[47; 48) "d" + PARAM_LIST@[48; 63) + L_PAREN@[48; 49) "(" + PARAM@[49; 55) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + COLON@[50; 51) ":" + WHITESPACE@[51; 52) " " + PATH_TYPE@[52; 55) + PATH@[52; 55) + PATH_SEGMENT@[52; 55) + NAME_REF@[52; 55) + IDENT@[52; 55) "i32" + COMMA@[55; 56) "," + WHITESPACE@[56; 57) " " + PARAM@[57; 62) + BIND_PAT@[57; 58) + NAME@[57; 58) + IDENT@[57; 58) "y" + COLON@[58; 59) ":" + WHITESPACE@[59; 60) " " + TUPLE_TYPE@[60; 62) + L_PAREN@[60; 61) "(" + R_PAREN@[61; 62) ")" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 67) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.txt b/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.txt deleted file mode 100644 index ed57a9eea..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.txt +++ /dev/null @@ -1,103 +0,0 @@ -SOURCE_FILE@[0; 67) - FN_DEF@[0; 9) - 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; 9) - BLOCK@[7; 9) - L_CURLY@[7; 8) "{" - R_CURLY@[8; 9) "}" - WHITESPACE@[9; 10) "\n" - FN_DEF@[10; 25) - FN_KW@[10; 12) "fn" - WHITESPACE@[12; 13) " " - NAME@[13; 14) - IDENT@[13; 14) "b" - PARAM_LIST@[14; 22) - L_PAREN@[14; 15) "(" - PARAM@[15; 21) - BIND_PAT@[15; 16) - NAME@[15; 16) - IDENT@[15; 16) "x" - 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" - R_PAREN@[21; 22) ")" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" - FN_DEF@[26; 43) - FN_KW@[26; 28) "fn" - WHITESPACE@[28; 29) " " - NAME@[29; 30) - IDENT@[29; 30) "c" - PARAM_LIST@[30; 40) - L_PAREN@[30; 31) "(" - PARAM@[31; 37) - BIND_PAT@[31; 32) - NAME@[31; 32) - IDENT@[31; 32) "x" - COLON@[32; 33) ":" - WHITESPACE@[33; 34) " " - PATH_TYPE@[34; 37) - PATH@[34; 37) - PATH_SEGMENT@[34; 37) - NAME_REF@[34; 37) - IDENT@[34; 37) "i32" - COMMA@[37; 38) "," - WHITESPACE@[38; 39) " " - R_PAREN@[39; 40) ")" - WHITESPACE@[40; 41) " " - BLOCK_EXPR@[41; 43) - BLOCK@[41; 43) - L_CURLY@[41; 42) "{" - R_CURLY@[42; 43) "}" - WHITESPACE@[43; 44) "\n" - FN_DEF@[44; 66) - FN_KW@[44; 46) "fn" - WHITESPACE@[46; 47) " " - NAME@[47; 48) - IDENT@[47; 48) "d" - PARAM_LIST@[48; 63) - L_PAREN@[48; 49) "(" - PARAM@[49; 55) - BIND_PAT@[49; 50) - NAME@[49; 50) - IDENT@[49; 50) "x" - COLON@[50; 51) ":" - WHITESPACE@[51; 52) " " - PATH_TYPE@[52; 55) - PATH@[52; 55) - PATH_SEGMENT@[52; 55) - NAME_REF@[52; 55) - IDENT@[52; 55) "i32" - COMMA@[55; 56) "," - WHITESPACE@[56; 57) " " - PARAM@[57; 62) - BIND_PAT@[57; 58) - NAME@[57; 58) - IDENT@[57; 58) "y" - COLON@[58; 59) ":" - WHITESPACE@[59; 60) " " - TUPLE_TYPE@[60; 62) - L_PAREN@[60; 61) "(" - R_PAREN@[61; 62) ")" - R_PAREN@[62; 63) ")" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 66) - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 67) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast new file mode 100644 index 000000000..83c58d25f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast @@ -0,0 +1,36 @@ +SOURCE_FILE@[0; 33) + FN_DEF@[0; 32) + 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; 32) + BLOCK@[9; 32) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 30) + FOR_EXPR@[15; 29) + FOR_KW@[15; 18) "for" + WHITESPACE@[18; 19) " " + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "x" + WHITESPACE@[20; 21) " " + IN_KW@[21; 23) "in" + WHITESPACE@[23; 24) " " + ARRAY_EXPR@[24; 26) + L_BRACK@[24; 25) "[" + R_BRACK@[25; 26) "]" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + SEMI@[29; 30) ";" + WHITESPACE@[30; 31) "\n" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.txt deleted file mode 100644 index 83c58d25f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.txt +++ /dev/null @@ -1,36 +0,0 @@ -SOURCE_FILE@[0; 33) - FN_DEF@[0; 32) - 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; 32) - BLOCK@[9; 32) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 30) - FOR_EXPR@[15; 29) - FOR_KW@[15; 18) "for" - WHITESPACE@[18; 19) " " - BIND_PAT@[19; 20) - NAME@[19; 20) - IDENT@[19; 20) "x" - WHITESPACE@[20; 21) " " - IN_KW@[21; 23) "in" - WHITESPACE@[23; 24) " " - ARRAY_EXPR@[24; 26) - L_BRACK@[24; 25) "[" - R_BRACK@[25; 26) "]" - WHITESPACE@[26; 27) " " - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - SEMI@[29; 30) ";" - WHITESPACE@[30; 31) "\n" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast new file mode 100644 index 000000000..b7979fbf5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 19) + FN_DEF@[0; 18) + UNSAFE_KW@[0; 6) "unsafe" + WHITESPACE@[6; 7) " " + FN_KW@[7; 9) "fn" + WHITESPACE@[9; 10) " " + NAME@[10; 13) + IDENT@[10; 13) "foo" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 18) + BLOCK@[16; 18) + L_CURLY@[16; 17) "{" + R_CURLY@[17; 18) "}" + WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.txt deleted file mode 100644 index b7979fbf5..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 19) - FN_DEF@[0; 18) - UNSAFE_KW@[0; 6) "unsafe" - WHITESPACE@[6; 7) " " - FN_KW@[7; 9) "fn" - WHITESPACE@[9; 10) " " - NAME@[10; 13) - IDENT@[10; 13) "foo" - PARAM_LIST@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 18) - BLOCK@[16; 18) - L_CURLY@[16; 17) "{" - R_CURLY@[17; 18) "}" - WHITESPACE@[18; 19) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast new file mode 100644 index 000000000..d8e04bd90 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast @@ -0,0 +1,131 @@ +SOURCE_FILE@[0; 119) + FN_DEF@[0; 118) + 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; 118) + BLOCK@[9; 118) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 29) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + RECORD_PAT@[19; 23) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "S" + WHITESPACE@[20; 21) " " + RECORD_FIELD_PAT_LIST@[21; 23) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + WHITESPACE@[23; 24) " " + EQ@[24; 25) "=" + WHITESPACE@[25; 26) " " + TUPLE_EXPR@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + SEMI@[28; 29) ";" + WHITESPACE@[29; 34) "\n " + LET_STMT@[34; 62) + LET_KW@[34; 37) "let" + WHITESPACE@[37; 38) " " + RECORD_PAT@[38; 56) + PATH@[38; 39) + PATH_SEGMENT@[38; 39) + NAME_REF@[38; 39) + IDENT@[38; 39) "S" + WHITESPACE@[39; 40) " " + RECORD_FIELD_PAT_LIST@[40; 56) + L_CURLY@[40; 41) "{" + WHITESPACE@[41; 42) " " + BIND_PAT@[42; 43) + NAME@[42; 43) + IDENT@[42; 43) "f" + COMMA@[43; 44) "," + WHITESPACE@[44; 45) " " + BIND_PAT@[45; 54) + REF_KW@[45; 48) "ref" + WHITESPACE@[48; 49) " " + MUT_KW@[49; 52) "mut" + WHITESPACE@[52; 53) " " + NAME@[53; 54) + IDENT@[53; 54) "g" + WHITESPACE@[54; 55) " " + R_CURLY@[55; 56) "}" + WHITESPACE@[56; 57) " " + EQ@[57; 58) "=" + WHITESPACE@[58; 59) " " + TUPLE_EXPR@[59; 61) + L_PAREN@[59; 60) "(" + R_PAREN@[60; 61) ")" + SEMI@[61; 62) ";" + WHITESPACE@[62; 67) "\n " + LET_STMT@[67; 90) + LET_KW@[67; 70) "let" + WHITESPACE@[70; 71) " " + RECORD_PAT@[71; 84) + PATH@[71; 72) + PATH_SEGMENT@[71; 72) + NAME_REF@[71; 72) + IDENT@[71; 72) "S" + WHITESPACE@[72; 73) " " + RECORD_FIELD_PAT_LIST@[73; 84) + L_CURLY@[73; 74) "{" + WHITESPACE@[74; 75) " " + RECORD_FIELD_PAT@[75; 79) + NAME@[75; 76) + IDENT@[75; 76) "h" + COLON@[76; 77) ":" + WHITESPACE@[77; 78) " " + PLACEHOLDER_PAT@[78; 79) + UNDERSCORE@[78; 79) "_" + COMMA@[79; 80) "," + WHITESPACE@[80; 81) " " + DOTDOT@[81; 83) ".." + R_CURLY@[83; 84) "}" + WHITESPACE@[84; 85) " " + EQ@[85; 86) "=" + WHITESPACE@[86; 87) " " + TUPLE_EXPR@[87; 89) + L_PAREN@[87; 88) "(" + R_PAREN@[88; 89) ")" + SEMI@[89; 90) ";" + WHITESPACE@[90; 95) "\n " + LET_STMT@[95; 116) + LET_KW@[95; 98) "let" + WHITESPACE@[98; 99) " " + RECORD_PAT@[99; 110) + PATH@[99; 100) + PATH_SEGMENT@[99; 100) + NAME_REF@[99; 100) + IDENT@[99; 100) "S" + WHITESPACE@[100; 101) " " + RECORD_FIELD_PAT_LIST@[101; 110) + L_CURLY@[101; 102) "{" + WHITESPACE@[102; 103) " " + RECORD_FIELD_PAT@[103; 107) + NAME@[103; 104) + IDENT@[103; 104) "h" + COLON@[104; 105) ":" + WHITESPACE@[105; 106) " " + PLACEHOLDER_PAT@[106; 107) + UNDERSCORE@[106; 107) "_" + COMMA@[107; 108) "," + WHITESPACE@[108; 109) " " + R_CURLY@[109; 110) "}" + WHITESPACE@[110; 111) " " + EQ@[111; 112) "=" + WHITESPACE@[112; 113) " " + TUPLE_EXPR@[113; 115) + L_PAREN@[113; 114) "(" + R_PAREN@[114; 115) ")" + SEMI@[115; 116) ";" + WHITESPACE@[116; 117) "\n" + R_CURLY@[117; 118) "}" + WHITESPACE@[118; 119) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.txt b/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.txt deleted file mode 100644 index d8e04bd90..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.txt +++ /dev/null @@ -1,131 +0,0 @@ -SOURCE_FILE@[0; 119) - FN_DEF@[0; 118) - 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; 118) - BLOCK@[9; 118) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 29) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - RECORD_PAT@[19; 23) - PATH@[19; 20) - PATH_SEGMENT@[19; 20) - NAME_REF@[19; 20) - IDENT@[19; 20) "S" - WHITESPACE@[20; 21) " " - RECORD_FIELD_PAT_LIST@[21; 23) - L_CURLY@[21; 22) "{" - R_CURLY@[22; 23) "}" - WHITESPACE@[23; 24) " " - EQ@[24; 25) "=" - WHITESPACE@[25; 26) " " - TUPLE_EXPR@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - SEMI@[28; 29) ";" - WHITESPACE@[29; 34) "\n " - LET_STMT@[34; 62) - LET_KW@[34; 37) "let" - WHITESPACE@[37; 38) " " - RECORD_PAT@[38; 56) - PATH@[38; 39) - PATH_SEGMENT@[38; 39) - NAME_REF@[38; 39) - IDENT@[38; 39) "S" - WHITESPACE@[39; 40) " " - RECORD_FIELD_PAT_LIST@[40; 56) - L_CURLY@[40; 41) "{" - WHITESPACE@[41; 42) " " - BIND_PAT@[42; 43) - NAME@[42; 43) - IDENT@[42; 43) "f" - COMMA@[43; 44) "," - WHITESPACE@[44; 45) " " - BIND_PAT@[45; 54) - REF_KW@[45; 48) "ref" - WHITESPACE@[48; 49) " " - MUT_KW@[49; 52) "mut" - WHITESPACE@[52; 53) " " - NAME@[53; 54) - IDENT@[53; 54) "g" - WHITESPACE@[54; 55) " " - R_CURLY@[55; 56) "}" - WHITESPACE@[56; 57) " " - EQ@[57; 58) "=" - WHITESPACE@[58; 59) " " - TUPLE_EXPR@[59; 61) - L_PAREN@[59; 60) "(" - R_PAREN@[60; 61) ")" - SEMI@[61; 62) ";" - WHITESPACE@[62; 67) "\n " - LET_STMT@[67; 90) - LET_KW@[67; 70) "let" - WHITESPACE@[70; 71) " " - RECORD_PAT@[71; 84) - PATH@[71; 72) - PATH_SEGMENT@[71; 72) - NAME_REF@[71; 72) - IDENT@[71; 72) "S" - WHITESPACE@[72; 73) " " - RECORD_FIELD_PAT_LIST@[73; 84) - L_CURLY@[73; 74) "{" - WHITESPACE@[74; 75) " " - RECORD_FIELD_PAT@[75; 79) - NAME@[75; 76) - IDENT@[75; 76) "h" - COLON@[76; 77) ":" - WHITESPACE@[77; 78) " " - PLACEHOLDER_PAT@[78; 79) - UNDERSCORE@[78; 79) "_" - COMMA@[79; 80) "," - WHITESPACE@[80; 81) " " - DOTDOT@[81; 83) ".." - R_CURLY@[83; 84) "}" - WHITESPACE@[84; 85) " " - EQ@[85; 86) "=" - WHITESPACE@[86; 87) " " - TUPLE_EXPR@[87; 89) - L_PAREN@[87; 88) "(" - R_PAREN@[88; 89) ")" - SEMI@[89; 90) ";" - WHITESPACE@[90; 95) "\n " - LET_STMT@[95; 116) - LET_KW@[95; 98) "let" - WHITESPACE@[98; 99) " " - RECORD_PAT@[99; 110) - PATH@[99; 100) - PATH_SEGMENT@[99; 100) - NAME_REF@[99; 100) - IDENT@[99; 100) "S" - WHITESPACE@[100; 101) " " - RECORD_FIELD_PAT_LIST@[101; 110) - L_CURLY@[101; 102) "{" - WHITESPACE@[102; 103) " " - RECORD_FIELD_PAT@[103; 107) - NAME@[103; 104) - IDENT@[103; 104) "h" - COLON@[104; 105) ":" - WHITESPACE@[105; 106) " " - PLACEHOLDER_PAT@[106; 107) - UNDERSCORE@[106; 107) "_" - COMMA@[107; 108) "," - WHITESPACE@[108; 109) " " - R_CURLY@[109; 110) "}" - WHITESPACE@[110; 111) " " - EQ@[111; 112) "=" - WHITESPACE@[112; 113) " " - TUPLE_EXPR@[113; 115) - L_PAREN@[113; 114) "(" - R_PAREN@[114; 115) ")" - SEMI@[115; 116) ";" - WHITESPACE@[116; 117) "\n" - R_CURLY@[117; 118) "}" - WHITESPACE@[118; 119) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast new file mode 100644 index 000000000..0db62a1f5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast @@ -0,0 +1,55 @@ +SOURCE_FILE@[0; 55) + FN_DEF@[0; 54) + 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; 54) + BLOCK@[9; 54) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 18) + ARRAY_EXPR@[15; 17) + L_BRACK@[15; 16) "[" + R_BRACK@[16; 17) "]" + SEMI@[17; 18) ";" + WHITESPACE@[18; 23) "\n " + EXPR_STMT@[23; 27) + ARRAY_EXPR@[23; 26) + L_BRACK@[23; 24) "[" + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_BRACK@[25; 26) "]" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + EXPR_STMT@[32; 40) + ARRAY_EXPR@[32; 39) + L_BRACK@[32; 33) "[" + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + COMMA@[34; 35) "," + WHITESPACE@[35; 36) " " + LITERAL@[36; 37) + INT_NUMBER@[36; 37) "2" + COMMA@[37; 38) "," + R_BRACK@[38; 39) "]" + SEMI@[39; 40) ";" + WHITESPACE@[40; 45) "\n " + EXPR_STMT@[45; 52) + ARRAY_EXPR@[45; 51) + L_BRACK@[45; 46) "[" + LITERAL@[46; 47) + INT_NUMBER@[46; 47) "1" + SEMI@[47; 48) ";" + WHITESPACE@[48; 49) " " + LITERAL@[49; 50) + INT_NUMBER@[49; 50) "2" + R_BRACK@[50; 51) "]" + SEMI@[51; 52) ";" + WHITESPACE@[52; 53) "\n" + R_CURLY@[53; 54) "}" + WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.txt deleted file mode 100644 index 0db62a1f5..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.txt +++ /dev/null @@ -1,55 +0,0 @@ -SOURCE_FILE@[0; 55) - FN_DEF@[0; 54) - 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; 54) - BLOCK@[9; 54) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 18) - ARRAY_EXPR@[15; 17) - L_BRACK@[15; 16) "[" - R_BRACK@[16; 17) "]" - SEMI@[17; 18) ";" - WHITESPACE@[18; 23) "\n " - EXPR_STMT@[23; 27) - ARRAY_EXPR@[23; 26) - L_BRACK@[23; 24) "[" - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - R_BRACK@[25; 26) "]" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - EXPR_STMT@[32; 40) - ARRAY_EXPR@[32; 39) - L_BRACK@[32; 33) "[" - LITERAL@[33; 34) - INT_NUMBER@[33; 34) "1" - COMMA@[34; 35) "," - WHITESPACE@[35; 36) " " - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "2" - COMMA@[37; 38) "," - R_BRACK@[38; 39) "]" - SEMI@[39; 40) ";" - WHITESPACE@[40; 45) "\n " - EXPR_STMT@[45; 52) - ARRAY_EXPR@[45; 51) - L_BRACK@[45; 46) "[" - LITERAL@[46; 47) - INT_NUMBER@[46; 47) "1" - SEMI@[47; 48) ";" - WHITESPACE@[48; 49) " " - LITERAL@[49; 50) - INT_NUMBER@[49; 50) "2" - R_BRACK@[50; 51) "]" - SEMI@[51; 52) ";" - WHITESPACE@[52; 53) "\n" - R_CURLY@[53; 54) "}" - WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast b/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast new file mode 100644 index 000000000..a983d5954 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast @@ -0,0 +1,41 @@ +SOURCE_FILE@[0; 29) + TYPE_ALIAS_DEF@[0; 28) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "F" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 27) + PATH@[9; 27) + PATH_SEGMENT@[9; 27) + NAME_REF@[9; 12) + IDENT@[9; 12) "Box" + TYPE_ARG_LIST@[12; 27) + L_ANGLE@[12; 13) "<" + TYPE_ARG@[13; 26) + PATH_TYPE@[13; 26) + PATH@[13; 26) + PATH_SEGMENT@[13; 26) + NAME_REF@[13; 15) + IDENT@[13; 15) "Fn" + PARAM_LIST@[15; 20) + L_PAREN@[15; 16) "(" + PARAM@[16; 19) + PATH_TYPE@[16; 19) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "i32" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + RET_TYPE@[21; 26) + THIN_ARROW@[21; 23) "->" + WHITESPACE@[23; 24) " " + TUPLE_TYPE@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + R_ANGLE@[26; 27) ">" + SEMI@[27; 28) ";" + WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.txt b/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.txt deleted file mode 100644 index a983d5954..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.txt +++ /dev/null @@ -1,41 +0,0 @@ -SOURCE_FILE@[0; 29) - TYPE_ALIAS_DEF@[0; 28) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "F" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 27) - PATH@[9; 27) - PATH_SEGMENT@[9; 27) - NAME_REF@[9; 12) - IDENT@[9; 12) "Box" - TYPE_ARG_LIST@[12; 27) - L_ANGLE@[12; 13) "<" - TYPE_ARG@[13; 26) - PATH_TYPE@[13; 26) - PATH@[13; 26) - PATH_SEGMENT@[13; 26) - NAME_REF@[13; 15) - IDENT@[13; 15) "Fn" - PARAM_LIST@[15; 20) - L_PAREN@[15; 16) "(" - PARAM@[16; 19) - PATH_TYPE@[16; 19) - PATH@[16; 19) - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "i32" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - RET_TYPE@[21; 26) - THIN_ARROW@[21; 23) "->" - WHITESPACE@[23; 24) " " - TUPLE_TYPE@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - R_ANGLE@[26; 27) ">" - SEMI@[27; 28) ";" - WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast new file mode 100644 index 000000000..6bce37a4f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 52) + FN_DEF@[0; 51) + 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; 51) + BLOCK@[9; 51) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 18) + BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) "{" + R_CURLY@[16; 17) "}" + SEMI@[17; 18) ";" + WHITESPACE@[18; 23) "\n " + EXPR_STMT@[23; 33) + BLOCK_EXPR@[23; 32) + UNSAFE_KW@[23; 29) "unsafe" + WHITESPACE@[29; 30) " " + BLOCK@[30; 32) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + SEMI@[32; 33) ";" + WHITESPACE@[33; 38) "\n " + EXPR_STMT@[38; 49) + BLOCK_EXPR@[38; 48) + LABEL@[38; 45) + LIFETIME@[38; 44) "\'label" + COLON@[44; 45) ":" + WHITESPACE@[45; 46) " " + BLOCK@[46; 48) + L_CURLY@[46; 47) "{" + R_CURLY@[47; 48) "}" + SEMI@[48; 49) ";" + WHITESPACE@[49; 50) "\n" + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.txt deleted file mode 100644 index 6bce37a4f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 52) - FN_DEF@[0; 51) - 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; 51) - BLOCK@[9; 51) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 18) - BLOCK_EXPR@[15; 17) - BLOCK@[15; 17) - L_CURLY@[15; 16) "{" - R_CURLY@[16; 17) "}" - SEMI@[17; 18) ";" - WHITESPACE@[18; 23) "\n " - EXPR_STMT@[23; 33) - BLOCK_EXPR@[23; 32) - UNSAFE_KW@[23; 29) "unsafe" - WHITESPACE@[29; 30) " " - BLOCK@[30; 32) - L_CURLY@[30; 31) "{" - R_CURLY@[31; 32) "}" - SEMI@[32; 33) ";" - WHITESPACE@[33; 38) "\n " - EXPR_STMT@[38; 49) - BLOCK_EXPR@[38; 48) - LABEL@[38; 45) - LIFETIME@[38; 44) "\'label" - COLON@[44; 45) ":" - WHITESPACE@[45; 46) " " - BLOCK@[46; 48) - L_CURLY@[46; 47) "{" - R_CURLY@[47; 48) "}" - SEMI@[48; 49) ";" - WHITESPACE@[49; 50) "\n" - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast new file mode 100644 index 000000000..0216123f0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast @@ -0,0 +1,140 @@ +SOURCE_FILE@[0; 134) + FN_DEF@[0; 133) + 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; 133) + BLOCK@[9; 133) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 21) + LAMBDA_EXPR@[15; 20) + PARAM_LIST@[15; 17) + PIPE@[15; 16) "|" + PIPE@[16; 17) "|" + WHITESPACE@[17; 18) " " + TUPLE_EXPR@[18; 20) + L_PAREN@[18; 19) "(" + R_PAREN@[19; 20) ")" + SEMI@[20; 21) ";" + WHITESPACE@[21; 26) "\n " + EXPR_STMT@[26; 43) + LAMBDA_EXPR@[26; 42) + PARAM_LIST@[26; 28) + PIPE@[26; 27) "|" + PIPE@[27; 28) "|" + WHITESPACE@[28; 29) " " + RET_TYPE@[29; 35) + THIN_ARROW@[29; 31) "->" + WHITESPACE@[31; 32) " " + PATH_TYPE@[32; 35) + PATH@[32; 35) + PATH_SEGMENT@[32; 35) + NAME_REF@[32; 35) + IDENT@[32; 35) "i32" + WHITESPACE@[35; 36) " " + BLOCK_EXPR@[36; 42) + BLOCK@[36; 42) + L_CURLY@[36; 37) "{" + WHITESPACE@[37; 38) " " + LITERAL@[38; 40) + INT_NUMBER@[38; 40) "92" + WHITESPACE@[40; 41) " " + R_CURLY@[41; 42) "}" + SEMI@[42; 43) ";" + WHITESPACE@[43; 48) "\n " + EXPR_STMT@[48; 54) + LAMBDA_EXPR@[48; 53) + PARAM_LIST@[48; 51) + PIPE@[48; 49) "|" + PARAM@[49; 50) + BIND_PAT@[49; 50) + NAME@[49; 50) + IDENT@[49; 50) "x" + PIPE@[50; 51) "|" + WHITESPACE@[51; 52) " " + PATH_EXPR@[52; 53) + PATH@[52; 53) + PATH_SEGMENT@[52; 53) + NAME_REF@[52; 53) + IDENT@[52; 53) "x" + SEMI@[53; 54) ";" + WHITESPACE@[54; 59) "\n " + EXPR_STMT@[59; 76) + LAMBDA_EXPR@[59; 75) + MOVE_KW@[59; 63) "move" + WHITESPACE@[63; 64) " " + PARAM_LIST@[64; 73) + PIPE@[64; 65) "|" + PARAM@[65; 71) + BIND_PAT@[65; 66) + NAME@[65; 66) + IDENT@[65; 66) "x" + COLON@[66; 67) ":" + WHITESPACE@[67; 68) " " + PATH_TYPE@[68; 71) + PATH@[68; 71) + PATH_SEGMENT@[68; 71) + NAME_REF@[68; 71) + IDENT@[68; 71) "i32" + COMMA@[71; 72) "," + PIPE@[72; 73) "|" + WHITESPACE@[73; 74) " " + PATH_EXPR@[74; 75) + PATH@[74; 75) + PATH_SEGMENT@[74; 75) + NAME_REF@[74; 75) + IDENT@[74; 75) "x" + SEMI@[75; 76) ";" + WHITESPACE@[76; 81) "\n " + EXPR_STMT@[81; 93) + LAMBDA_EXPR@[81; 92) + ASYNC_KW@[81; 86) "async" + WHITESPACE@[86; 87) " " + PARAM_LIST@[87; 89) + PIPE@[87; 88) "|" + PIPE@[88; 89) "|" + WHITESPACE@[89; 90) " " + BLOCK_EXPR@[90; 92) + BLOCK@[90; 92) + L_CURLY@[90; 91) "{" + R_CURLY@[91; 92) "}" + SEMI@[92; 93) ";" + WHITESPACE@[93; 98) "\n " + EXPR_STMT@[98; 109) + LAMBDA_EXPR@[98; 108) + MOVE_KW@[98; 102) "move" + WHITESPACE@[102; 103) " " + PARAM_LIST@[103; 105) + PIPE@[103; 104) "|" + PIPE@[104; 105) "|" + WHITESPACE@[105; 106) " " + BLOCK_EXPR@[106; 108) + BLOCK@[106; 108) + L_CURLY@[106; 107) "{" + R_CURLY@[107; 108) "}" + SEMI@[108; 109) ";" + WHITESPACE@[109; 114) "\n " + EXPR_STMT@[114; 131) + LAMBDA_EXPR@[114; 130) + ASYNC_KW@[114; 119) "async" + WHITESPACE@[119; 120) " " + MOVE_KW@[120; 124) "move" + WHITESPACE@[124; 125) " " + PARAM_LIST@[125; 127) + PIPE@[125; 126) "|" + PIPE@[126; 127) "|" + WHITESPACE@[127; 128) " " + BLOCK_EXPR@[128; 130) + BLOCK@[128; 130) + L_CURLY@[128; 129) "{" + R_CURLY@[129; 130) "}" + SEMI@[130; 131) ";" + WHITESPACE@[131; 132) "\n" + R_CURLY@[132; 133) "}" + WHITESPACE@[133; 134) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.txt deleted file mode 100644 index 0216123f0..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.txt +++ /dev/null @@ -1,140 +0,0 @@ -SOURCE_FILE@[0; 134) - FN_DEF@[0; 133) - 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; 133) - BLOCK@[9; 133) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 21) - LAMBDA_EXPR@[15; 20) - PARAM_LIST@[15; 17) - PIPE@[15; 16) "|" - PIPE@[16; 17) "|" - WHITESPACE@[17; 18) " " - TUPLE_EXPR@[18; 20) - L_PAREN@[18; 19) "(" - R_PAREN@[19; 20) ")" - SEMI@[20; 21) ";" - WHITESPACE@[21; 26) "\n " - EXPR_STMT@[26; 43) - LAMBDA_EXPR@[26; 42) - PARAM_LIST@[26; 28) - PIPE@[26; 27) "|" - PIPE@[27; 28) "|" - WHITESPACE@[28; 29) " " - RET_TYPE@[29; 35) - THIN_ARROW@[29; 31) "->" - WHITESPACE@[31; 32) " " - PATH_TYPE@[32; 35) - PATH@[32; 35) - PATH_SEGMENT@[32; 35) - NAME_REF@[32; 35) - IDENT@[32; 35) "i32" - WHITESPACE@[35; 36) " " - BLOCK_EXPR@[36; 42) - BLOCK@[36; 42) - L_CURLY@[36; 37) "{" - WHITESPACE@[37; 38) " " - LITERAL@[38; 40) - INT_NUMBER@[38; 40) "92" - WHITESPACE@[40; 41) " " - R_CURLY@[41; 42) "}" - SEMI@[42; 43) ";" - WHITESPACE@[43; 48) "\n " - EXPR_STMT@[48; 54) - LAMBDA_EXPR@[48; 53) - PARAM_LIST@[48; 51) - PIPE@[48; 49) "|" - PARAM@[49; 50) - BIND_PAT@[49; 50) - NAME@[49; 50) - IDENT@[49; 50) "x" - PIPE@[50; 51) "|" - WHITESPACE@[51; 52) " " - PATH_EXPR@[52; 53) - PATH@[52; 53) - PATH_SEGMENT@[52; 53) - NAME_REF@[52; 53) - IDENT@[52; 53) "x" - SEMI@[53; 54) ";" - WHITESPACE@[54; 59) "\n " - EXPR_STMT@[59; 76) - LAMBDA_EXPR@[59; 75) - MOVE_KW@[59; 63) "move" - WHITESPACE@[63; 64) " " - PARAM_LIST@[64; 73) - PIPE@[64; 65) "|" - PARAM@[65; 71) - BIND_PAT@[65; 66) - NAME@[65; 66) - IDENT@[65; 66) "x" - COLON@[66; 67) ":" - WHITESPACE@[67; 68) " " - PATH_TYPE@[68; 71) - PATH@[68; 71) - PATH_SEGMENT@[68; 71) - NAME_REF@[68; 71) - IDENT@[68; 71) "i32" - COMMA@[71; 72) "," - PIPE@[72; 73) "|" - WHITESPACE@[73; 74) " " - PATH_EXPR@[74; 75) - PATH@[74; 75) - PATH_SEGMENT@[74; 75) - NAME_REF@[74; 75) - IDENT@[74; 75) "x" - SEMI@[75; 76) ";" - WHITESPACE@[76; 81) "\n " - EXPR_STMT@[81; 93) - LAMBDA_EXPR@[81; 92) - ASYNC_KW@[81; 86) "async" - WHITESPACE@[86; 87) " " - PARAM_LIST@[87; 89) - PIPE@[87; 88) "|" - PIPE@[88; 89) "|" - WHITESPACE@[89; 90) " " - BLOCK_EXPR@[90; 92) - BLOCK@[90; 92) - L_CURLY@[90; 91) "{" - R_CURLY@[91; 92) "}" - SEMI@[92; 93) ";" - WHITESPACE@[93; 98) "\n " - EXPR_STMT@[98; 109) - LAMBDA_EXPR@[98; 108) - MOVE_KW@[98; 102) "move" - WHITESPACE@[102; 103) " " - PARAM_LIST@[103; 105) - PIPE@[103; 104) "|" - PIPE@[104; 105) "|" - WHITESPACE@[105; 106) " " - BLOCK_EXPR@[106; 108) - BLOCK@[106; 108) - L_CURLY@[106; 107) "{" - R_CURLY@[107; 108) "}" - SEMI@[108; 109) ";" - WHITESPACE@[109; 114) "\n " - EXPR_STMT@[114; 131) - LAMBDA_EXPR@[114; 130) - ASYNC_KW@[114; 119) "async" - WHITESPACE@[119; 120) " " - MOVE_KW@[120; 124) "move" - WHITESPACE@[124; 125) " " - PARAM_LIST@[125; 127) - PIPE@[125; 126) "|" - PIPE@[126; 127) "|" - WHITESPACE@[127; 128) " " - BLOCK_EXPR@[128; 130) - BLOCK@[128; 130) - L_CURLY@[128; 129) "{" - R_CURLY@[129; 130) "}" - SEMI@[130; 131) ";" - WHITESPACE@[131; 132) "\n" - R_CURLY@[132; 133) "}" - WHITESPACE@[133; 134) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast new file mode 100644 index 000000000..ba478528c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast @@ -0,0 +1,63 @@ +SOURCE_FILE@[0; 49) + FN_DEF@[0; 48) + 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; 48) + BLOCK@[9; 48) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 23) + METHOD_CALL_EXPR@[15; 22) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) "." + NAME_REF@[17; 20) + IDENT@[17; 20) "foo" + ARG_LIST@[20; 22) + L_PAREN@[20; 21) "(" + R_PAREN@[21; 22) ")" + SEMI@[22; 23) ";" + WHITESPACE@[23; 28) "\n " + EXPR_STMT@[28; 46) + METHOD_CALL_EXPR@[28; 45) + PATH_EXPR@[28; 29) + PATH@[28; 29) + PATH_SEGMENT@[28; 29) + NAME_REF@[28; 29) + IDENT@[28; 29) "y" + DOT@[29; 30) "." + NAME_REF@[30; 33) + IDENT@[30; 33) "bar" + TYPE_ARG_LIST@[33; 38) + COLONCOLON@[33; 35) "::" + L_ANGLE@[35; 36) "<" + TYPE_ARG@[36; 37) + PATH_TYPE@[36; 37) + PATH@[36; 37) + PATH_SEGMENT@[36; 37) + NAME_REF@[36; 37) + IDENT@[36; 37) "T" + R_ANGLE@[37; 38) ">" + ARG_LIST@[38; 45) + L_PAREN@[38; 39) "(" + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "1" + COMMA@[40; 41) "," + WHITESPACE@[41; 42) " " + LITERAL@[42; 43) + INT_NUMBER@[42; 43) "2" + COMMA@[43; 44) "," + R_PAREN@[44; 45) ")" + SEMI@[45; 46) ";" + WHITESPACE@[46; 47) "\n" + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.txt deleted file mode 100644 index ba478528c..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.txt +++ /dev/null @@ -1,63 +0,0 @@ -SOURCE_FILE@[0; 49) - FN_DEF@[0; 48) - 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; 48) - BLOCK@[9; 48) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 23) - METHOD_CALL_EXPR@[15; 22) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - DOT@[16; 17) "." - NAME_REF@[17; 20) - IDENT@[17; 20) "foo" - ARG_LIST@[20; 22) - L_PAREN@[20; 21) "(" - R_PAREN@[21; 22) ")" - SEMI@[22; 23) ";" - WHITESPACE@[23; 28) "\n " - EXPR_STMT@[28; 46) - METHOD_CALL_EXPR@[28; 45) - PATH_EXPR@[28; 29) - PATH@[28; 29) - PATH_SEGMENT@[28; 29) - NAME_REF@[28; 29) - IDENT@[28; 29) "y" - DOT@[29; 30) "." - NAME_REF@[30; 33) - IDENT@[30; 33) "bar" - TYPE_ARG_LIST@[33; 38) - COLONCOLON@[33; 35) "::" - L_ANGLE@[35; 36) "<" - TYPE_ARG@[36; 37) - PATH_TYPE@[36; 37) - PATH@[36; 37) - PATH_SEGMENT@[36; 37) - NAME_REF@[36; 37) - IDENT@[36; 37) "T" - R_ANGLE@[37; 38) ">" - ARG_LIST@[38; 45) - L_PAREN@[38; 39) "(" - LITERAL@[39; 40) - INT_NUMBER@[39; 40) "1" - COMMA@[40; 41) "," - WHITESPACE@[41; 42) " " - LITERAL@[42; 43) - INT_NUMBER@[42; 43) "2" - COMMA@[43; 44) "," - R_PAREN@[44; 45) ")" - SEMI@[45; 46) ";" - WHITESPACE@[46; 47) "\n" - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast new file mode 100644 index 000000000..6f685ca8d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast @@ -0,0 +1,39 @@ +SOURCE_FILE@[0; 40) + FN_DEF@[0; 39) + 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; 39) + BLOCK@[9; 39) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 18) + TUPLE_EXPR@[15; 17) + L_PAREN@[15; 16) "(" + R_PAREN@[16; 17) ")" + SEMI@[17; 18) ";" + WHITESPACE@[18; 23) "\n " + EXPR_STMT@[23; 27) + PAREN_EXPR@[23; 26) + L_PAREN@[23; 24) "(" + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + R_PAREN@[25; 26) ")" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + EXPR_STMT@[32; 37) + TUPLE_EXPR@[32; 36) + L_PAREN@[32; 33) "(" + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + COMMA@[34; 35) "," + R_PAREN@[35; 36) ")" + SEMI@[36; 37) ";" + WHITESPACE@[37; 38) "\n" + R_CURLY@[38; 39) "}" + WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.txt deleted file mode 100644 index 6f685ca8d..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.txt +++ /dev/null @@ -1,39 +0,0 @@ -SOURCE_FILE@[0; 40) - FN_DEF@[0; 39) - 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; 39) - BLOCK@[9; 39) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 18) - TUPLE_EXPR@[15; 17) - L_PAREN@[15; 16) "(" - R_PAREN@[16; 17) ")" - SEMI@[17; 18) ";" - WHITESPACE@[18; 23) "\n " - EXPR_STMT@[23; 27) - PAREN_EXPR@[23; 26) - L_PAREN@[23; 24) "(" - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - R_PAREN@[25; 26) ")" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - EXPR_STMT@[32; 37) - TUPLE_EXPR@[32; 36) - L_PAREN@[32; 33) "(" - LITERAL@[33; 34) - INT_NUMBER@[33; 34) "1" - COMMA@[34; 35) "," - R_PAREN@[35; 36) ")" - SEMI@[36; 37) ";" - WHITESPACE@[37; 38) "\n" - R_CURLY@[38; 39) "}" - WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast b/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast new file mode 100644 index 000000000..3376a90cb --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast @@ -0,0 +1,68 @@ +SOURCE_FILE@[0; 74) + FN_DEF@[0; 73) + 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; 73) + BLOCK@[9; 73) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 26) + LOOP_EXPR@[15; 26) + LABEL@[15; 18) + LIFETIME@[15; 17) "\'a" + COLON@[17; 18) ":" + WHITESPACE@[18; 19) " " + LOOP_KW@[19; 23) "loop" + WHITESPACE@[23; 24) " " + BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 31) "\n " + EXPR_STMT@[31; 48) + WHILE_EXPR@[31; 48) + LABEL@[31; 34) + LIFETIME@[31; 33) "\'b" + COLON@[33; 34) ":" + WHITESPACE@[34; 35) " " + WHILE_KW@[35; 40) "while" + WHITESPACE@[40; 41) " " + CONDITION@[41; 45) + LITERAL@[41; 45) + TRUE_KW@[41; 45) "true" + WHITESPACE@[45; 46) " " + BLOCK_EXPR@[46; 48) + BLOCK@[46; 48) + L_CURLY@[46; 47) "{" + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 53) "\n " + FOR_EXPR@[53; 71) + LABEL@[53; 56) + LIFETIME@[53; 55) "\'c" + COLON@[55; 56) ":" + WHITESPACE@[56; 57) " " + FOR_KW@[57; 60) "for" + WHITESPACE@[60; 61) " " + BIND_PAT@[61; 62) + NAME@[61; 62) + IDENT@[61; 62) "x" + WHITESPACE@[62; 63) " " + IN_KW@[63; 65) "in" + WHITESPACE@[65; 66) " " + TUPLE_EXPR@[66; 68) + L_PAREN@[66; 67) "(" + R_PAREN@[67; 68) ")" + WHITESPACE@[68; 69) " " + BLOCK_EXPR@[69; 71) + BLOCK@[69; 71) + L_CURLY@[69; 70) "{" + R_CURLY@[70; 71) "}" + WHITESPACE@[71; 72) "\n" + R_CURLY@[72; 73) "}" + WHITESPACE@[73; 74) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0109_label.txt b/crates/ra_syntax/test_data/parser/inline/ok/0109_label.txt deleted file mode 100644 index 3376a90cb..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0109_label.txt +++ /dev/null @@ -1,68 +0,0 @@ -SOURCE_FILE@[0; 74) - FN_DEF@[0; 73) - 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; 73) - BLOCK@[9; 73) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 26) - LOOP_EXPR@[15; 26) - LABEL@[15; 18) - LIFETIME@[15; 17) "\'a" - COLON@[17; 18) ":" - WHITESPACE@[18; 19) " " - LOOP_KW@[19; 23) "loop" - WHITESPACE@[23; 24) " " - BLOCK_EXPR@[24; 26) - BLOCK@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 31) "\n " - EXPR_STMT@[31; 48) - WHILE_EXPR@[31; 48) - LABEL@[31; 34) - LIFETIME@[31; 33) "\'b" - COLON@[33; 34) ":" - WHITESPACE@[34; 35) " " - WHILE_KW@[35; 40) "while" - WHITESPACE@[40; 41) " " - CONDITION@[41; 45) - LITERAL@[41; 45) - TRUE_KW@[41; 45) "true" - WHITESPACE@[45; 46) " " - BLOCK_EXPR@[46; 48) - BLOCK@[46; 48) - L_CURLY@[46; 47) "{" - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 53) "\n " - FOR_EXPR@[53; 71) - LABEL@[53; 56) - LIFETIME@[53; 55) "\'c" - COLON@[55; 56) ":" - WHITESPACE@[56; 57) " " - FOR_KW@[57; 60) "for" - WHITESPACE@[60; 61) " " - BIND_PAT@[61; 62) - NAME@[61; 62) - IDENT@[61; 62) "x" - WHITESPACE@[62; 63) " " - IN_KW@[63; 65) "in" - WHITESPACE@[65; 66) " " - TUPLE_EXPR@[66; 68) - L_PAREN@[66; 67) "(" - R_PAREN@[67; 68) ")" - WHITESPACE@[68; 69) " " - BLOCK_EXPR@[69; 71) - BLOCK@[69; 71) - L_CURLY@[69; 70) "{" - R_CURLY@[70; 71) "}" - WHITESPACE@[71; 72) "\n" - R_CURLY@[72; 73) "}" - WHITESPACE@[73; 74) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast new file mode 100644 index 000000000..7dbcd3927 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast @@ -0,0 +1,38 @@ +SOURCE_FILE@[0; 154) + USE_ITEM@[0; 17) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 16) + PATH@[4; 16) + PATH_SEGMENT@[4; 16) + COLONCOLON@[4; 6) "::" + NAME_REF@[6; 16) + IDENT@[6; 16) "crate_name" + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) " " + COMMENT@[18; 45) "// Rust 2018 - All fl ..." + WHITESPACE@[45; 46) "\n" + USE_ITEM@[46; 61) + USE_KW@[46; 49) "use" + WHITESPACE@[49; 50) " " + USE_TREE@[50; 60) + PATH@[50; 60) + PATH_SEGMENT@[50; 60) + NAME_REF@[50; 60) + IDENT@[50; 60) "crate_name" + SEMI@[60; 61) ";" + WHITESPACE@[61; 62) " " + COMMENT@[62; 91) "// Rust 2018 - Anchor ..." + WHITESPACE@[91; 92) "\n" + USE_ITEM@[92; 124) + USE_KW@[92; 95) "use" + WHITESPACE@[95; 96) " " + USE_TREE@[96; 123) + PATH@[96; 123) + PATH_SEGMENT@[96; 123) + NAME_REF@[96; 123) + IDENT@[96; 123) "item_in_scope_or_crat ..." + SEMI@[123; 124) ";" + WHITESPACE@[124; 125) " " + COMMENT@[125; 153) "// Rust 2018 - Unifor ..." + WHITESPACE@[153; 154) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.txt b/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.txt deleted file mode 100644 index 7dbcd3927..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.txt +++ /dev/null @@ -1,38 +0,0 @@ -SOURCE_FILE@[0; 154) - USE_ITEM@[0; 17) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 16) - PATH@[4; 16) - PATH_SEGMENT@[4; 16) - COLONCOLON@[4; 6) "::" - NAME_REF@[6; 16) - IDENT@[6; 16) "crate_name" - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) " " - COMMENT@[18; 45) "// Rust 2018 - All fl ..." - WHITESPACE@[45; 46) "\n" - USE_ITEM@[46; 61) - USE_KW@[46; 49) "use" - WHITESPACE@[49; 50) " " - USE_TREE@[50; 60) - PATH@[50; 60) - PATH_SEGMENT@[50; 60) - NAME_REF@[50; 60) - IDENT@[50; 60) "crate_name" - SEMI@[60; 61) ";" - WHITESPACE@[61; 62) " " - COMMENT@[62; 91) "// Rust 2018 - Anchor ..." - WHITESPACE@[91; 92) "\n" - USE_ITEM@[92; 124) - USE_KW@[92; 95) "use" - WHITESPACE@[95; 96) " " - USE_TREE@[96; 123) - PATH@[96; 123) - PATH_SEGMENT@[96; 123) - NAME_REF@[96; 123) - IDENT@[96; 123) "item_in_scope_or_crat ..." - SEMI@[123; 124) ";" - WHITESPACE@[124; 125) " " - COMMENT@[125; 153) "// Rust 2018 - Unifor ..." - WHITESPACE@[153; 154) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast new file mode 100644 index 000000000..4680c267e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast @@ -0,0 +1,90 @@ +SOURCE_FILE@[0; 94) + FN_DEF@[0; 93) + 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; 93) + BLOCK@[10; 93) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 36) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + TUPLE_PAT@[20; 30) + L_PAREN@[20; 21) "(" + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) "," + WHITESPACE@[23; 24) " " + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + COMMA@[25; 26) "," + WHITESPACE@[26; 27) " " + DOT_DOT_PAT@[27; 29) + DOTDOT@[27; 29) ".." + R_PAREN@[29; 30) ")" + WHITESPACE@[30; 31) " " + EQ@[31; 32) "=" + WHITESPACE@[32; 33) " " + TUPLE_EXPR@[33; 35) + L_PAREN@[33; 34) "(" + R_PAREN@[34; 35) ")" + SEMI@[35; 36) ";" + WHITESPACE@[36; 41) "\n " + LET_STMT@[41; 55) + LET_KW@[41; 44) "let" + WHITESPACE@[44; 45) " " + TUPLE_PAT@[45; 49) + L_PAREN@[45; 46) "(" + BIND_PAT@[46; 47) + NAME@[46; 47) + IDENT@[46; 47) "a" + COMMA@[47; 48) "," + R_PAREN@[48; 49) ")" + WHITESPACE@[49; 50) " " + EQ@[50; 51) "=" + WHITESPACE@[51; 52) " " + TUPLE_EXPR@[52; 54) + L_PAREN@[52; 53) "(" + R_PAREN@[53; 54) ")" + SEMI@[54; 55) ";" + WHITESPACE@[55; 60) "\n " + LET_STMT@[60; 74) + LET_KW@[60; 63) "let" + WHITESPACE@[63; 64) " " + TUPLE_PAT@[64; 68) + L_PAREN@[64; 65) "(" + DOT_DOT_PAT@[65; 67) + DOTDOT@[65; 67) ".." + R_PAREN@[67; 68) ")" + WHITESPACE@[68; 69) " " + EQ@[69; 70) "=" + WHITESPACE@[70; 71) " " + TUPLE_EXPR@[71; 73) + L_PAREN@[71; 72) "(" + R_PAREN@[72; 73) ")" + SEMI@[73; 74) ";" + WHITESPACE@[74; 79) "\n " + LET_STMT@[79; 91) + LET_KW@[79; 82) "let" + WHITESPACE@[82; 83) " " + TUPLE_PAT@[83; 85) + L_PAREN@[83; 84) "(" + R_PAREN@[84; 85) ")" + WHITESPACE@[85; 86) " " + EQ@[86; 87) "=" + WHITESPACE@[87; 88) " " + TUPLE_EXPR@[88; 90) + L_PAREN@[88; 89) "(" + R_PAREN@[89; 90) ")" + SEMI@[90; 91) ";" + WHITESPACE@[91; 92) "\n" + R_CURLY@[92; 93) "}" + WHITESPACE@[93; 94) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.txt deleted file mode 100644 index 4680c267e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.txt +++ /dev/null @@ -1,90 +0,0 @@ -SOURCE_FILE@[0; 94) - FN_DEF@[0; 93) - 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; 93) - BLOCK@[10; 93) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 36) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - TUPLE_PAT@[20; 30) - L_PAREN@[20; 21) "(" - BIND_PAT@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "a" - COMMA@[22; 23) "," - WHITESPACE@[23; 24) " " - BIND_PAT@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "b" - COMMA@[25; 26) "," - WHITESPACE@[26; 27) " " - DOT_DOT_PAT@[27; 29) - DOTDOT@[27; 29) ".." - R_PAREN@[29; 30) ")" - WHITESPACE@[30; 31) " " - EQ@[31; 32) "=" - WHITESPACE@[32; 33) " " - TUPLE_EXPR@[33; 35) - L_PAREN@[33; 34) "(" - R_PAREN@[34; 35) ")" - SEMI@[35; 36) ";" - WHITESPACE@[36; 41) "\n " - LET_STMT@[41; 55) - LET_KW@[41; 44) "let" - WHITESPACE@[44; 45) " " - TUPLE_PAT@[45; 49) - L_PAREN@[45; 46) "(" - BIND_PAT@[46; 47) - NAME@[46; 47) - IDENT@[46; 47) "a" - COMMA@[47; 48) "," - R_PAREN@[48; 49) ")" - WHITESPACE@[49; 50) " " - EQ@[50; 51) "=" - WHITESPACE@[51; 52) " " - TUPLE_EXPR@[52; 54) - L_PAREN@[52; 53) "(" - R_PAREN@[53; 54) ")" - SEMI@[54; 55) ";" - WHITESPACE@[55; 60) "\n " - LET_STMT@[60; 74) - LET_KW@[60; 63) "let" - WHITESPACE@[63; 64) " " - TUPLE_PAT@[64; 68) - L_PAREN@[64; 65) "(" - DOT_DOT_PAT@[65; 67) - DOTDOT@[65; 67) ".." - R_PAREN@[67; 68) ")" - WHITESPACE@[68; 69) " " - EQ@[69; 70) "=" - WHITESPACE@[70; 71) " " - TUPLE_EXPR@[71; 73) - L_PAREN@[71; 72) "(" - R_PAREN@[72; 73) ")" - SEMI@[73; 74) ";" - WHITESPACE@[74; 79) "\n " - LET_STMT@[79; 91) - LET_KW@[79; 82) "let" - WHITESPACE@[82; 83) " " - TUPLE_PAT@[83; 85) - L_PAREN@[83; 84) "(" - R_PAREN@[84; 85) ")" - WHITESPACE@[85; 86) " " - EQ@[86; 87) "=" - WHITESPACE@[87; 88) " " - TUPLE_EXPR@[88; 90) - L_PAREN@[88; 89) "(" - R_PAREN@[89; 90) ")" - SEMI@[90; 91) ";" - WHITESPACE@[91; 92) "\n" - R_CURLY@[92; 93) "}" - WHITESPACE@[93; 94) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast new file mode 100644 index 000000000..ad1d47b0e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast @@ -0,0 +1,128 @@ +SOURCE_FILE@[0; 146) + FN_DEF@[0; 145) + 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; 145) + BLOCK@[10; 145) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 27) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + BIND_PAT@[20; 21) + NAME@[20; 21) + IDENT@[20; 21) "a" + WHITESPACE@[21; 22) " " + EQ@[22; 23) "=" + WHITESPACE@[23; 24) " " + TUPLE_EXPR@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + LET_STMT@[32; 47) + LET_KW@[32; 35) "let" + WHITESPACE@[35; 36) " " + BIND_PAT@[36; 41) + MUT_KW@[36; 39) "mut" + WHITESPACE@[39; 40) " " + NAME@[40; 41) + IDENT@[40; 41) "b" + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " + TUPLE_EXPR@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + SEMI@[46; 47) ";" + WHITESPACE@[47; 52) "\n " + LET_STMT@[52; 67) + LET_KW@[52; 55) "let" + WHITESPACE@[55; 56) " " + BIND_PAT@[56; 61) + REF_KW@[56; 59) "ref" + WHITESPACE@[59; 60) " " + NAME@[60; 61) + IDENT@[60; 61) "c" + WHITESPACE@[61; 62) " " + EQ@[62; 63) "=" + WHITESPACE@[63; 64) " " + TUPLE_EXPR@[64; 66) + L_PAREN@[64; 65) "(" + R_PAREN@[65; 66) ")" + SEMI@[66; 67) ";" + WHITESPACE@[67; 72) "\n " + LET_STMT@[72; 91) + LET_KW@[72; 75) "let" + WHITESPACE@[75; 76) " " + BIND_PAT@[76; 85) + REF_KW@[76; 79) "ref" + WHITESPACE@[79; 80) " " + MUT_KW@[80; 83) "mut" + WHITESPACE@[83; 84) " " + NAME@[84; 85) + IDENT@[84; 85) "d" + WHITESPACE@[85; 86) " " + EQ@[86; 87) "=" + WHITESPACE@[87; 88) " " + TUPLE_EXPR@[88; 90) + L_PAREN@[88; 89) "(" + R_PAREN@[89; 90) ")" + SEMI@[90; 91) ";" + WHITESPACE@[91; 96) "\n " + LET_STMT@[96; 111) + LET_KW@[96; 99) "let" + WHITESPACE@[99; 100) " " + BIND_PAT@[100; 105) + NAME@[100; 101) + IDENT@[100; 101) "e" + WHITESPACE@[101; 102) " " + AT@[102; 103) "@" + WHITESPACE@[103; 104) " " + PLACEHOLDER_PAT@[104; 105) + UNDERSCORE@[104; 105) "_" + WHITESPACE@[105; 106) " " + EQ@[106; 107) "=" + WHITESPACE@[107; 108) " " + TUPLE_EXPR@[108; 110) + L_PAREN@[108; 109) "(" + R_PAREN@[109; 110) ")" + SEMI@[110; 111) ";" + WHITESPACE@[111; 116) "\n " + LET_STMT@[116; 143) + LET_KW@[116; 119) "let" + WHITESPACE@[119; 120) " " + BIND_PAT@[120; 137) + REF_KW@[120; 123) "ref" + WHITESPACE@[123; 124) " " + MUT_KW@[124; 127) "mut" + WHITESPACE@[127; 128) " " + NAME@[128; 129) + IDENT@[128; 129) "f" + WHITESPACE@[129; 130) " " + AT@[130; 131) "@" + WHITESPACE@[131; 132) " " + BIND_PAT@[132; 137) + NAME@[132; 133) + IDENT@[132; 133) "g" + WHITESPACE@[133; 134) " " + AT@[134; 135) "@" + WHITESPACE@[135; 136) " " + PLACEHOLDER_PAT@[136; 137) + UNDERSCORE@[136; 137) "_" + WHITESPACE@[137; 138) " " + EQ@[138; 139) "=" + WHITESPACE@[139; 140) " " + TUPLE_EXPR@[140; 142) + L_PAREN@[140; 141) "(" + R_PAREN@[141; 142) ")" + SEMI@[142; 143) ";" + WHITESPACE@[143; 144) "\n" + R_CURLY@[144; 145) "}" + WHITESPACE@[145; 146) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.txt deleted file mode 100644 index ad1d47b0e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.txt +++ /dev/null @@ -1,128 +0,0 @@ -SOURCE_FILE@[0; 146) - FN_DEF@[0; 145) - 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; 145) - BLOCK@[10; 145) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 27) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - BIND_PAT@[20; 21) - NAME@[20; 21) - IDENT@[20; 21) "a" - WHITESPACE@[21; 22) " " - EQ@[22; 23) "=" - WHITESPACE@[23; 24) " " - TUPLE_EXPR@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - LET_STMT@[32; 47) - LET_KW@[32; 35) "let" - WHITESPACE@[35; 36) " " - BIND_PAT@[36; 41) - MUT_KW@[36; 39) "mut" - WHITESPACE@[39; 40) " " - NAME@[40; 41) - IDENT@[40; 41) "b" - WHITESPACE@[41; 42) " " - EQ@[42; 43) "=" - WHITESPACE@[43; 44) " " - TUPLE_EXPR@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - SEMI@[46; 47) ";" - WHITESPACE@[47; 52) "\n " - LET_STMT@[52; 67) - LET_KW@[52; 55) "let" - WHITESPACE@[55; 56) " " - BIND_PAT@[56; 61) - REF_KW@[56; 59) "ref" - WHITESPACE@[59; 60) " " - NAME@[60; 61) - IDENT@[60; 61) "c" - WHITESPACE@[61; 62) " " - EQ@[62; 63) "=" - WHITESPACE@[63; 64) " " - TUPLE_EXPR@[64; 66) - L_PAREN@[64; 65) "(" - R_PAREN@[65; 66) ")" - SEMI@[66; 67) ";" - WHITESPACE@[67; 72) "\n " - LET_STMT@[72; 91) - LET_KW@[72; 75) "let" - WHITESPACE@[75; 76) " " - BIND_PAT@[76; 85) - REF_KW@[76; 79) "ref" - WHITESPACE@[79; 80) " " - MUT_KW@[80; 83) "mut" - WHITESPACE@[83; 84) " " - NAME@[84; 85) - IDENT@[84; 85) "d" - WHITESPACE@[85; 86) " " - EQ@[86; 87) "=" - WHITESPACE@[87; 88) " " - TUPLE_EXPR@[88; 90) - L_PAREN@[88; 89) "(" - R_PAREN@[89; 90) ")" - SEMI@[90; 91) ";" - WHITESPACE@[91; 96) "\n " - LET_STMT@[96; 111) - LET_KW@[96; 99) "let" - WHITESPACE@[99; 100) " " - BIND_PAT@[100; 105) - NAME@[100; 101) - IDENT@[100; 101) "e" - WHITESPACE@[101; 102) " " - AT@[102; 103) "@" - WHITESPACE@[103; 104) " " - PLACEHOLDER_PAT@[104; 105) - UNDERSCORE@[104; 105) "_" - WHITESPACE@[105; 106) " " - EQ@[106; 107) "=" - WHITESPACE@[107; 108) " " - TUPLE_EXPR@[108; 110) - L_PAREN@[108; 109) "(" - R_PAREN@[109; 110) ")" - SEMI@[110; 111) ";" - WHITESPACE@[111; 116) "\n " - LET_STMT@[116; 143) - LET_KW@[116; 119) "let" - WHITESPACE@[119; 120) " " - BIND_PAT@[120; 137) - REF_KW@[120; 123) "ref" - WHITESPACE@[123; 124) " " - MUT_KW@[124; 127) "mut" - WHITESPACE@[127; 128) " " - NAME@[128; 129) - IDENT@[128; 129) "f" - WHITESPACE@[129; 130) " " - AT@[130; 131) "@" - WHITESPACE@[131; 132) " " - BIND_PAT@[132; 137) - NAME@[132; 133) - IDENT@[132; 133) "g" - WHITESPACE@[133; 134) " " - AT@[134; 135) "@" - WHITESPACE@[135; 136) " " - PLACEHOLDER_PAT@[136; 137) - UNDERSCORE@[136; 137) "_" - WHITESPACE@[137; 138) " " - EQ@[138; 139) "=" - WHITESPACE@[139; 140) " " - TUPLE_EXPR@[140; 142) - L_PAREN@[140; 141) "(" - R_PAREN@[141; 142) ")" - SEMI@[142; 143) ";" - WHITESPACE@[143; 144) "\n" - R_CURLY@[144; 145) "}" - WHITESPACE@[145; 146) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast new file mode 100644 index 000000000..5db1ff2af --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast @@ -0,0 +1,57 @@ +SOURCE_FILE@[0; 50) + FN_DEF@[0; 49) + 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) ")" + BLOCK_EXPR@[8; 49) + BLOCK@[8; 49) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 14) "\n " + SEMI@[14; 15) ";" + SEMI@[15; 16) ";" + SEMI@[16; 17) ";" + EXPR_STMT@[17; 29) + CALL_EXPR@[17; 28) + PATH_EXPR@[17; 26) + PATH@[17; 26) + PATH_SEGMENT@[17; 26) + NAME_REF@[17; 26) + IDENT@[17; 26) "some_expr" + ARG_LIST@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + SEMI@[28; 29) ";" + SEMI@[29; 30) ";" + SEMI@[30; 31) ";" + SEMI@[31; 32) ";" + EXPR_STMT@[32; 38) + BLOCK_EXPR@[32; 37) + BLOCK@[32; 37) + L_CURLY@[32; 33) "{" + SEMI@[33; 34) ";" + SEMI@[34; 35) ";" + SEMI@[35; 36) ";" + R_CURLY@[36; 37) "}" + SEMI@[37; 38) ";" + SEMI@[38; 39) ";" + SEMI@[39; 40) ";" + SEMI@[40; 41) ";" + CALL_EXPR@[41; 47) + PATH_EXPR@[41; 43) + PATH@[41; 43) + PATH_SEGMENT@[41; 43) + NAME_REF@[41; 43) + IDENT@[41; 43) "Ok" + ARG_LIST@[43; 47) + L_PAREN@[43; 44) "(" + TUPLE_EXPR@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + R_PAREN@[46; 47) ")" + WHITESPACE@[47; 48) "\n" + R_CURLY@[48; 49) "}" + WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.txt deleted file mode 100644 index 5db1ff2af..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.txt +++ /dev/null @@ -1,57 +0,0 @@ -SOURCE_FILE@[0; 50) - FN_DEF@[0; 49) - 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) ")" - BLOCK_EXPR@[8; 49) - BLOCK@[8; 49) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 14) "\n " - SEMI@[14; 15) ";" - SEMI@[15; 16) ";" - SEMI@[16; 17) ";" - EXPR_STMT@[17; 29) - CALL_EXPR@[17; 28) - PATH_EXPR@[17; 26) - PATH@[17; 26) - PATH_SEGMENT@[17; 26) - NAME_REF@[17; 26) - IDENT@[17; 26) "some_expr" - ARG_LIST@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - SEMI@[28; 29) ";" - SEMI@[29; 30) ";" - SEMI@[30; 31) ";" - SEMI@[31; 32) ";" - EXPR_STMT@[32; 38) - BLOCK_EXPR@[32; 37) - BLOCK@[32; 37) - L_CURLY@[32; 33) "{" - SEMI@[33; 34) ";" - SEMI@[34; 35) ";" - SEMI@[35; 36) ";" - R_CURLY@[36; 37) "}" - SEMI@[37; 38) ";" - SEMI@[38; 39) ";" - SEMI@[39; 40) ";" - SEMI@[40; 41) ";" - CALL_EXPR@[41; 47) - PATH_EXPR@[41; 43) - PATH@[41; 43) - PATH_SEGMENT@[41; 43) - NAME_REF@[41; 43) - IDENT@[41; 43) "Ok" - ARG_LIST@[43; 47) - L_PAREN@[43; 44) "(" - TUPLE_EXPR@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - R_PAREN@[46; 47) ")" - WHITESPACE@[47; 48) "\n" - R_CURLY@[48; 49) "}" - WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast b/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast new file mode 100644 index 000000000..f5de01405 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast @@ -0,0 +1,64 @@ +SOURCE_FILE@[0; 53) + STRUCT_DEF@[0; 33) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 11) + IDENT@[7; 11) "Test" + TYPE_PARAM_LIST@[11; 14) + L_ANGLE@[11; 12) "<" + TYPE_PARAM@[12; 13) + NAME@[12; 13) + IDENT@[12; 13) "T" + R_ANGLE@[13; 14) ">" + TUPLE_FIELD_DEF_LIST@[14; 17) + L_PAREN@[14; 15) "(" + TUPLE_FIELD_DEF@[15; 16) + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "T" + R_PAREN@[16; 17) ")" + WHITESPACE@[17; 18) " " + WHERE_CLAUSE@[18; 32) + WHERE_KW@[18; 23) "where" + WHITESPACE@[23; 24) " " + WHERE_PRED@[24; 32) + PATH_TYPE@[24; 25) + PATH@[24; 25) + PATH_SEGMENT@[24; 25) + NAME_REF@[24; 25) + IDENT@[24; 25) "T" + COLON@[25; 26) ":" + WHITESPACE@[26; 27) " " + TYPE_BOUND_LIST@[27; 32) + TYPE_BOUND@[27; 32) + PATH_TYPE@[27; 32) + PATH@[27; 32) + PATH_SEGMENT@[27; 32) + NAME_REF@[27; 32) + IDENT@[27; 32) "Clone" + SEMI@[32; 33) ";" + WHITESPACE@[33; 34) "\n" + STRUCT_DEF@[34; 52) + STRUCT_KW@[34; 40) "struct" + WHITESPACE@[40; 41) " " + NAME@[41; 45) + IDENT@[41; 45) "Test" + TYPE_PARAM_LIST@[45; 48) + L_ANGLE@[45; 46) "<" + TYPE_PARAM@[46; 47) + NAME@[46; 47) + IDENT@[46; 47) "T" + R_ANGLE@[47; 48) ">" + TUPLE_FIELD_DEF_LIST@[48; 51) + L_PAREN@[48; 49) "(" + TUPLE_FIELD_DEF@[49; 50) + PATH_TYPE@[49; 50) + PATH@[49; 50) + PATH_SEGMENT@[49; 50) + NAME_REF@[49; 50) + IDENT@[49; 50) "T" + R_PAREN@[50; 51) ")" + SEMI@[51; 52) ";" + WHITESPACE@[52; 53) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.txt b/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.txt deleted file mode 100644 index f5de01405..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.txt +++ /dev/null @@ -1,64 +0,0 @@ -SOURCE_FILE@[0; 53) - STRUCT_DEF@[0; 33) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 11) - IDENT@[7; 11) "Test" - TYPE_PARAM_LIST@[11; 14) - L_ANGLE@[11; 12) "<" - TYPE_PARAM@[12; 13) - NAME@[12; 13) - IDENT@[12; 13) "T" - R_ANGLE@[13; 14) ">" - TUPLE_FIELD_DEF_LIST@[14; 17) - L_PAREN@[14; 15) "(" - TUPLE_FIELD_DEF@[15; 16) - PATH_TYPE@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "T" - R_PAREN@[16; 17) ")" - WHITESPACE@[17; 18) " " - WHERE_CLAUSE@[18; 32) - WHERE_KW@[18; 23) "where" - WHITESPACE@[23; 24) " " - WHERE_PRED@[24; 32) - PATH_TYPE@[24; 25) - PATH@[24; 25) - PATH_SEGMENT@[24; 25) - NAME_REF@[24; 25) - IDENT@[24; 25) "T" - COLON@[25; 26) ":" - WHITESPACE@[26; 27) " " - TYPE_BOUND_LIST@[27; 32) - TYPE_BOUND@[27; 32) - PATH_TYPE@[27; 32) - PATH@[27; 32) - PATH_SEGMENT@[27; 32) - NAME_REF@[27; 32) - IDENT@[27; 32) "Clone" - SEMI@[32; 33) ";" - WHITESPACE@[33; 34) "\n" - STRUCT_DEF@[34; 52) - STRUCT_KW@[34; 40) "struct" - WHITESPACE@[40; 41) " " - NAME@[41; 45) - IDENT@[41; 45) "Test" - TYPE_PARAM_LIST@[45; 48) - L_ANGLE@[45; 46) "<" - TYPE_PARAM@[46; 47) - NAME@[46; 47) - IDENT@[46; 47) "T" - R_ANGLE@[47; 48) ">" - TUPLE_FIELD_DEF_LIST@[48; 51) - L_PAREN@[48; 49) "(" - TUPLE_FIELD_DEF@[49; 50) - PATH_TYPE@[49; 50) - PATH@[49; 50) - PATH_SEGMENT@[49; 50) - NAME_REF@[49; 50) - IDENT@[49; 50) "T" - R_PAREN@[50; 51) ")" - SEMI@[51; 52) ";" - WHITESPACE@[52; 53) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast new file mode 100644 index 000000000..8fe15d8e2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast @@ -0,0 +1,41 @@ +SOURCE_FILE@[0; 60) + STRUCT_DEF@[0; 59) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + TUPLE_FIELD_DEF_LIST@[9; 58) + L_PAREN@[9; 10) "(" + WHITESPACE@[10; 15) "\n " + TUPLE_FIELD_DEF@[15; 55) + ATTR@[15; 43) + POUND@[15; 16) "#" + L_BRACK@[16; 17) "[" + PATH@[17; 22) + PATH_SEGMENT@[17; 22) + NAME_REF@[17; 22) + IDENT@[17; 22) "serde" + TOKEN_TREE@[22; 42) + L_PAREN@[22; 23) "(" + IDENT@[23; 27) "with" + WHITESPACE@[27; 28) " " + EQ@[28; 29) "=" + WHITESPACE@[29; 30) " " + STRING@[30; 41) "\"url_serde\"" + R_PAREN@[41; 42) ")" + R_BRACK@[42; 43) "]" + WHITESPACE@[43; 48) "\n " + VISIBILITY@[48; 51) + PUB_KW@[48; 51) "pub" + WHITESPACE@[51; 52) " " + PATH_TYPE@[52; 55) + PATH@[52; 55) + PATH_SEGMENT@[52; 55) + NAME_REF@[52; 55) + IDENT@[52; 55) "Uri" + COMMA@[55; 56) "," + WHITESPACE@[56; 57) "\n" + R_PAREN@[57; 58) ")" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.txt b/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.txt deleted file mode 100644 index 8fe15d8e2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.txt +++ /dev/null @@ -1,41 +0,0 @@ -SOURCE_FILE@[0; 60) - STRUCT_DEF@[0; 59) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - TUPLE_FIELD_DEF_LIST@[9; 58) - L_PAREN@[9; 10) "(" - WHITESPACE@[10; 15) "\n " - TUPLE_FIELD_DEF@[15; 55) - ATTR@[15; 43) - POUND@[15; 16) "#" - L_BRACK@[16; 17) "[" - PATH@[17; 22) - PATH_SEGMENT@[17; 22) - NAME_REF@[17; 22) - IDENT@[17; 22) "serde" - TOKEN_TREE@[22; 42) - L_PAREN@[22; 23) "(" - IDENT@[23; 27) "with" - WHITESPACE@[27; 28) " " - EQ@[28; 29) "=" - WHITESPACE@[29; 30) " " - STRING@[30; 41) "\"url_serde\"" - R_PAREN@[41; 42) ")" - R_BRACK@[42; 43) "]" - WHITESPACE@[43; 48) "\n " - VISIBILITY@[48; 51) - PUB_KW@[48; 51) "pub" - WHITESPACE@[51; 52) " " - PATH_TYPE@[52; 55) - PATH@[52; 55) - PATH_SEGMENT@[52; 55) - NAME_REF@[52; 55) - IDENT@[52; 55) "Uri" - COMMA@[55; 56) "," - WHITESPACE@[56; 57) "\n" - R_PAREN@[57; 58) ")" - SEMI@[58; 59) ";" - WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast new file mode 100644 index 000000000..892dc813a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 41) + TYPE_ALIAS_DEF@[0; 16) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "A" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + MACRO_CALL@[9; 15) + PATH@[9; 12) + PATH_SEGMENT@[9; 12) + NAME_REF@[9; 12) + IDENT@[9; 12) "foo" + EXCL@[12; 13) "!" + TOKEN_TREE@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + SEMI@[15; 16) ";" + WHITESPACE@[16; 17) "\n" + TYPE_ALIAS_DEF@[17; 40) + TYPE_KW@[17; 21) "type" + WHITESPACE@[21; 22) " " + NAME@[22; 23) + IDENT@[22; 23) "B" + WHITESPACE@[23; 24) " " + EQ@[24; 25) "=" + WHITESPACE@[25; 26) " " + MACRO_CALL@[26; 39) + PATH@[26; 36) + PATH@[26; 31) + PATH_SEGMENT@[26; 31) + CRATE_KW@[26; 31) "crate" + COLONCOLON@[31; 33) "::" + PATH_SEGMENT@[33; 36) + NAME_REF@[33; 36) + IDENT@[33; 36) "foo" + EXCL@[36; 37) "!" + TOKEN_TREE@[37; 39) + L_PAREN@[37; 38) "(" + R_PAREN@[38; 39) ")" + SEMI@[39; 40) ";" + WHITESPACE@[40; 41) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.txt deleted file mode 100644 index 892dc813a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 41) - TYPE_ALIAS_DEF@[0; 16) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "A" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - MACRO_CALL@[9; 15) - PATH@[9; 12) - PATH_SEGMENT@[9; 12) - NAME_REF@[9; 12) - IDENT@[9; 12) "foo" - EXCL@[12; 13) "!" - TOKEN_TREE@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - SEMI@[15; 16) ";" - WHITESPACE@[16; 17) "\n" - TYPE_ALIAS_DEF@[17; 40) - TYPE_KW@[17; 21) "type" - WHITESPACE@[21; 22) " " - NAME@[22; 23) - IDENT@[22; 23) "B" - WHITESPACE@[23; 24) " " - EQ@[24; 25) "=" - WHITESPACE@[25; 26) " " - MACRO_CALL@[26; 39) - PATH@[26; 36) - PATH@[26; 31) - PATH_SEGMENT@[26; 31) - CRATE_KW@[26; 31) "crate" - COLONCOLON@[31; 33) "::" - PATH_SEGMENT@[33; 36) - NAME_REF@[33; 36) - IDENT@[33; 36) "foo" - EXCL@[36; 37) "!" - TOKEN_TREE@[37; 39) - L_PAREN@[37; 38) "(" - R_PAREN@[38; 39) ")" - SEMI@[39; 40) ";" - WHITESPACE@[40; 41) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast new file mode 100644 index 000000000..5053ebde7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast @@ -0,0 +1,40 @@ +SOURCE_FILE@[0; 94) + ENUM_DEF@[0; 8) + ENUM_KW@[0; 4) "enum" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "F" + ENUM_VARIANT_LIST@[6; 8) + L_CURLY@[6; 7) "{" + R_CURLY@[7; 8) "}" + WHITESPACE@[8; 9) "\n" + IMPL_DEF@[9; 93) + IMPL_KW@[9; 13) "impl" + WHITESPACE@[13; 14) " " + PATH_TYPE@[14; 15) + PATH@[14; 15) + PATH_SEGMENT@[14; 15) + NAME_REF@[14; 15) + IDENT@[14; 15) "F" + WHITESPACE@[15; 16) " " + ITEM_LIST@[16; 93) + L_CURLY@[16; 17) "{" + WHITESPACE@[17; 23) "\n " + COMMENT@[23; 48) "//! This is a doc com ..." + WHITESPACE@[48; 54) "\n " + ATTR@[54; 91) + POUND@[54; 55) "#" + EXCL@[55; 56) "!" + L_BRACK@[56; 57) "[" + PATH@[57; 60) + PATH_SEGMENT@[57; 60) + NAME_REF@[57; 60) + IDENT@[57; 60) "doc" + TOKEN_TREE@[60; 90) + L_PAREN@[60; 61) "(" + STRING@[61; 89) "\"This is also a doc c ..." + R_PAREN@[89; 90) ")" + R_BRACK@[90; 91) "]" + WHITESPACE@[91; 92) "\n" + R_CURLY@[92; 93) "}" + WHITESPACE@[93; 94) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.txt b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.txt deleted file mode 100644 index 5053ebde7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.txt +++ /dev/null @@ -1,40 +0,0 @@ -SOURCE_FILE@[0; 94) - ENUM_DEF@[0; 8) - ENUM_KW@[0; 4) "enum" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "F" - ENUM_VARIANT_LIST@[6; 8) - L_CURLY@[6; 7) "{" - R_CURLY@[7; 8) "}" - WHITESPACE@[8; 9) "\n" - IMPL_DEF@[9; 93) - IMPL_KW@[9; 13) "impl" - WHITESPACE@[13; 14) " " - PATH_TYPE@[14; 15) - PATH@[14; 15) - PATH_SEGMENT@[14; 15) - NAME_REF@[14; 15) - IDENT@[14; 15) "F" - WHITESPACE@[15; 16) " " - ITEM_LIST@[16; 93) - L_CURLY@[16; 17) "{" - WHITESPACE@[17; 23) "\n " - COMMENT@[23; 48) "//! This is a doc com ..." - WHITESPACE@[48; 54) "\n " - ATTR@[54; 91) - POUND@[54; 55) "#" - EXCL@[55; 56) "!" - L_BRACK@[56; 57) "[" - PATH@[57; 60) - PATH_SEGMENT@[57; 60) - NAME_REF@[57; 60) - IDENT@[57; 60) "doc" - TOKEN_TREE@[60; 90) - L_PAREN@[60; 61) "(" - STRING@[61; 89) "\"This is also a doc c ..." - R_PAREN@[89; 90) ")" - R_BRACK@[90; 91) "]" - WHITESPACE@[91; 92) "\n" - R_CURLY@[92; 93) "}" - WHITESPACE@[93; 94) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast b/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast new file mode 100644 index 000000000..852e4e489 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast @@ -0,0 +1,48 @@ +SOURCE_FILE@[0; 58) + FN_DEF@[0; 57) + 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; 57) + BLOCK@[9; 57) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + MATCH_EXPR@[15; 55) + 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; 55) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 34) "\n " + MATCH_ARM@[34; 48) + PLACEHOLDER_PAT@[34; 35) + UNDERSCORE@[34; 35) "_" + WHITESPACE@[35; 36) " " + MATCH_GUARD@[36; 42) + IF_KW@[36; 38) "if" + WHITESPACE@[38; 39) " " + PATH_EXPR@[39; 42) + PATH@[39; 42) + PATH_SEGMENT@[39; 42) + NAME_REF@[39; 42) + IDENT@[39; 42) "foo" + WHITESPACE@[42; 43) " " + FAT_ARROW@[43; 45) "=>" + WHITESPACE@[45; 46) " " + TUPLE_EXPR@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + COMMA@[48; 49) "," + WHITESPACE@[49; 54) "\n " + R_CURLY@[54; 55) "}" + WHITESPACE@[55; 56) "\n" + R_CURLY@[56; 57) "}" + WHITESPACE@[57; 58) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.txt b/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.txt deleted file mode 100644 index 852e4e489..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.txt +++ /dev/null @@ -1,48 +0,0 @@ -SOURCE_FILE@[0; 58) - FN_DEF@[0; 57) - 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; 57) - BLOCK@[9; 57) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - MATCH_EXPR@[15; 55) - 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; 55) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 34) "\n " - MATCH_ARM@[34; 48) - PLACEHOLDER_PAT@[34; 35) - UNDERSCORE@[34; 35) "_" - WHITESPACE@[35; 36) " " - MATCH_GUARD@[36; 42) - IF_KW@[36; 38) "if" - WHITESPACE@[38; 39) " " - PATH_EXPR@[39; 42) - PATH@[39; 42) - PATH_SEGMENT@[39; 42) - NAME_REF@[39; 42) - IDENT@[39; 42) "foo" - WHITESPACE@[42; 43) " " - FAT_ARROW@[43; 45) "=>" - WHITESPACE@[45; 46) " " - TUPLE_EXPR@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - COMMA@[48; 49) "," - WHITESPACE@[49; 54) "\n " - R_CURLY@[54; 55) "}" - WHITESPACE@[55; 56) "\n" - R_CURLY@[56; 57) "}" - WHITESPACE@[57; 58) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast new file mode 100644 index 000000000..640e0640f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast @@ -0,0 +1,81 @@ +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 " + MATCH_EXPR@[15; 136) + 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; 136) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 34) "\n " + ATTR@[34; 60) + POUND@[34; 35) "#" + EXCL@[35; 36) "!" + L_BRACK@[36; 37) "[" + PATH@[37; 40) + PATH_SEGMENT@[37; 40) + NAME_REF@[37; 40) + IDENT@[37; 40) "doc" + TOKEN_TREE@[40; 59) + L_PAREN@[40; 41) "(" + STRING@[41; 58) "\"Inner attribute\"" + R_PAREN@[58; 59) ")" + R_BRACK@[59; 60) "]" + WHITESPACE@[60; 69) "\n " + ATTR@[69; 86) + POUND@[69; 70) "#" + EXCL@[70; 71) "!" + L_BRACK@[71; 72) "[" + PATH@[72; 75) + PATH_SEGMENT@[72; 75) + NAME_REF@[72; 75) + IDENT@[72; 75) "doc" + TOKEN_TREE@[75; 85) + L_PAREN@[75; 76) "(" + STRING@[76; 84) "\"Can be\"" + R_PAREN@[84; 85) ")" + R_BRACK@[85; 86) "]" + WHITESPACE@[86; 95) "\n " + ATTR@[95; 113) + POUND@[95; 96) "#" + EXCL@[96; 97) "!" + L_BRACK@[97; 98) "[" + PATH@[98; 101) + PATH_SEGMENT@[98; 101) + NAME_REF@[98; 101) + IDENT@[98; 101) "doc" + TOKEN_TREE@[101; 112) + L_PAREN@[101; 102) "(" + STRING@[102; 111) "\"Stacked\"" + R_PAREN@[111; 112) ")" + R_BRACK@[112; 113) "]" + WHITESPACE@[113; 122) "\n " + MATCH_ARM@[122; 129) + PLACEHOLDER_PAT@[122; 123) + UNDERSCORE@[122; 123) "_" + WHITESPACE@[123; 124) " " + FAT_ARROW@[124; 126) "=>" + WHITESPACE@[126; 127) " " + TUPLE_EXPR@[127; 129) + L_PAREN@[127; 128) "(" + R_PAREN@[128; 129) ")" + COMMA@[129; 130) "," + WHITESPACE@[130; 135) "\n " + R_CURLY@[135; 136) "}" + WHITESPACE@[136; 137) "\n" + R_CURLY@[137; 138) "}" + WHITESPACE@[138; 139) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.txt b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.txt deleted file mode 100644 index 640e0640f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.txt +++ /dev/null @@ -1,81 +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 " - MATCH_EXPR@[15; 136) - 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; 136) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 34) "\n " - ATTR@[34; 60) - POUND@[34; 35) "#" - EXCL@[35; 36) "!" - L_BRACK@[36; 37) "[" - PATH@[37; 40) - PATH_SEGMENT@[37; 40) - NAME_REF@[37; 40) - IDENT@[37; 40) "doc" - TOKEN_TREE@[40; 59) - L_PAREN@[40; 41) "(" - STRING@[41; 58) "\"Inner attribute\"" - R_PAREN@[58; 59) ")" - R_BRACK@[59; 60) "]" - WHITESPACE@[60; 69) "\n " - ATTR@[69; 86) - POUND@[69; 70) "#" - EXCL@[70; 71) "!" - L_BRACK@[71; 72) "[" - PATH@[72; 75) - PATH_SEGMENT@[72; 75) - NAME_REF@[72; 75) - IDENT@[72; 75) "doc" - TOKEN_TREE@[75; 85) - L_PAREN@[75; 76) "(" - STRING@[76; 84) "\"Can be\"" - R_PAREN@[84; 85) ")" - R_BRACK@[85; 86) "]" - WHITESPACE@[86; 95) "\n " - ATTR@[95; 113) - POUND@[95; 96) "#" - EXCL@[96; 97) "!" - L_BRACK@[97; 98) "[" - PATH@[98; 101) - PATH_SEGMENT@[98; 101) - NAME_REF@[98; 101) - IDENT@[98; 101) "doc" - TOKEN_TREE@[101; 112) - L_PAREN@[101; 102) "(" - STRING@[102; 111) "\"Stacked\"" - R_PAREN@[111; 112) ")" - R_BRACK@[112; 113) "]" - WHITESPACE@[113; 122) "\n " - MATCH_ARM@[122; 129) - PLACEHOLDER_PAT@[122; 123) - UNDERSCORE@[122; 123) "_" - WHITESPACE@[123; 124) " " - FAT_ARROW@[124; 126) "=>" - WHITESPACE@[126; 127) " " - TUPLE_EXPR@[127; 129) - L_PAREN@[127; 128) "(" - R_PAREN@[128; 129) ")" - COMMA@[129; 130) "," - WHITESPACE@[130; 135) "\n " - R_CURLY@[135; 136) "}" - WHITESPACE@[136; 137) "\n" - R_CURLY@[137; 138) "}" - WHITESPACE@[138; 139) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast b/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast new file mode 100644 index 000000000..ff380b448 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast @@ -0,0 +1,146 @@ +SOURCE_FILE@[0; 259) + FN_DEF@[0; 258) + 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; 258) + BLOCK@[9; 258) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + MATCH_EXPR@[15; 256) + 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; 256) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 34) "\n " + MATCH_ARM@[34; 74) + ATTR@[34; 58) + POUND@[34; 35) "#" + L_BRACK@[35; 36) "[" + PATH@[36; 39) + PATH_SEGMENT@[36; 39) + NAME_REF@[36; 39) + IDENT@[36; 39) "cfg" + TOKEN_TREE@[39; 57) + L_PAREN@[39; 40) "(" + IDENT@[40; 47) "feature" + WHITESPACE@[47; 48) " " + EQ@[48; 49) "=" + WHITESPACE@[49; 50) " " + STRING@[50; 56) "\"some\"" + R_PAREN@[56; 57) ")" + R_BRACK@[57; 58) "]" + WHITESPACE@[58; 67) "\n " + PLACEHOLDER_PAT@[67; 68) + UNDERSCORE@[67; 68) "_" + WHITESPACE@[68; 69) " " + FAT_ARROW@[69; 71) "=>" + WHITESPACE@[71; 72) " " + TUPLE_EXPR@[72; 74) + L_PAREN@[72; 73) "(" + R_PAREN@[73; 74) ")" + COMMA@[74; 75) "," + WHITESPACE@[75; 84) "\n " + MATCH_ARM@[84; 125) + ATTR@[84; 109) + POUND@[84; 85) "#" + L_BRACK@[85; 86) "[" + PATH@[86; 89) + PATH_SEGMENT@[86; 89) + NAME_REF@[86; 89) + IDENT@[86; 89) "cfg" + TOKEN_TREE@[89; 108) + L_PAREN@[89; 90) "(" + IDENT@[90; 97) "feature" + WHITESPACE@[97; 98) " " + EQ@[98; 99) "=" + WHITESPACE@[99; 100) " " + STRING@[100; 107) "\"other\"" + R_PAREN@[107; 108) ")" + R_BRACK@[108; 109) "]" + WHITESPACE@[109; 118) "\n " + PLACEHOLDER_PAT@[118; 119) + UNDERSCORE@[118; 119) "_" + WHITESPACE@[119; 120) " " + FAT_ARROW@[120; 122) "=>" + WHITESPACE@[122; 123) " " + TUPLE_EXPR@[123; 125) + L_PAREN@[123; 124) "(" + R_PAREN@[124; 125) ")" + COMMA@[125; 126) "," + WHITESPACE@[126; 135) "\n " + MATCH_ARM@[135; 249) + ATTR@[135; 159) + POUND@[135; 136) "#" + L_BRACK@[136; 137) "[" + PATH@[137; 140) + PATH_SEGMENT@[137; 140) + NAME_REF@[137; 140) + IDENT@[137; 140) "cfg" + TOKEN_TREE@[140; 158) + L_PAREN@[140; 141) "(" + IDENT@[141; 148) "feature" + WHITESPACE@[148; 149) " " + EQ@[149; 150) "=" + WHITESPACE@[150; 151) " " + STRING@[151; 157) "\"many\"" + R_PAREN@[157; 158) ")" + R_BRACK@[158; 159) "]" + WHITESPACE@[159; 168) "\n " + ATTR@[168; 198) + POUND@[168; 169) "#" + L_BRACK@[169; 170) "[" + PATH@[170; 173) + PATH_SEGMENT@[170; 173) + NAME_REF@[170; 173) + IDENT@[170; 173) "cfg" + TOKEN_TREE@[173; 197) + L_PAREN@[173; 174) "(" + IDENT@[174; 181) "feature" + WHITESPACE@[181; 182) " " + EQ@[182; 183) "=" + WHITESPACE@[183; 184) " " + STRING@[184; 196) "\"attributes\"" + R_PAREN@[196; 197) ")" + R_BRACK@[197; 198) "]" + WHITESPACE@[198; 207) "\n " + ATTR@[207; 233) + POUND@[207; 208) "#" + L_BRACK@[208; 209) "[" + PATH@[209; 212) + PATH_SEGMENT@[209; 212) + NAME_REF@[209; 212) + IDENT@[209; 212) "cfg" + TOKEN_TREE@[212; 232) + L_PAREN@[212; 213) "(" + IDENT@[213; 220) "feature" + WHITESPACE@[220; 221) " " + EQ@[221; 222) "=" + WHITESPACE@[222; 223) " " + STRING@[223; 231) "\"before\"" + R_PAREN@[231; 232) ")" + R_BRACK@[232; 233) "]" + WHITESPACE@[233; 242) "\n " + PLACEHOLDER_PAT@[242; 243) + UNDERSCORE@[242; 243) "_" + WHITESPACE@[243; 244) " " + FAT_ARROW@[244; 246) "=>" + WHITESPACE@[246; 247) " " + TUPLE_EXPR@[247; 249) + L_PAREN@[247; 248) "(" + R_PAREN@[248; 249) ")" + COMMA@[249; 250) "," + WHITESPACE@[250; 255) "\n " + R_CURLY@[255; 256) "}" + WHITESPACE@[256; 257) "\n" + R_CURLY@[257; 258) "}" + WHITESPACE@[258; 259) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.txt b/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.txt deleted file mode 100644 index ff380b448..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.txt +++ /dev/null @@ -1,146 +0,0 @@ -SOURCE_FILE@[0; 259) - FN_DEF@[0; 258) - 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; 258) - BLOCK@[9; 258) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - MATCH_EXPR@[15; 256) - 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; 256) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 34) "\n " - MATCH_ARM@[34; 74) - ATTR@[34; 58) - POUND@[34; 35) "#" - L_BRACK@[35; 36) "[" - PATH@[36; 39) - PATH_SEGMENT@[36; 39) - NAME_REF@[36; 39) - IDENT@[36; 39) "cfg" - TOKEN_TREE@[39; 57) - L_PAREN@[39; 40) "(" - IDENT@[40; 47) "feature" - WHITESPACE@[47; 48) " " - EQ@[48; 49) "=" - WHITESPACE@[49; 50) " " - STRING@[50; 56) "\"some\"" - R_PAREN@[56; 57) ")" - R_BRACK@[57; 58) "]" - WHITESPACE@[58; 67) "\n " - PLACEHOLDER_PAT@[67; 68) - UNDERSCORE@[67; 68) "_" - WHITESPACE@[68; 69) " " - FAT_ARROW@[69; 71) "=>" - WHITESPACE@[71; 72) " " - TUPLE_EXPR@[72; 74) - L_PAREN@[72; 73) "(" - R_PAREN@[73; 74) ")" - COMMA@[74; 75) "," - WHITESPACE@[75; 84) "\n " - MATCH_ARM@[84; 125) - ATTR@[84; 109) - POUND@[84; 85) "#" - L_BRACK@[85; 86) "[" - PATH@[86; 89) - PATH_SEGMENT@[86; 89) - NAME_REF@[86; 89) - IDENT@[86; 89) "cfg" - TOKEN_TREE@[89; 108) - L_PAREN@[89; 90) "(" - IDENT@[90; 97) "feature" - WHITESPACE@[97; 98) " " - EQ@[98; 99) "=" - WHITESPACE@[99; 100) " " - STRING@[100; 107) "\"other\"" - R_PAREN@[107; 108) ")" - R_BRACK@[108; 109) "]" - WHITESPACE@[109; 118) "\n " - PLACEHOLDER_PAT@[118; 119) - UNDERSCORE@[118; 119) "_" - WHITESPACE@[119; 120) " " - FAT_ARROW@[120; 122) "=>" - WHITESPACE@[122; 123) " " - TUPLE_EXPR@[123; 125) - L_PAREN@[123; 124) "(" - R_PAREN@[124; 125) ")" - COMMA@[125; 126) "," - WHITESPACE@[126; 135) "\n " - MATCH_ARM@[135; 249) - ATTR@[135; 159) - POUND@[135; 136) "#" - L_BRACK@[136; 137) "[" - PATH@[137; 140) - PATH_SEGMENT@[137; 140) - NAME_REF@[137; 140) - IDENT@[137; 140) "cfg" - TOKEN_TREE@[140; 158) - L_PAREN@[140; 141) "(" - IDENT@[141; 148) "feature" - WHITESPACE@[148; 149) " " - EQ@[149; 150) "=" - WHITESPACE@[150; 151) " " - STRING@[151; 157) "\"many\"" - R_PAREN@[157; 158) ")" - R_BRACK@[158; 159) "]" - WHITESPACE@[159; 168) "\n " - ATTR@[168; 198) - POUND@[168; 169) "#" - L_BRACK@[169; 170) "[" - PATH@[170; 173) - PATH_SEGMENT@[170; 173) - NAME_REF@[170; 173) - IDENT@[170; 173) "cfg" - TOKEN_TREE@[173; 197) - L_PAREN@[173; 174) "(" - IDENT@[174; 181) "feature" - WHITESPACE@[181; 182) " " - EQ@[182; 183) "=" - WHITESPACE@[183; 184) " " - STRING@[184; 196) "\"attributes\"" - R_PAREN@[196; 197) ")" - R_BRACK@[197; 198) "]" - WHITESPACE@[198; 207) "\n " - ATTR@[207; 233) - POUND@[207; 208) "#" - L_BRACK@[208; 209) "[" - PATH@[209; 212) - PATH_SEGMENT@[209; 212) - NAME_REF@[209; 212) - IDENT@[209; 212) "cfg" - TOKEN_TREE@[212; 232) - L_PAREN@[212; 213) "(" - IDENT@[213; 220) "feature" - WHITESPACE@[220; 221) " " - EQ@[221; 222) "=" - WHITESPACE@[222; 223) " " - STRING@[223; 231) "\"before\"" - R_PAREN@[231; 232) ")" - R_BRACK@[232; 233) "]" - WHITESPACE@[233; 242) "\n " - PLACEHOLDER_PAT@[242; 243) - UNDERSCORE@[242; 243) "_" - WHITESPACE@[243; 244) " " - FAT_ARROW@[244; 246) "=>" - WHITESPACE@[246; 247) " " - TUPLE_EXPR@[247; 249) - L_PAREN@[247; 248) "(" - R_PAREN@[248; 249) ")" - COMMA@[249; 250) "," - WHITESPACE@[250; 255) "\n " - R_CURLY@[255; 256) "}" - WHITESPACE@[256; 257) "\n" - R_CURLY@[257; 258) "}" - WHITESPACE@[258; 259) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast new file mode 100644 index 000000000..a73ff9c90 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast @@ -0,0 +1,66 @@ +SOURCE_FILE@[0; 64) + FN_DEF@[0; 63) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + TYPE_PARAM_LIST@[6; 49) + L_ANGLE@[6; 7) "<" + LIFETIME_PARAM@[7; 29) + ATTR@[7; 26) + POUND@[7; 8) "#" + L_BRACK@[8; 9) "[" + PATH@[9; 15) + PATH_SEGMENT@[9; 15) + NAME_REF@[9; 15) + IDENT@[9; 15) "derive" + TOKEN_TREE@[15; 25) + L_PAREN@[15; 16) "(" + IDENT@[16; 24) "Lifetime" + R_PAREN@[24; 25) ")" + R_BRACK@[25; 26) "]" + WHITESPACE@[26; 27) " " + LIFETIME@[27; 29) "\'a" + COMMA@[29; 30) "," + WHITESPACE@[30; 31) " " + TYPE_PARAM@[31; 48) + ATTR@[31; 46) + POUND@[31; 32) "#" + L_BRACK@[32; 33) "[" + PATH@[33; 39) + PATH_SEGMENT@[33; 39) + NAME_REF@[33; 39) + IDENT@[33; 39) "derive" + TOKEN_TREE@[39; 45) + L_PAREN@[39; 40) "(" + IDENT@[40; 44) "Type" + R_PAREN@[44; 45) ")" + R_BRACK@[45; 46) "]" + WHITESPACE@[46; 47) " " + NAME@[47; 48) + IDENT@[47; 48) "T" + R_ANGLE@[48; 49) ">" + PARAM_LIST@[49; 59) + L_PAREN@[49; 50) "(" + PARAM@[50; 58) + PLACEHOLDER_PAT@[50; 51) + UNDERSCORE@[50; 51) "_" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + REFERENCE_TYPE@[53; 58) + AMP@[53; 54) "&" + LIFETIME@[54; 56) "\'a" + WHITESPACE@[56; 57) " " + PATH_TYPE@[57; 58) + PATH@[57; 58) + PATH_SEGMENT@[57; 58) + NAME_REF@[57; 58) + IDENT@[57; 58) "T" + R_PAREN@[58; 59) ")" + WHITESPACE@[59; 60) " " + BLOCK_EXPR@[60; 63) + BLOCK@[60; 63) + L_CURLY@[60; 61) "{" + WHITESPACE@[61; 62) "\n" + R_CURLY@[62; 63) "}" + WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt deleted file mode 100644 index a73ff9c90..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.txt +++ /dev/null @@ -1,66 +0,0 @@ -SOURCE_FILE@[0; 64) - FN_DEF@[0; 63) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - TYPE_PARAM_LIST@[6; 49) - L_ANGLE@[6; 7) "<" - LIFETIME_PARAM@[7; 29) - ATTR@[7; 26) - POUND@[7; 8) "#" - L_BRACK@[8; 9) "[" - PATH@[9; 15) - PATH_SEGMENT@[9; 15) - NAME_REF@[9; 15) - IDENT@[9; 15) "derive" - TOKEN_TREE@[15; 25) - L_PAREN@[15; 16) "(" - IDENT@[16; 24) "Lifetime" - R_PAREN@[24; 25) ")" - R_BRACK@[25; 26) "]" - WHITESPACE@[26; 27) " " - LIFETIME@[27; 29) "\'a" - COMMA@[29; 30) "," - WHITESPACE@[30; 31) " " - TYPE_PARAM@[31; 48) - ATTR@[31; 46) - POUND@[31; 32) "#" - L_BRACK@[32; 33) "[" - PATH@[33; 39) - PATH_SEGMENT@[33; 39) - NAME_REF@[33; 39) - IDENT@[33; 39) "derive" - TOKEN_TREE@[39; 45) - L_PAREN@[39; 40) "(" - IDENT@[40; 44) "Type" - R_PAREN@[44; 45) ")" - R_BRACK@[45; 46) "]" - WHITESPACE@[46; 47) " " - NAME@[47; 48) - IDENT@[47; 48) "T" - R_ANGLE@[48; 49) ">" - PARAM_LIST@[49; 59) - L_PAREN@[49; 50) "(" - PARAM@[50; 58) - PLACEHOLDER_PAT@[50; 51) - UNDERSCORE@[50; 51) "_" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - REFERENCE_TYPE@[53; 58) - AMP@[53; 54) "&" - LIFETIME@[54; 56) "\'a" - WHITESPACE@[56; 57) " " - PATH_TYPE@[57; 58) - PATH@[57; 58) - PATH_SEGMENT@[57; 58) - NAME_REF@[57; 58) - IDENT@[57; 58) "T" - R_PAREN@[58; 59) ")" - WHITESPACE@[59; 60) " " - BLOCK_EXPR@[60; 63) - BLOCK@[60; 63) - L_CURLY@[60; 61) "{" - WHITESPACE@[61; 62) "\n" - R_CURLY@[62; 63) "}" - WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast new file mode 100644 index 000000000..6c3b17868 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast @@ -0,0 +1,50 @@ +SOURCE_FILE@[0; 57) + EXTERN_BLOCK@[0; 56) + ABI@[0; 10) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + STRING@[7; 10) "\"C\"" + WHITESPACE@[10; 11) " " + EXTERN_ITEM_LIST@[11; 56) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 13) " " + FN_DEF@[13; 54) + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 22) + IDENT@[16; 22) "printf" + PARAM_LIST@[22; 46) + L_PAREN@[22; 23) "(" + PARAM@[23; 40) + BIND_PAT@[23; 29) + NAME@[23; 29) + IDENT@[23; 29) "format" + COLON@[29; 30) ":" + WHITESPACE@[30; 31) " " + POINTER_TYPE@[31; 40) + STAR@[31; 32) "*" + CONST_KW@[32; 37) "const" + WHITESPACE@[37; 38) " " + PATH_TYPE@[38; 40) + PATH@[38; 40) + PATH_SEGMENT@[38; 40) + NAME_REF@[38; 40) + IDENT@[38; 40) "i8" + COMMA@[40; 41) "," + WHITESPACE@[41; 42) " " + PARAM@[42; 45) + DOTDOTDOT@[42; 45) "..." + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + RET_TYPE@[47; 53) + THIN_ARROW@[47; 49) "->" + WHITESPACE@[49; 50) " " + PATH_TYPE@[50; 53) + PATH@[50; 53) + PATH_SEGMENT@[50; 53) + NAME_REF@[50; 53) + IDENT@[50; 53) "i32" + SEMI@[53; 54) ";" + WHITESPACE@[54; 55) " " + R_CURLY@[55; 56) "}" + WHITESPACE@[56; 57) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.txt b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.txt deleted file mode 100644 index 6c3b17868..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.txt +++ /dev/null @@ -1,50 +0,0 @@ -SOURCE_FILE@[0; 57) - EXTERN_BLOCK@[0; 56) - ABI@[0; 10) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - STRING@[7; 10) "\"C\"" - WHITESPACE@[10; 11) " " - EXTERN_ITEM_LIST@[11; 56) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 13) " " - FN_DEF@[13; 54) - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 22) - IDENT@[16; 22) "printf" - PARAM_LIST@[22; 46) - L_PAREN@[22; 23) "(" - PARAM@[23; 40) - BIND_PAT@[23; 29) - NAME@[23; 29) - IDENT@[23; 29) "format" - COLON@[29; 30) ":" - WHITESPACE@[30; 31) " " - POINTER_TYPE@[31; 40) - STAR@[31; 32) "*" - CONST_KW@[32; 37) "const" - WHITESPACE@[37; 38) " " - PATH_TYPE@[38; 40) - PATH@[38; 40) - PATH_SEGMENT@[38; 40) - NAME_REF@[38; 40) - IDENT@[38; 40) "i8" - COMMA@[40; 41) "," - WHITESPACE@[41; 42) " " - PARAM@[42; 45) - DOTDOTDOT@[42; 45) "..." - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - RET_TYPE@[47; 53) - THIN_ARROW@[47; 49) "->" - WHITESPACE@[49; 50) " " - PATH_TYPE@[50; 53) - PATH@[50; 53) - PATH_SEGMENT@[50; 53) - NAME_REF@[50; 53) - IDENT@[50; 53) "i32" - SEMI@[53; 54) ";" - WHITESPACE@[54; 55) " " - R_CURLY@[55; 56) "}" - WHITESPACE@[56; 57) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast new file mode 100644 index 000000000..9c4bd7f11 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 18) + FN_DEF@[0; 17) + ASYNC_KW@[0; 5) "async" + WHITESPACE@[5; 6) " " + FN_KW@[6; 8) "fn" + WHITESPACE@[8; 9) " " + NAME@[9; 12) + IDENT@[9; 12) "foo" + PARAM_LIST@[12; 14) + L_PAREN@[12; 13) "(" + R_PAREN@[13; 14) ")" + WHITESPACE@[14; 15) " " + BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) "{" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.txt b/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.txt deleted file mode 100644 index 9c4bd7f11..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 18) - FN_DEF@[0; 17) - ASYNC_KW@[0; 5) "async" - WHITESPACE@[5; 6) " " - FN_KW@[6; 8) "fn" - WHITESPACE@[8; 9) " " - NAME@[9; 12) - IDENT@[9; 12) "foo" - PARAM_LIST@[12; 14) - L_PAREN@[12; 13) "(" - R_PAREN@[13; 14) ")" - WHITESPACE@[14; 15) " " - BLOCK_EXPR@[15; 17) - BLOCK@[15; 17) - L_CURLY@[15; 16) "{" - R_CURLY@[16; 17) "}" - WHITESPACE@[17; 18) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast new file mode 100644 index 000000000..6a9f3bf72 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast @@ -0,0 +1,32 @@ +SOURCE_FILE@[0; 27) + FN_DEF@[0; 26) + 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; 26) + BLOCK@[9; 26) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + EXPR_STMT@[11; 24) + CALL_EXPR@[11; 23) + PATH_EXPR@[11; 21) + PATH@[11; 21) + PATH@[11; 16) + PATH_SEGMENT@[11; 16) + CRATE_KW@[11; 16) "crate" + COLONCOLON@[16; 18) "::" + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "foo" + ARG_LIST@[21; 23) + L_PAREN@[21; 22) "(" + R_PAREN@[22; 23) ")" + SEMI@[23; 24) ";" + WHITESPACE@[24; 25) " " + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.txt b/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.txt deleted file mode 100644 index 6a9f3bf72..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.txt +++ /dev/null @@ -1,32 +0,0 @@ -SOURCE_FILE@[0; 27) - FN_DEF@[0; 26) - 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; 26) - BLOCK@[9; 26) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - EXPR_STMT@[11; 24) - CALL_EXPR@[11; 23) - PATH_EXPR@[11; 21) - PATH@[11; 21) - PATH@[11; 16) - PATH_SEGMENT@[11; 16) - CRATE_KW@[11; 16) "crate" - COLONCOLON@[16; 18) "::" - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "foo" - ARG_LIST@[21; 23) - L_PAREN@[21; 22) "(" - R_PAREN@[22; 23) ")" - SEMI@[23; 24) ";" - WHITESPACE@[24; 25) " " - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast new file mode 100644 index 000000000..a36c3df0e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast @@ -0,0 +1,48 @@ +SOURCE_FILE@[0; 46) + FN_DEF@[0; 45) + 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; 45) + BLOCK@[10; 45) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + RECORD_LIT@[16; 43) + PATH@[16; 17) + PATH_SEGMENT@[16; 17) + NAME_REF@[16; 17) + IDENT@[16; 17) "S" + WHITESPACE@[17; 18) " " + RECORD_FIELD_LIST@[18; 43) + L_CURLY@[18; 19) "{" + WHITESPACE@[19; 20) " " + RECORD_FIELD@[20; 41) + ATTR@[20; 32) + POUND@[20; 21) "#" + L_BRACK@[21; 22) "[" + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "cfg" + TOKEN_TREE@[25; 31) + L_PAREN@[25; 26) "(" + IDENT@[26; 30) "test" + R_PAREN@[30; 31) ")" + R_BRACK@[31; 32) "]" + WHITESPACE@[32; 33) " " + NAME_REF@[33; 38) + IDENT@[33; 38) "field" + COLON@[38; 39) ":" + WHITESPACE@[39; 40) " " + LITERAL@[40; 41) + INT_NUMBER@[40; 41) "1" + WHITESPACE@[41; 42) " " + R_CURLY@[42; 43) "}" + WHITESPACE@[43; 44) "\n" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.txt deleted file mode 100644 index a36c3df0e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.txt +++ /dev/null @@ -1,48 +0,0 @@ -SOURCE_FILE@[0; 46) - FN_DEF@[0; 45) - 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; 45) - BLOCK@[10; 45) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - RECORD_LIT@[16; 43) - PATH@[16; 17) - PATH_SEGMENT@[16; 17) - NAME_REF@[16; 17) - IDENT@[16; 17) "S" - WHITESPACE@[17; 18) " " - RECORD_FIELD_LIST@[18; 43) - L_CURLY@[18; 19) "{" - WHITESPACE@[19; 20) " " - RECORD_FIELD@[20; 41) - ATTR@[20; 32) - POUND@[20; 21) "#" - L_BRACK@[21; 22) "[" - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "cfg" - TOKEN_TREE@[25; 31) - L_PAREN@[25; 26) "(" - IDENT@[26; 30) "test" - R_PAREN@[30; 31) ")" - R_BRACK@[31; 32) "]" - WHITESPACE@[32; 33) " " - NAME_REF@[33; 38) - IDENT@[33; 38) "field" - COLON@[38; 39) ":" - WHITESPACE@[39; 40) " " - LITERAL@[40; 41) - INT_NUMBER@[40; 41) "1" - WHITESPACE@[41; 42) " " - R_CURLY@[42; 43) "}" - WHITESPACE@[43; 44) "\n" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast b/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast new file mode 100644 index 000000000..5c311d18a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast @@ -0,0 +1,99 @@ +SOURCE_FILE@[0; 82) + FN_DEF@[0; 81) + 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; 81) + BLOCK@[9; 81) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 26) + ATTR@[15; 19) + POUND@[15; 16) "#" + L_BRACK@[16; 17) "[" + PATH@[17; 18) + PATH_SEGMENT@[17; 18) + NAME_REF@[17; 18) + IDENT@[17; 18) "A" + R_BRACK@[18; 19) "]" + WHITESPACE@[19; 20) " " + CALL_EXPR@[20; 25) + PATH_EXPR@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "foo" + ARG_LIST@[23; 25) + L_PAREN@[23; 24) "(" + R_PAREN@[24; 25) ")" + SEMI@[25; 26) ";" + WHITESPACE@[26; 31) "\n " + EXPR_STMT@[31; 42) + ATTR@[31; 35) + POUND@[31; 32) "#" + L_BRACK@[32; 33) "[" + PATH@[33; 34) + PATH_SEGMENT@[33; 34) + NAME_REF@[33; 34) + IDENT@[33; 34) "B" + R_BRACK@[34; 35) "]" + WHITESPACE@[35; 36) " " + MACRO_CALL@[36; 42) + PATH@[36; 39) + PATH_SEGMENT@[36; 39) + NAME_REF@[36; 39) + IDENT@[36; 39) "bar" + EXCL@[39; 40) "!" + TOKEN_TREE@[40; 42) + L_CURLY@[40; 41) "{" + R_CURLY@[41; 42) "}" + WHITESPACE@[42; 47) "\n " + EXPR_STMT@[47; 59) + ATTR@[47; 51) + POUND@[47; 48) "#" + L_BRACK@[48; 49) "[" + PATH@[49; 50) + PATH_SEGMENT@[49; 50) + NAME_REF@[49; 50) + IDENT@[49; 50) "C" + R_BRACK@[50; 51) "]" + WHITESPACE@[51; 52) " " + ATTR@[52; 56) + POUND@[52; 53) "#" + L_BRACK@[53; 54) "[" + PATH@[54; 55) + PATH_SEGMENT@[54; 55) + NAME_REF@[54; 55) + IDENT@[54; 55) "D" + R_BRACK@[55; 56) "]" + WHITESPACE@[56; 57) " " + BLOCK_EXPR@[57; 59) + BLOCK@[57; 59) + L_CURLY@[57; 58) "{" + R_CURLY@[58; 59) "}" + WHITESPACE@[59; 64) "\n " + EXPR_STMT@[64; 79) + ATTR@[64; 68) + POUND@[64; 65) "#" + L_BRACK@[65; 66) "[" + PATH@[66; 67) + PATH_SEGMENT@[66; 67) + NAME_REF@[66; 67) + IDENT@[66; 67) "D" + R_BRACK@[67; 68) "]" + WHITESPACE@[68; 69) " " + RETURN_EXPR@[69; 78) + RETURN_KW@[69; 75) "return" + WHITESPACE@[75; 76) " " + TUPLE_EXPR@[76; 78) + L_PAREN@[76; 77) "(" + R_PAREN@[77; 78) ")" + SEMI@[78; 79) ";" + WHITESPACE@[79; 80) "\n" + R_CURLY@[80; 81) "}" + WHITESPACE@[81; 82) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.txt b/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.txt deleted file mode 100644 index 5c311d18a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.txt +++ /dev/null @@ -1,99 +0,0 @@ -SOURCE_FILE@[0; 82) - FN_DEF@[0; 81) - 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; 81) - BLOCK@[9; 81) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 26) - ATTR@[15; 19) - POUND@[15; 16) "#" - L_BRACK@[16; 17) "[" - PATH@[17; 18) - PATH_SEGMENT@[17; 18) - NAME_REF@[17; 18) - IDENT@[17; 18) "A" - R_BRACK@[18; 19) "]" - WHITESPACE@[19; 20) " " - CALL_EXPR@[20; 25) - PATH_EXPR@[20; 23) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "foo" - ARG_LIST@[23; 25) - L_PAREN@[23; 24) "(" - R_PAREN@[24; 25) ")" - SEMI@[25; 26) ";" - WHITESPACE@[26; 31) "\n " - EXPR_STMT@[31; 42) - ATTR@[31; 35) - POUND@[31; 32) "#" - L_BRACK@[32; 33) "[" - PATH@[33; 34) - PATH_SEGMENT@[33; 34) - NAME_REF@[33; 34) - IDENT@[33; 34) "B" - R_BRACK@[34; 35) "]" - WHITESPACE@[35; 36) " " - MACRO_CALL@[36; 42) - PATH@[36; 39) - PATH_SEGMENT@[36; 39) - NAME_REF@[36; 39) - IDENT@[36; 39) "bar" - EXCL@[39; 40) "!" - TOKEN_TREE@[40; 42) - L_CURLY@[40; 41) "{" - R_CURLY@[41; 42) "}" - WHITESPACE@[42; 47) "\n " - EXPR_STMT@[47; 59) - ATTR@[47; 51) - POUND@[47; 48) "#" - L_BRACK@[48; 49) "[" - PATH@[49; 50) - PATH_SEGMENT@[49; 50) - NAME_REF@[49; 50) - IDENT@[49; 50) "C" - R_BRACK@[50; 51) "]" - WHITESPACE@[51; 52) " " - ATTR@[52; 56) - POUND@[52; 53) "#" - L_BRACK@[53; 54) "[" - PATH@[54; 55) - PATH_SEGMENT@[54; 55) - NAME_REF@[54; 55) - IDENT@[54; 55) "D" - R_BRACK@[55; 56) "]" - WHITESPACE@[56; 57) " " - BLOCK_EXPR@[57; 59) - BLOCK@[57; 59) - L_CURLY@[57; 58) "{" - R_CURLY@[58; 59) "}" - WHITESPACE@[59; 64) "\n " - EXPR_STMT@[64; 79) - ATTR@[64; 68) - POUND@[64; 65) "#" - L_BRACK@[65; 66) "[" - PATH@[66; 67) - PATH_SEGMENT@[66; 67) - NAME_REF@[66; 67) - IDENT@[66; 67) "D" - R_BRACK@[67; 68) "]" - WHITESPACE@[68; 69) " " - RETURN_EXPR@[69; 78) - RETURN_KW@[69; 75) "return" - WHITESPACE@[75; 76) " " - TUPLE_EXPR@[76; 78) - L_PAREN@[76; 77) "(" - R_PAREN@[77; 78) ")" - SEMI@[78; 79) ";" - WHITESPACE@[79; 80) "\n" - R_CURLY@[80; 81) "}" - WHITESPACE@[81; 82) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast new file mode 100644 index 000000000..21f49690a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast @@ -0,0 +1,59 @@ +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; 8) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " + BLOCK_EXPR@[9; 46) + BLOCK@[9; 46) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 31) + BLOCK_EXPR@[15; 31) + BLOCK@[15; 31) + L_CURLY@[15; 16) "{" + WHITESPACE@[16; 17) " " + TRY_EXPR@[17; 29) + ATTR@[17; 21) + POUND@[17; 18) "#" + L_BRACK@[18; 19) "[" + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "A" + R_BRACK@[20; 21) "]" + WHITESPACE@[21; 22) " " + MACRO_CALL@[22; 28) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "bar" + EXCL@[25; 26) "!" + TOKEN_TREE@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + QUESTION@[28; 29) "?" + WHITESPACE@[29; 30) " " + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 36) "\n " + REF_EXPR@[36; 44) + ATTR@[36; 40) + POUND@[36; 37) "#" + L_BRACK@[37; 38) "[" + PATH@[38; 39) + PATH_SEGMENT@[38; 39) + NAME_REF@[38; 39) + IDENT@[38; 39) "B" + R_BRACK@[39; 40) "]" + WHITESPACE@[40; 41) " " + AMP@[41; 42) "&" + TUPLE_EXPR@[42; 44) + L_PAREN@[42; 43) "(" + R_PAREN@[43; 44) ")" + WHITESPACE@[44; 45) "\n" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 47) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.txt deleted file mode 100644 index 21f49690a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.txt +++ /dev/null @@ -1,59 +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; 8) - L_PAREN@[6; 7) "(" - R_PAREN@[7; 8) ")" - WHITESPACE@[8; 9) " " - BLOCK_EXPR@[9; 46) - BLOCK@[9; 46) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 31) - BLOCK_EXPR@[15; 31) - BLOCK@[15; 31) - L_CURLY@[15; 16) "{" - WHITESPACE@[16; 17) " " - TRY_EXPR@[17; 29) - ATTR@[17; 21) - POUND@[17; 18) "#" - L_BRACK@[18; 19) "[" - PATH@[19; 20) - PATH_SEGMENT@[19; 20) - NAME_REF@[19; 20) - IDENT@[19; 20) "A" - R_BRACK@[20; 21) "]" - WHITESPACE@[21; 22) " " - MACRO_CALL@[22; 28) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "bar" - EXCL@[25; 26) "!" - TOKEN_TREE@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - QUESTION@[28; 29) "?" - WHITESPACE@[29; 30) " " - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 36) "\n " - REF_EXPR@[36; 44) - ATTR@[36; 40) - POUND@[36; 37) "#" - L_BRACK@[37; 38) "[" - PATH@[38; 39) - PATH_SEGMENT@[38; 39) - NAME_REF@[38; 39) - IDENT@[38; 39) "B" - R_BRACK@[39; 40) "]" - WHITESPACE@[40; 41) " " - AMP@[41; 42) "&" - TUPLE_EXPR@[42; 44) - L_PAREN@[42; 43) "(" - R_PAREN@[43; 44) ")" - WHITESPACE@[44; 45) "\n" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 47) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast new file mode 100644 index 000000000..8a972cdb2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast @@ -0,0 +1,37 @@ +SOURCE_FILE@[0; 50) + FN_DEF@[0; 24) + ASYNC_KW@[0; 5) "async" + WHITESPACE@[5; 6) " " + UNSAFE_KW@[6; 12) "unsafe" + WHITESPACE@[12; 13) " " + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 19) + IDENT@[16; 19) "foo" + PARAM_LIST@[19; 21) + L_PAREN@[19; 20) "(" + R_PAREN@[20; 21) ")" + WHITESPACE@[21; 22) " " + BLOCK_EXPR@[22; 24) + BLOCK@[22; 24) + L_CURLY@[22; 23) "{" + R_CURLY@[23; 24) "}" + WHITESPACE@[24; 25) "\n" + FN_DEF@[25; 49) + CONST_KW@[25; 30) "const" + WHITESPACE@[30; 31) " " + UNSAFE_KW@[31; 37) "unsafe" + WHITESPACE@[37; 38) " " + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 44) + IDENT@[41; 44) "bar" + PARAM_LIST@[44; 46) + L_PAREN@[44; 45) "(" + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + BLOCK_EXPR@[47; 49) + BLOCK@[47; 49) + L_CURLY@[47; 48) "{" + R_CURLY@[48; 49) "}" + WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt deleted file mode 100644 index 8a972cdb2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.txt +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE_FILE@[0; 50) - FN_DEF@[0; 24) - ASYNC_KW@[0; 5) "async" - WHITESPACE@[5; 6) " " - UNSAFE_KW@[6; 12) "unsafe" - WHITESPACE@[12; 13) " " - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 19) - IDENT@[16; 19) "foo" - PARAM_LIST@[19; 21) - L_PAREN@[19; 20) "(" - R_PAREN@[20; 21) ")" - WHITESPACE@[21; 22) " " - BLOCK_EXPR@[22; 24) - BLOCK@[22; 24) - L_CURLY@[22; 23) "{" - R_CURLY@[23; 24) "}" - WHITESPACE@[24; 25) "\n" - FN_DEF@[25; 49) - CONST_KW@[25; 30) "const" - WHITESPACE@[30; 31) " " - UNSAFE_KW@[31; 37) "unsafe" - WHITESPACE@[37; 38) " " - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 44) - IDENT@[41; 44) "bar" - PARAM_LIST@[44; 46) - L_PAREN@[44; 45) "(" - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - BLOCK_EXPR@[47; 49) - BLOCK@[47; 49) - L_CURLY@[47; 48) "{" - R_CURLY@[48; 49) "}" - WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast new file mode 100644 index 000000000..36d8f4a5f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast @@ -0,0 +1,37 @@ +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 " + LET_STMT@[16; 30) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + MACRO_PAT@[20; 25) + MACRO_CALL@[20; 25) + PATH@[20; 21) + PATH_SEGMENT@[20; 21) + NAME_REF@[20; 21) + IDENT@[20; 21) "m" + EXCL@[21; 22) "!" + TOKEN_TREE@[22; 25) + L_PAREN@[22; 23) "(" + IDENT@[23; 24) "x" + R_PAREN@[24; 25) ")" + WHITESPACE@[25; 26) " " + EQ@[26; 27) "=" + WHITESPACE@[27; 28) " " + LITERAL@[28; 29) + INT_NUMBER@[28; 29) "0" + SEMI@[29; 30) ";" + WHITESPACE@[30; 31) "\n" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.txt deleted file mode 100644 index 36d8f4a5f..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.txt +++ /dev/null @@ -1,37 +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 " - LET_STMT@[16; 30) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - MACRO_PAT@[20; 25) - MACRO_CALL@[20; 25) - PATH@[20; 21) - PATH_SEGMENT@[20; 21) - NAME_REF@[20; 21) - IDENT@[20; 21) "m" - EXCL@[21; 22) "!" - TOKEN_TREE@[22; 25) - L_PAREN@[22; 23) "(" - IDENT@[23; 24) "x" - R_PAREN@[24; 25) ")" - WHITESPACE@[25; 26) " " - EQ@[26; 27) "=" - WHITESPACE@[27; 28) " " - LITERAL@[28; 29) - INT_NUMBER@[28; 29) "0" - SEMI@[29; 30) ";" - WHITESPACE@[30; 31) "\n" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast b/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast new file mode 100644 index 000000000..17739dfbd --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast @@ -0,0 +1,129 @@ +SOURCE_FILE@[0; 135) + FN_DEF@[0; 134) + 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; 134) + BLOCK@[9; 134) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 21) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "a" + SEMI@[20; 21) ";" + WHITESPACE@[21; 26) "\n " + LET_STMT@[26; 37) + LET_KW@[26; 29) "let" + WHITESPACE@[29; 30) " " + BIND_PAT@[30; 31) + NAME@[30; 31) + IDENT@[30; 31) "b" + COLON@[31; 32) ":" + WHITESPACE@[32; 33) " " + PATH_TYPE@[33; 36) + PATH@[33; 36) + PATH_SEGMENT@[33; 36) + NAME_REF@[33; 36) + IDENT@[33; 36) "i32" + SEMI@[36; 37) ";" + WHITESPACE@[37; 42) "\n " + LET_STMT@[42; 53) + LET_KW@[42; 45) "let" + WHITESPACE@[45; 46) " " + BIND_PAT@[46; 47) + NAME@[46; 47) + IDENT@[46; 47) "c" + WHITESPACE@[47; 48) " " + EQ@[48; 49) "=" + WHITESPACE@[49; 50) " " + LITERAL@[50; 52) + INT_NUMBER@[50; 52) "92" + SEMI@[52; 53) ";" + WHITESPACE@[53; 58) "\n " + LET_STMT@[58; 74) + LET_KW@[58; 61) "let" + WHITESPACE@[61; 62) " " + BIND_PAT@[62; 63) + NAME@[62; 63) + IDENT@[62; 63) "d" + COLON@[63; 64) ":" + WHITESPACE@[64; 65) " " + PATH_TYPE@[65; 68) + PATH@[65; 68) + PATH_SEGMENT@[65; 68) + NAME_REF@[65; 68) + IDENT@[65; 68) "i32" + WHITESPACE@[68; 69) " " + EQ@[69; 70) "=" + WHITESPACE@[70; 71) " " + LITERAL@[71; 73) + INT_NUMBER@[71; 73) "92" + SEMI@[73; 74) ";" + WHITESPACE@[74; 79) "\n " + LET_STMT@[79; 88) + LET_KW@[79; 82) "let" + WHITESPACE@[82; 83) " " + BIND_PAT@[83; 84) + NAME@[83; 84) + IDENT@[83; 84) "e" + COLON@[84; 85) ":" + WHITESPACE@[85; 86) " " + NEVER_TYPE@[86; 87) + EXCL@[86; 87) "!" + SEMI@[87; 88) ";" + WHITESPACE@[88; 93) "\n " + LET_STMT@[93; 107) + LET_KW@[93; 96) "let" + WHITESPACE@[96; 97) " " + PLACEHOLDER_PAT@[97; 98) + UNDERSCORE@[97; 98) "_" + COLON@[98; 99) ":" + WHITESPACE@[99; 100) " " + NEVER_TYPE@[100; 101) + EXCL@[100; 101) "!" + WHITESPACE@[101; 102) " " + EQ@[102; 103) "=" + WHITESPACE@[103; 104) " " + BLOCK_EXPR@[104; 106) + BLOCK@[104; 106) + L_CURLY@[104; 105) "{" + R_CURLY@[105; 106) "}" + SEMI@[106; 107) ";" + WHITESPACE@[107; 112) "\n " + LET_STMT@[112; 132) + LET_KW@[112; 115) "let" + WHITESPACE@[115; 116) " " + BIND_PAT@[116; 117) + NAME@[116; 117) + IDENT@[116; 117) "f" + WHITESPACE@[117; 118) " " + EQ@[118; 119) "=" + WHITESPACE@[119; 120) " " + LAMBDA_EXPR@[120; 131) + ATTR@[120; 127) + POUND@[120; 121) "#" + L_BRACK@[121; 122) "[" + PATH@[122; 126) + PATH_SEGMENT@[122; 126) + NAME_REF@[122; 126) + IDENT@[122; 126) "attr" + R_BRACK@[126; 127) "]" + PARAM_LIST@[127; 129) + PIPE@[127; 128) "|" + PIPE@[128; 129) "|" + BLOCK_EXPR@[129; 131) + BLOCK@[129; 131) + L_CURLY@[129; 130) "{" + R_CURLY@[130; 131) "}" + SEMI@[131; 132) ";" + WHITESPACE@[132; 133) "\n" + R_CURLY@[133; 134) "}" + WHITESPACE@[134; 135) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.txt b/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.txt deleted file mode 100644 index 17739dfbd..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.txt +++ /dev/null @@ -1,129 +0,0 @@ -SOURCE_FILE@[0; 135) - FN_DEF@[0; 134) - 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; 134) - BLOCK@[9; 134) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 21) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - BIND_PAT@[19; 20) - NAME@[19; 20) - IDENT@[19; 20) "a" - SEMI@[20; 21) ";" - WHITESPACE@[21; 26) "\n " - LET_STMT@[26; 37) - LET_KW@[26; 29) "let" - WHITESPACE@[29; 30) " " - BIND_PAT@[30; 31) - NAME@[30; 31) - IDENT@[30; 31) "b" - COLON@[31; 32) ":" - WHITESPACE@[32; 33) " " - PATH_TYPE@[33; 36) - PATH@[33; 36) - PATH_SEGMENT@[33; 36) - NAME_REF@[33; 36) - IDENT@[33; 36) "i32" - SEMI@[36; 37) ";" - WHITESPACE@[37; 42) "\n " - LET_STMT@[42; 53) - LET_KW@[42; 45) "let" - WHITESPACE@[45; 46) " " - BIND_PAT@[46; 47) - NAME@[46; 47) - IDENT@[46; 47) "c" - WHITESPACE@[47; 48) " " - EQ@[48; 49) "=" - WHITESPACE@[49; 50) " " - LITERAL@[50; 52) - INT_NUMBER@[50; 52) "92" - SEMI@[52; 53) ";" - WHITESPACE@[53; 58) "\n " - LET_STMT@[58; 74) - LET_KW@[58; 61) "let" - WHITESPACE@[61; 62) " " - BIND_PAT@[62; 63) - NAME@[62; 63) - IDENT@[62; 63) "d" - COLON@[63; 64) ":" - WHITESPACE@[64; 65) " " - PATH_TYPE@[65; 68) - PATH@[65; 68) - PATH_SEGMENT@[65; 68) - NAME_REF@[65; 68) - IDENT@[65; 68) "i32" - WHITESPACE@[68; 69) " " - EQ@[69; 70) "=" - WHITESPACE@[70; 71) " " - LITERAL@[71; 73) - INT_NUMBER@[71; 73) "92" - SEMI@[73; 74) ";" - WHITESPACE@[74; 79) "\n " - LET_STMT@[79; 88) - LET_KW@[79; 82) "let" - WHITESPACE@[82; 83) " " - BIND_PAT@[83; 84) - NAME@[83; 84) - IDENT@[83; 84) "e" - COLON@[84; 85) ":" - WHITESPACE@[85; 86) " " - NEVER_TYPE@[86; 87) - EXCL@[86; 87) "!" - SEMI@[87; 88) ";" - WHITESPACE@[88; 93) "\n " - LET_STMT@[93; 107) - LET_KW@[93; 96) "let" - WHITESPACE@[96; 97) " " - PLACEHOLDER_PAT@[97; 98) - UNDERSCORE@[97; 98) "_" - COLON@[98; 99) ":" - WHITESPACE@[99; 100) " " - NEVER_TYPE@[100; 101) - EXCL@[100; 101) "!" - WHITESPACE@[101; 102) " " - EQ@[102; 103) "=" - WHITESPACE@[103; 104) " " - BLOCK_EXPR@[104; 106) - BLOCK@[104; 106) - L_CURLY@[104; 105) "{" - R_CURLY@[105; 106) "}" - SEMI@[106; 107) ";" - WHITESPACE@[107; 112) "\n " - LET_STMT@[112; 132) - LET_KW@[112; 115) "let" - WHITESPACE@[115; 116) " " - BIND_PAT@[116; 117) - NAME@[116; 117) - IDENT@[116; 117) "f" - WHITESPACE@[117; 118) " " - EQ@[118; 119) "=" - WHITESPACE@[119; 120) " " - LAMBDA_EXPR@[120; 131) - ATTR@[120; 127) - POUND@[120; 121) "#" - L_BRACK@[121; 122) "[" - PATH@[122; 126) - PATH_SEGMENT@[122; 126) - NAME_REF@[122; 126) - IDENT@[122; 126) "attr" - R_BRACK@[126; 127) "]" - PARAM_LIST@[127; 129) - PIPE@[127; 128) "|" - PIPE@[128; 129) "|" - BLOCK_EXPR@[129; 131) - BLOCK@[129; 131) - L_CURLY@[129; 130) "{" - R_CURLY@[130; 131) "}" - SEMI@[131; 132) ";" - WHITESPACE@[132; 133) "\n" - R_CURLY@[133; 134) "}" - WHITESPACE@[134; 135) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast new file mode 100644 index 000000000..d6df1aba2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast @@ -0,0 +1,33 @@ +SOURCE_FILE@[0; 33) + FN_DEF@[0; 32) + 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; 32) + BLOCK@[9; 32) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 30) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + TRY_EXPR@[23; 29) + TRY_KW@[23; 26) "try" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + SEMI@[29; 30) ";" + WHITESPACE@[30; 31) "\n" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.txt deleted file mode 100644 index d6df1aba2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.txt +++ /dev/null @@ -1,33 +0,0 @@ -SOURCE_FILE@[0; 33) - FN_DEF@[0; 32) - 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; 32) - BLOCK@[9; 32) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 30) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - TRY_EXPR@[23; 29) - TRY_KW@[23; 26) "try" - WHITESPACE@[26; 27) " " - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - SEMI@[29; 30) ";" - WHITESPACE@[30; 31) "\n" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast new file mode 100644 index 000000000..6bfac985a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast @@ -0,0 +1,31 @@ +SOURCE_FILE@[0; 37) + TYPE_ALIAS_DEF@[0; 36) + EXISTENTIAL_KW@[0; 11) "existential" + WHITESPACE@[11; 12) " " + TYPE_KW@[12; 16) "type" + WHITESPACE@[16; 17) " " + NAME@[17; 20) + IDENT@[17; 20) "Foo" + COLON@[20; 21) ":" + WHITESPACE@[21; 22) " " + TYPE_BOUND_LIST@[22; 35) + TYPE_BOUND@[22; 35) + PATH_TYPE@[22; 35) + PATH@[22; 35) + PATH_SEGMENT@[22; 35) + NAME_REF@[22; 24) + IDENT@[22; 24) "Fn" + PARAM_LIST@[24; 26) + L_PAREN@[24; 25) "(" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + RET_TYPE@[27; 35) + THIN_ARROW@[27; 29) "->" + WHITESPACE@[29; 30) " " + PATH_TYPE@[30; 35) + PATH@[30; 35) + PATH_SEGMENT@[30; 35) + NAME_REF@[30; 35) + IDENT@[30; 35) "usize" + SEMI@[35; 36) ";" + WHITESPACE@[36; 37) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.txt deleted file mode 100644 index 6bfac985a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.txt +++ /dev/null @@ -1,31 +0,0 @@ -SOURCE_FILE@[0; 37) - TYPE_ALIAS_DEF@[0; 36) - EXISTENTIAL_KW@[0; 11) "existential" - WHITESPACE@[11; 12) " " - TYPE_KW@[12; 16) "type" - WHITESPACE@[16; 17) " " - NAME@[17; 20) - IDENT@[17; 20) "Foo" - COLON@[20; 21) ":" - WHITESPACE@[21; 22) " " - TYPE_BOUND_LIST@[22; 35) - TYPE_BOUND@[22; 35) - PATH_TYPE@[22; 35) - PATH@[22; 35) - PATH_SEGMENT@[22; 35) - NAME_REF@[22; 24) - IDENT@[22; 24) "Fn" - PARAM_LIST@[24; 26) - L_PAREN@[24; 25) "(" - R_PAREN@[25; 26) ")" - WHITESPACE@[26; 27) " " - RET_TYPE@[27; 35) - THIN_ARROW@[27; 29) "->" - WHITESPACE@[29; 30) " " - PATH_TYPE@[30; 35) - PATH@[30; 35) - PATH_SEGMENT@[30; 35) - NAME_REF@[30; 35) - IDENT@[30; 35) "usize" - SEMI@[35; 36) ";" - WHITESPACE@[36; 37) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast new file mode 100644 index 000000000..12294210e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast @@ -0,0 +1,90 @@ +SOURCE_FILE@[0; 106) + FN_DEF@[0; 105) + 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; 105) + BLOCK@[9; 105) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 32) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + BIND_PAT@[19; 20) + NAME@[19; 20) + IDENT@[19; 20) "x" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + BOX_EXPR@[23; 31) + BOX_KW@[23; 26) "box" + WHITESPACE@[26; 27) " " + LITERAL@[27; 31) + INT_NUMBER@[27; 31) "1i32" + SEMI@[31; 32) ";" + WHITESPACE@[32; 37) "\n " + LET_STMT@[37; 66) + LET_KW@[37; 40) "let" + WHITESPACE@[40; 41) " " + BIND_PAT@[41; 42) + NAME@[41; 42) + IDENT@[41; 42) "y" + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " + TUPLE_EXPR@[45; 65) + L_PAREN@[45; 46) "(" + BOX_EXPR@[46; 54) + BOX_KW@[46; 49) "box" + WHITESPACE@[49; 50) " " + LITERAL@[50; 54) + INT_NUMBER@[50; 54) "1i32" + COMMA@[54; 55) "," + WHITESPACE@[55; 56) " " + BOX_EXPR@[56; 64) + BOX_KW@[56; 59) "box" + WHITESPACE@[59; 60) " " + LITERAL@[60; 64) + INT_NUMBER@[60; 64) "2i32" + R_PAREN@[64; 65) ")" + SEMI@[65; 66) ";" + WHITESPACE@[66; 71) "\n " + LET_STMT@[71; 103) + LET_KW@[71; 74) "let" + WHITESPACE@[74; 75) " " + BIND_PAT@[75; 76) + NAME@[75; 76) + IDENT@[75; 76) "z" + WHITESPACE@[76; 77) " " + EQ@[77; 78) "=" + WHITESPACE@[78; 79) " " + CALL_EXPR@[79; 102) + PATH_EXPR@[79; 82) + PATH@[79; 82) + PATH_SEGMENT@[79; 82) + NAME_REF@[79; 82) + IDENT@[79; 82) "Foo" + ARG_LIST@[82; 102) + L_PAREN@[82; 83) "(" + BOX_EXPR@[83; 91) + BOX_KW@[83; 86) "box" + WHITESPACE@[86; 87) " " + LITERAL@[87; 91) + INT_NUMBER@[87; 91) "1i32" + COMMA@[91; 92) "," + WHITESPACE@[92; 93) " " + BOX_EXPR@[93; 101) + BOX_KW@[93; 96) "box" + WHITESPACE@[96; 97) " " + LITERAL@[97; 101) + INT_NUMBER@[97; 101) "2i32" + R_PAREN@[101; 102) ")" + SEMI@[102; 103) ";" + WHITESPACE@[103; 104) "\n" + R_CURLY@[104; 105) "}" + WHITESPACE@[105; 106) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.txt deleted file mode 100644 index 12294210e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.txt +++ /dev/null @@ -1,90 +0,0 @@ -SOURCE_FILE@[0; 106) - FN_DEF@[0; 105) - 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; 105) - BLOCK@[9; 105) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 32) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - BIND_PAT@[19; 20) - NAME@[19; 20) - IDENT@[19; 20) "x" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - BOX_EXPR@[23; 31) - BOX_KW@[23; 26) "box" - WHITESPACE@[26; 27) " " - LITERAL@[27; 31) - INT_NUMBER@[27; 31) "1i32" - SEMI@[31; 32) ";" - WHITESPACE@[32; 37) "\n " - LET_STMT@[37; 66) - LET_KW@[37; 40) "let" - WHITESPACE@[40; 41) " " - BIND_PAT@[41; 42) - NAME@[41; 42) - IDENT@[41; 42) "y" - WHITESPACE@[42; 43) " " - EQ@[43; 44) "=" - WHITESPACE@[44; 45) " " - TUPLE_EXPR@[45; 65) - L_PAREN@[45; 46) "(" - BOX_EXPR@[46; 54) - BOX_KW@[46; 49) "box" - WHITESPACE@[49; 50) " " - LITERAL@[50; 54) - INT_NUMBER@[50; 54) "1i32" - COMMA@[54; 55) "," - WHITESPACE@[55; 56) " " - BOX_EXPR@[56; 64) - BOX_KW@[56; 59) "box" - WHITESPACE@[59; 60) " " - LITERAL@[60; 64) - INT_NUMBER@[60; 64) "2i32" - R_PAREN@[64; 65) ")" - SEMI@[65; 66) ";" - WHITESPACE@[66; 71) "\n " - LET_STMT@[71; 103) - LET_KW@[71; 74) "let" - WHITESPACE@[74; 75) " " - BIND_PAT@[75; 76) - NAME@[75; 76) - IDENT@[75; 76) "z" - WHITESPACE@[76; 77) " " - EQ@[77; 78) "=" - WHITESPACE@[78; 79) " " - CALL_EXPR@[79; 102) - PATH_EXPR@[79; 82) - PATH@[79; 82) - PATH_SEGMENT@[79; 82) - NAME_REF@[79; 82) - IDENT@[79; 82) "Foo" - ARG_LIST@[82; 102) - L_PAREN@[82; 83) "(" - BOX_EXPR@[83; 91) - BOX_KW@[83; 86) "box" - WHITESPACE@[86; 87) " " - LITERAL@[87; 91) - INT_NUMBER@[87; 91) "1i32" - COMMA@[91; 92) "," - WHITESPACE@[92; 93) " " - BOX_EXPR@[93; 101) - BOX_KW@[93; 96) "box" - WHITESPACE@[96; 97) " " - LITERAL@[97; 101) - INT_NUMBER@[97; 101) "2i32" - R_PAREN@[101; 102) ")" - SEMI@[102; 103) ";" - WHITESPACE@[103; 104) "\n" - R_CURLY@[104; 105) "}" - WHITESPACE@[105; 106) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast new file mode 100644 index 000000000..e1734224b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast @@ -0,0 +1,56 @@ +SOURCE_FILE@[0; 69) + IMPL_DEF@[0; 68) + 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) " " + PATH_TYPE@[11; 14) + PATH@[11; 14) + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "Foo" + WHITESPACE@[14; 15) " " + ITEM_LIST@[15; 68) + L_CURLY@[15; 16) "{" + WHITESPACE@[16; 21) "\n " + TYPE_ALIAS_DEF@[21; 42) + DEFAULT_KW@[21; 28) "default" + WHITESPACE@[28; 29) " " + TYPE_KW@[29; 33) "type" + WHITESPACE@[33; 34) " " + NAME@[34; 35) + IDENT@[34; 35) "T" + WHITESPACE@[35; 36) " " + EQ@[36; 37) "=" + WHITESPACE@[37; 38) " " + PATH_TYPE@[38; 41) + PATH@[38; 41) + PATH_SEGMENT@[38; 41) + NAME_REF@[38; 41) + IDENT@[38; 41) "Bar" + SEMI@[41; 42) ";" + WHITESPACE@[42; 47) "\n " + FN_DEF@[47; 66) + DEFAULT_KW@[47; 54) "default" + WHITESPACE@[54; 55) " " + FN_KW@[55; 57) "fn" + WHITESPACE@[57; 58) " " + NAME@[58; 61) + IDENT@[58; 61) "foo" + PARAM_LIST@[61; 63) + L_PAREN@[61; 62) "(" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 66) + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 67) "\n" + R_CURLY@[67; 68) "}" + WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.txt b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.txt deleted file mode 100644 index e1734224b..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.txt +++ /dev/null @@ -1,56 +0,0 @@ -SOURCE_FILE@[0; 69) - IMPL_DEF@[0; 68) - 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) " " - PATH_TYPE@[11; 14) - PATH@[11; 14) - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "Foo" - WHITESPACE@[14; 15) " " - ITEM_LIST@[15; 68) - L_CURLY@[15; 16) "{" - WHITESPACE@[16; 21) "\n " - TYPE_ALIAS_DEF@[21; 42) - DEFAULT_KW@[21; 28) "default" - WHITESPACE@[28; 29) " " - TYPE_KW@[29; 33) "type" - WHITESPACE@[33; 34) " " - NAME@[34; 35) - IDENT@[34; 35) "T" - WHITESPACE@[35; 36) " " - EQ@[36; 37) "=" - WHITESPACE@[37; 38) " " - PATH_TYPE@[38; 41) - PATH@[38; 41) - PATH_SEGMENT@[38; 41) - NAME_REF@[38; 41) - IDENT@[38; 41) "Bar" - SEMI@[41; 42) ";" - WHITESPACE@[42; 47) "\n " - FN_DEF@[47; 66) - DEFAULT_KW@[47; 54) "default" - WHITESPACE@[54; 55) " " - FN_KW@[55; 57) "fn" - WHITESPACE@[57; 58) " " - NAME@[58; 61) - IDENT@[58; 61) "foo" - PARAM_LIST@[61; 63) - L_PAREN@[61; 62) "(" - R_PAREN@[62; 63) ")" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 66) - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 67) "\n" - R_CURLY@[67; 68) "}" - WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast new file mode 100644 index 000000000..14655d332 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast @@ -0,0 +1,64 @@ +SOURCE_FILE@[0; 111) + FN_DEF@[0; 110) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 18) + IDENT@[3; 18) "simple_function" + PARAM_LIST@[18; 20) + L_PAREN@[18; 19) "(" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + BLOCK_EXPR@[21; 110) + BLOCK@[21; 110) + L_CURLY@[21; 22) "{" + WHITESPACE@[22; 27) "\n " + ENUM_DEF@[27; 75) + ENUM_KW@[27; 31) "enum" + WHITESPACE@[31; 32) " " + NAME@[32; 41) + IDENT@[32; 41) "LocalEnum" + WHITESPACE@[41; 42) " " + ENUM_VARIANT_LIST@[42; 75) + L_CURLY@[42; 43) "{" + WHITESPACE@[43; 52) "\n " + ENUM_VARIANT@[52; 55) + NAME@[52; 55) + IDENT@[52; 55) "One" + COMMA@[55; 56) "," + WHITESPACE@[56; 65) "\n " + ENUM_VARIANT@[65; 68) + NAME@[65; 68) + IDENT@[65; 68) "Two" + COMMA@[68; 69) "," + WHITESPACE@[69; 74) "\n " + R_CURLY@[74; 75) "}" + SEMI@[75; 76) ";" + WHITESPACE@[76; 81) "\n " + FN_DEF@[81; 90) + FN_KW@[81; 83) "fn" + WHITESPACE@[83; 84) " " + NAME@[84; 85) + IDENT@[84; 85) "f" + PARAM_LIST@[85; 87) + L_PAREN@[85; 86) "(" + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " + BLOCK_EXPR@[88; 90) + BLOCK@[88; 90) + L_CURLY@[88; 89) "{" + R_CURLY@[89; 90) "}" + SEMI@[90; 91) ";" + WHITESPACE@[91; 96) "\n " + STRUCT_DEF@[96; 107) + STRUCT_KW@[96; 102) "struct" + WHITESPACE@[102; 103) " " + NAME@[103; 104) + IDENT@[103; 104) "S" + WHITESPACE@[104; 105) " " + RECORD_FIELD_DEF_LIST@[105; 107) + L_CURLY@[105; 106) "{" + R_CURLY@[106; 107) "}" + SEMI@[107; 108) ";" + WHITESPACE@[108; 109) "\n" + R_CURLY@[109; 110) "}" + WHITESPACE@[110; 111) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.txt b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.txt deleted file mode 100644 index 14655d332..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.txt +++ /dev/null @@ -1,64 +0,0 @@ -SOURCE_FILE@[0; 111) - FN_DEF@[0; 110) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 18) - IDENT@[3; 18) "simple_function" - PARAM_LIST@[18; 20) - L_PAREN@[18; 19) "(" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - BLOCK_EXPR@[21; 110) - BLOCK@[21; 110) - L_CURLY@[21; 22) "{" - WHITESPACE@[22; 27) "\n " - ENUM_DEF@[27; 75) - ENUM_KW@[27; 31) "enum" - WHITESPACE@[31; 32) " " - NAME@[32; 41) - IDENT@[32; 41) "LocalEnum" - WHITESPACE@[41; 42) " " - ENUM_VARIANT_LIST@[42; 75) - L_CURLY@[42; 43) "{" - WHITESPACE@[43; 52) "\n " - ENUM_VARIANT@[52; 55) - NAME@[52; 55) - IDENT@[52; 55) "One" - COMMA@[55; 56) "," - WHITESPACE@[56; 65) "\n " - ENUM_VARIANT@[65; 68) - NAME@[65; 68) - IDENT@[65; 68) "Two" - COMMA@[68; 69) "," - WHITESPACE@[69; 74) "\n " - R_CURLY@[74; 75) "}" - SEMI@[75; 76) ";" - WHITESPACE@[76; 81) "\n " - FN_DEF@[81; 90) - FN_KW@[81; 83) "fn" - WHITESPACE@[83; 84) " " - NAME@[84; 85) - IDENT@[84; 85) "f" - PARAM_LIST@[85; 87) - L_PAREN@[85; 86) "(" - R_PAREN@[86; 87) ")" - WHITESPACE@[87; 88) " " - BLOCK_EXPR@[88; 90) - BLOCK@[88; 90) - L_CURLY@[88; 89) "{" - R_CURLY@[89; 90) "}" - SEMI@[90; 91) ";" - WHITESPACE@[91; 96) "\n " - STRUCT_DEF@[96; 107) - STRUCT_KW@[96; 102) "struct" - WHITESPACE@[102; 103) " " - NAME@[103; 104) - IDENT@[103; 104) "S" - WHITESPACE@[104; 105) " " - RECORD_FIELD_DEF_LIST@[105; 107) - L_CURLY@[105; 106) "{" - R_CURLY@[106; 107) "}" - SEMI@[107; 108) ";" - WHITESPACE@[108; 109) "\n" - R_CURLY@[109; 110) "}" - WHITESPACE@[110; 111) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast new file mode 100644 index 000000000..a6ac0dbd8 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast @@ -0,0 +1,70 @@ +SOURCE_FILE@[0; 67) + FN_DEF@[0; 66) + 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; 66) + BLOCK@[9; 66) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 23) + AWAIT_EXPR@[15; 22) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "x" + DOT@[16; 17) "." + AWAIT_KW@[17; 22) "await" + SEMI@[22; 23) ";" + WHITESPACE@[23; 28) "\n " + EXPR_STMT@[28; 38) + AWAIT_EXPR@[28; 37) + FIELD_EXPR@[28; 31) + PATH_EXPR@[28; 29) + PATH@[28; 29) + PATH_SEGMENT@[28; 29) + NAME_REF@[28; 29) + IDENT@[28; 29) "x" + DOT@[29; 30) "." + NAME_REF@[30; 31) + INT_NUMBER@[30; 31) "0" + DOT@[31; 32) "." + AWAIT_KW@[32; 37) "await" + SEMI@[37; 38) ";" + WHITESPACE@[38; 43) "\n " + EXPR_STMT@[43; 64) + METHOD_CALL_EXPR@[43; 63) + TRY_EXPR@[43; 55) + AWAIT_EXPR@[43; 54) + CALL_EXPR@[43; 48) + FIELD_EXPR@[43; 46) + PATH_EXPR@[43; 44) + PATH@[43; 44) + PATH_SEGMENT@[43; 44) + NAME_REF@[43; 44) + IDENT@[43; 44) "x" + DOT@[44; 45) "." + NAME_REF@[45; 46) + INT_NUMBER@[45; 46) "0" + ARG_LIST@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + DOT@[48; 49) "." + AWAIT_KW@[49; 54) "await" + QUESTION@[54; 55) "?" + DOT@[55; 56) "." + NAME_REF@[56; 61) + IDENT@[56; 61) "hello" + ARG_LIST@[61; 63) + L_PAREN@[61; 62) "(" + R_PAREN@[62; 63) ")" + SEMI@[63; 64) ";" + WHITESPACE@[64; 65) "\n" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 67) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.txt deleted file mode 100644 index a6ac0dbd8..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.txt +++ /dev/null @@ -1,70 +0,0 @@ -SOURCE_FILE@[0; 67) - FN_DEF@[0; 66) - 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; 66) - BLOCK@[9; 66) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 23) - AWAIT_EXPR@[15; 22) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "x" - DOT@[16; 17) "." - AWAIT_KW@[17; 22) "await" - SEMI@[22; 23) ";" - WHITESPACE@[23; 28) "\n " - EXPR_STMT@[28; 38) - AWAIT_EXPR@[28; 37) - FIELD_EXPR@[28; 31) - PATH_EXPR@[28; 29) - PATH@[28; 29) - PATH_SEGMENT@[28; 29) - NAME_REF@[28; 29) - IDENT@[28; 29) "x" - DOT@[29; 30) "." - NAME_REF@[30; 31) - INT_NUMBER@[30; 31) "0" - DOT@[31; 32) "." - AWAIT_KW@[32; 37) "await" - SEMI@[37; 38) ";" - WHITESPACE@[38; 43) "\n " - EXPR_STMT@[43; 64) - METHOD_CALL_EXPR@[43; 63) - TRY_EXPR@[43; 55) - AWAIT_EXPR@[43; 54) - CALL_EXPR@[43; 48) - FIELD_EXPR@[43; 46) - PATH_EXPR@[43; 44) - PATH@[43; 44) - PATH_SEGMENT@[43; 44) - NAME_REF@[43; 44) - IDENT@[43; 44) "x" - DOT@[44; 45) "." - NAME_REF@[45; 46) - INT_NUMBER@[45; 46) "0" - ARG_LIST@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - DOT@[48; 49) "." - AWAIT_KW@[49; 54) "await" - QUESTION@[54; 55) "?" - DOT@[55; 56) "." - NAME_REF@[56; 61) - IDENT@[56; 61) "hello" - ARG_LIST@[61; 63) - L_PAREN@[61; 62) "(" - R_PAREN@[62; 63) ")" - SEMI@[63; 64) ";" - WHITESPACE@[64; 65) "\n" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 67) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast new file mode 100644 index 000000000..d18096b47 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast @@ -0,0 +1,56 @@ +SOURCE_FILE@[0; 59) + FN_DEF@[0; 58) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 12) + IDENT@[3; 12) "print_all" + TYPE_PARAM_LIST@[12; 40) + L_ANGLE@[12; 13) "<" + TYPE_PARAM@[13; 39) + NAME@[13; 14) + IDENT@[13; 14) "T" + COLON@[14; 15) ":" + WHITESPACE@[15; 16) " " + TYPE_BOUND_LIST@[16; 39) + TYPE_BOUND@[16; 39) + PATH_TYPE@[16; 39) + PATH@[16; 39) + PATH_SEGMENT@[16; 39) + NAME_REF@[16; 24) + IDENT@[16; 24) "Iterator" + TYPE_ARG_LIST@[24; 39) + L_ANGLE@[24; 25) "<" + ASSOC_TYPE_ARG@[25; 38) + NAME_REF@[25; 29) + IDENT@[25; 29) "Item" + COLON@[29; 30) ":" + WHITESPACE@[30; 31) " " + TYPE_BOUND_LIST@[31; 38) + TYPE_BOUND@[31; 38) + PATH_TYPE@[31; 38) + PATH@[31; 38) + PATH_SEGMENT@[31; 38) + NAME_REF@[31; 38) + IDENT@[31; 38) "Display" + R_ANGLE@[38; 39) ">" + R_ANGLE@[39; 40) ">" + PARAM_LIST@[40; 55) + L_PAREN@[40; 41) "(" + PARAM@[41; 54) + BIND_PAT@[41; 51) + NAME@[41; 51) + IDENT@[41; 51) "printables" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + PATH_TYPE@[53; 54) + PATH@[53; 54) + PATH_SEGMENT@[53; 54) + NAME_REF@[53; 54) + IDENT@[53; 54) "T" + R_PAREN@[54; 55) ")" + WHITESPACE@[55; 56) " " + BLOCK_EXPR@[56; 58) + BLOCK@[56; 58) + L_CURLY@[56; 57) "{" + R_CURLY@[57; 58) "}" + WHITESPACE@[58; 59) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.txt b/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.txt deleted file mode 100644 index d18096b47..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.txt +++ /dev/null @@ -1,56 +0,0 @@ -SOURCE_FILE@[0; 59) - FN_DEF@[0; 58) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 12) - IDENT@[3; 12) "print_all" - TYPE_PARAM_LIST@[12; 40) - L_ANGLE@[12; 13) "<" - TYPE_PARAM@[13; 39) - NAME@[13; 14) - IDENT@[13; 14) "T" - COLON@[14; 15) ":" - WHITESPACE@[15; 16) " " - TYPE_BOUND_LIST@[16; 39) - TYPE_BOUND@[16; 39) - PATH_TYPE@[16; 39) - PATH@[16; 39) - PATH_SEGMENT@[16; 39) - NAME_REF@[16; 24) - IDENT@[16; 24) "Iterator" - TYPE_ARG_LIST@[24; 39) - L_ANGLE@[24; 25) "<" - ASSOC_TYPE_ARG@[25; 38) - NAME_REF@[25; 29) - IDENT@[25; 29) "Item" - COLON@[29; 30) ":" - WHITESPACE@[30; 31) " " - TYPE_BOUND_LIST@[31; 38) - TYPE_BOUND@[31; 38) - PATH_TYPE@[31; 38) - PATH@[31; 38) - PATH_SEGMENT@[31; 38) - NAME_REF@[31; 38) - IDENT@[31; 38) "Display" - R_ANGLE@[38; 39) ">" - R_ANGLE@[39; 40) ">" - PARAM_LIST@[40; 55) - L_PAREN@[40; 41) "(" - PARAM@[41; 54) - BIND_PAT@[41; 51) - NAME@[41; 51) - IDENT@[41; 51) "printables" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - PATH_TYPE@[53; 54) - PATH@[53; 54) - PATH_SEGMENT@[53; 54) - NAME_REF@[53; 54) - IDENT@[53; 54) "T" - R_PAREN@[54; 55) ")" - WHITESPACE@[55; 56) " " - BLOCK_EXPR@[56; 58) - BLOCK@[56; 58) - L_CURLY@[56; 57) "{" - R_CURLY@[57; 58) "}" - WHITESPACE@[58; 59) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast new file mode 100644 index 000000000..df4c04149 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast @@ -0,0 +1,66 @@ +SOURCE_FILE@[0; 52) + FN_DEF@[0; 51) + 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; 51) + BLOCK@[9; 51) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 14) "\n " + LET_STMT@[14; 34) + LET_KW@[14; 17) "let" + WHITESPACE@[17; 18) " " + BIND_PAT@[18; 23) + MUT_KW@[18; 21) "mut" + WHITESPACE@[21; 22) " " + NAME@[22; 23) + IDENT@[22; 23) "p" + WHITESPACE@[23; 24) " " + EQ@[24; 25) "=" + WHITESPACE@[25; 26) " " + RECORD_LIT@[26; 33) + PATH@[26; 27) + PATH_SEGMENT@[26; 27) + NAME_REF@[26; 27) + IDENT@[26; 27) "F" + RECORD_FIELD_LIST@[27; 33) + L_CURLY@[27; 28) "{" + RECORD_FIELD@[28; 32) + NAME_REF@[28; 29) + IDENT@[28; 29) "x" + COLON@[29; 30) ":" + WHITESPACE@[30; 31) " " + LITERAL@[31; 32) + INT_NUMBER@[31; 32) "5" + R_CURLY@[32; 33) "}" + SEMI@[33; 34) ";" + WHITESPACE@[34; 38) "\n " + EXPR_STMT@[38; 49) + BIN_EXPR@[38; 48) + FIELD_EXPR@[38; 43) + BLOCK_EXPR@[38; 41) + BLOCK@[38; 41) + L_CURLY@[38; 39) "{" + PATH_EXPR@[39; 40) + PATH@[39; 40) + PATH_SEGMENT@[39; 40) + NAME_REF@[39; 40) + IDENT@[39; 40) "p" + R_CURLY@[40; 41) "}" + DOT@[41; 42) "." + NAME_REF@[42; 43) + IDENT@[42; 43) "x" + WHITESPACE@[43; 44) " " + EQ@[44; 45) "=" + WHITESPACE@[45; 46) " " + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "10" + SEMI@[48; 49) ";" + WHITESPACE@[49; 50) "\n" + R_CURLY@[50; 51) "}" + WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.txt deleted file mode 100644 index df4c04149..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.txt +++ /dev/null @@ -1,66 +0,0 @@ -SOURCE_FILE@[0; 52) - FN_DEF@[0; 51) - 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; 51) - BLOCK@[9; 51) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 14) "\n " - LET_STMT@[14; 34) - LET_KW@[14; 17) "let" - WHITESPACE@[17; 18) " " - BIND_PAT@[18; 23) - MUT_KW@[18; 21) "mut" - WHITESPACE@[21; 22) " " - NAME@[22; 23) - IDENT@[22; 23) "p" - WHITESPACE@[23; 24) " " - EQ@[24; 25) "=" - WHITESPACE@[25; 26) " " - RECORD_LIT@[26; 33) - PATH@[26; 27) - PATH_SEGMENT@[26; 27) - NAME_REF@[26; 27) - IDENT@[26; 27) "F" - RECORD_FIELD_LIST@[27; 33) - L_CURLY@[27; 28) "{" - RECORD_FIELD@[28; 32) - NAME_REF@[28; 29) - IDENT@[28; 29) "x" - COLON@[29; 30) ":" - WHITESPACE@[30; 31) " " - LITERAL@[31; 32) - INT_NUMBER@[31; 32) "5" - R_CURLY@[32; 33) "}" - SEMI@[33; 34) ";" - WHITESPACE@[34; 38) "\n " - EXPR_STMT@[38; 49) - BIN_EXPR@[38; 48) - FIELD_EXPR@[38; 43) - BLOCK_EXPR@[38; 41) - BLOCK@[38; 41) - L_CURLY@[38; 39) "{" - PATH_EXPR@[39; 40) - PATH@[39; 40) - PATH_SEGMENT@[39; 40) - NAME_REF@[39; 40) - IDENT@[39; 40) "p" - R_CURLY@[40; 41) "}" - DOT@[41; 42) "." - NAME_REF@[42; 43) - IDENT@[42; 43) "x" - WHITESPACE@[43; 44) " " - EQ@[44; 45) "=" - WHITESPACE@[45; 46) " " - LITERAL@[46; 48) - INT_NUMBER@[46; 48) "10" - SEMI@[48; 49) ";" - WHITESPACE@[49; 50) "\n" - R_CURLY@[50; 51) "}" - WHITESPACE@[51; 52) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast new file mode 100644 index 000000000..e627b9746 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast @@ -0,0 +1,26 @@ +SOURCE_FILE@[0; 26) + FN_DEF@[0; 25) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 4) + IDENT@[3; 4) "f" + PARAM_LIST@[4; 22) + L_PAREN@[4; 5) "(" + ATTR@[5; 16) + POUND@[5; 6) "#" + L_BRACK@[6; 7) "[" + PATH@[7; 15) + PATH_SEGMENT@[7; 15) + NAME_REF@[7; 15) + IDENT@[7; 15) "must_use" + R_BRACK@[15; 16) "]" + WHITESPACE@[16; 17) " " + SELF_PARAM@[17; 21) + SELF_KW@[17; 21) "self" + R_PAREN@[21; 22) ")" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.txt deleted file mode 100644 index e627b9746..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.txt +++ /dev/null @@ -1,26 +0,0 @@ -SOURCE_FILE@[0; 26) - FN_DEF@[0; 25) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 4) - IDENT@[3; 4) "f" - PARAM_LIST@[4; 22) - L_PAREN@[4; 5) "(" - ATTR@[5; 16) - POUND@[5; 6) "#" - L_BRACK@[6; 7) "[" - PATH@[7; 15) - PATH_SEGMENT@[7; 15) - NAME_REF@[7; 15) - IDENT@[7; 15) "must_use" - R_BRACK@[15; 16) "]" - WHITESPACE@[16; 17) " " - SELF_PARAM@[17; 21) - SELF_KW@[17; 21) "self" - R_PAREN@[21; 22) ")" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast new file mode 100644 index 000000000..cf202c94b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast @@ -0,0 +1,35 @@ +SOURCE_FILE@[0; 28) + FN_DEF@[0; 27) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 4) + IDENT@[3; 4) "f" + PARAM_LIST@[4; 24) + L_PAREN@[4; 5) "(" + ATTR@[5; 13) + POUND@[5; 6) "#" + L_BRACK@[6; 7) "[" + PATH@[7; 12) + PATH_SEGMENT@[7; 12) + NAME_REF@[7; 12) + IDENT@[7; 12) "attr1" + R_BRACK@[12; 13) "]" + WHITESPACE@[13; 14) " " + PARAM@[14; 23) + BIND_PAT@[14; 17) + NAME@[14; 17) + IDENT@[14; 17) "pat" + COLON@[17; 18) ":" + WHITESPACE@[18; 19) " " + PATH_TYPE@[19; 23) + PATH@[19; 23) + PATH_SEGMENT@[19; 23) + NAME_REF@[19; 23) + IDENT@[19; 23) "Type" + R_PAREN@[23; 24) ")" + WHITESPACE@[24; 25) " " + BLOCK_EXPR@[25; 27) + BLOCK@[25; 27) + L_CURLY@[25; 26) "{" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.txt b/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.txt deleted file mode 100644 index cf202c94b..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.txt +++ /dev/null @@ -1,35 +0,0 @@ -SOURCE_FILE@[0; 28) - FN_DEF@[0; 27) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 4) - IDENT@[3; 4) "f" - PARAM_LIST@[4; 24) - L_PAREN@[4; 5) "(" - ATTR@[5; 13) - POUND@[5; 6) "#" - L_BRACK@[6; 7) "[" - PATH@[7; 12) - PATH_SEGMENT@[7; 12) - NAME_REF@[7; 12) - IDENT@[7; 12) "attr1" - R_BRACK@[12; 13) "]" - WHITESPACE@[13; 14) " " - PARAM@[14; 23) - BIND_PAT@[14; 17) - NAME@[14; 17) - IDENT@[14; 17) "pat" - COLON@[17; 18) ":" - WHITESPACE@[18; 19) " " - PATH_TYPE@[19; 23) - PATH@[19; 23) - PATH_SEGMENT@[19; 23) - NAME_REF@[19; 23) - IDENT@[19; 23) "Type" - R_PAREN@[23; 24) ")" - WHITESPACE@[24; 25) " " - BLOCK_EXPR@[25; 27) - BLOCK@[25; 27) - L_CURLY@[25; 26) "{" - R_CURLY@[26; 27) "}" - WHITESPACE@[27; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast b/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast new file mode 100644 index 000000000..eec1cba1e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast @@ -0,0 +1,42 @@ +SOURCE_FILE@[0; 51) + FN_DEF@[0; 50) + 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; 50) + BLOCK@[9; 50) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 14) "\n " + FOR_EXPR@[14; 48) + FOR_KW@[14; 17) "for" + WHITESPACE@[17; 18) " " + BIND_PAT@[18; 19) + NAME@[18; 19) + IDENT@[18; 19) "x" + WHITESPACE@[19; 20) " " + IN_KW@[20; 22) "in" + WHITESPACE@[22; 23) " " + RANGE_EXPR@[23; 27) + LITERAL@[23; 24) + INT_NUMBER@[23; 24) "0" + WHITESPACE@[24; 25) " " + DOTDOT@[25; 27) ".." + WHITESPACE@[27; 28) " " + BLOCK_EXPR@[28; 48) + BLOCK@[28; 48) + L_CURLY@[28; 29) "{" + WHITESPACE@[29; 37) "\n " + EXPR_STMT@[37; 43) + BREAK_EXPR@[37; 42) + BREAK_KW@[37; 42) "break" + SEMI@[42; 43) ";" + WHITESPACE@[43; 47) "\n " + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 49) "\n" + R_CURLY@[49; 50) "}" + WHITESPACE@[50; 51) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.txt b/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.txt deleted file mode 100644 index eec1cba1e..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.txt +++ /dev/null @@ -1,42 +0,0 @@ -SOURCE_FILE@[0; 51) - FN_DEF@[0; 50) - 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; 50) - BLOCK@[9; 50) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 14) "\n " - FOR_EXPR@[14; 48) - FOR_KW@[14; 17) "for" - WHITESPACE@[17; 18) " " - BIND_PAT@[18; 19) - NAME@[18; 19) - IDENT@[18; 19) "x" - WHITESPACE@[19; 20) " " - IN_KW@[20; 22) "in" - WHITESPACE@[22; 23) " " - RANGE_EXPR@[23; 27) - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "0" - WHITESPACE@[24; 25) " " - DOTDOT@[25; 27) ".." - WHITESPACE@[27; 28) " " - BLOCK_EXPR@[28; 48) - BLOCK@[28; 48) - L_CURLY@[28; 29) "{" - WHITESPACE@[29; 37) "\n " - EXPR_STMT@[37; 43) - BREAK_EXPR@[37; 42) - BREAK_KW@[37; 42) "break" - SEMI@[42; 43) ";" - WHITESPACE@[43; 47) "\n " - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 49) "\n" - R_CURLY@[49; 50) "}" - WHITESPACE@[50; 51) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast new file mode 100644 index 000000000..4d2048711 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast @@ -0,0 +1,110 @@ +SOURCE_FILE@[0; 118) + FN_DEF@[0; 117) + 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; 117) + BLOCK@[10; 117) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 31) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + BOX_PAT@[20; 25) + BOX_KW@[20; 23) "box" + WHITESPACE@[23; 24) " " + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "i" + WHITESPACE@[25; 26) " " + EQ@[26; 27) "=" + WHITESPACE@[27; 28) " " + TUPLE_EXPR@[28; 30) + L_PAREN@[28; 29) "(" + R_PAREN@[29; 30) ")" + SEMI@[30; 31) ";" + WHITESPACE@[31; 36) "\n " + LET_STMT@[36; 87) + LET_KW@[36; 39) "let" + WHITESPACE@[39; 40) " " + BOX_PAT@[40; 81) + BOX_KW@[40; 43) "box" + WHITESPACE@[43; 44) " " + RECORD_PAT@[44; 81) + PATH@[44; 49) + PATH_SEGMENT@[44; 49) + NAME_REF@[44; 49) + IDENT@[44; 49) "Outer" + WHITESPACE@[49; 50) " " + RECORD_FIELD_PAT_LIST@[50; 81) + L_CURLY@[50; 51) "{" + WHITESPACE@[51; 52) " " + BOX_PAT@[52; 57) + BOX_KW@[52; 55) "box" + WHITESPACE@[55; 56) " " + BIND_PAT@[56; 57) + NAME@[56; 57) + IDENT@[56; 57) "i" + COMMA@[57; 58) "," + WHITESPACE@[58; 59) " " + RECORD_FIELD_PAT@[59; 79) + NAME@[59; 60) + IDENT@[59; 60) "j" + COLON@[60; 61) ":" + WHITESPACE@[61; 62) " " + BOX_PAT@[62; 79) + BOX_KW@[62; 65) "box" + WHITESPACE@[65; 66) " " + TUPLE_STRUCT_PAT@[66; 79) + PATH@[66; 71) + PATH_SEGMENT@[66; 71) + NAME_REF@[66; 71) + IDENT@[66; 71) "Inner" + L_PAREN@[71; 72) "(" + BOX_PAT@[72; 78) + BOX_KW@[72; 75) "box" + WHITESPACE@[75; 76) " " + REF_PAT@[76; 78) + AMP@[76; 77) "&" + BIND_PAT@[77; 78) + NAME@[77; 78) + IDENT@[77; 78) "x" + R_PAREN@[78; 79) ")" + WHITESPACE@[79; 80) " " + R_CURLY@[80; 81) "}" + 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; 92) "\n " + LET_STMT@[92; 115) + LET_KW@[92; 95) "let" + WHITESPACE@[95; 96) " " + BOX_PAT@[96; 109) + BOX_KW@[96; 99) "box" + WHITESPACE@[99; 100) " " + BIND_PAT@[100; 109) + REF_KW@[100; 103) "ref" + WHITESPACE@[103; 104) " " + MUT_KW@[104; 107) "mut" + WHITESPACE@[107; 108) " " + NAME@[108; 109) + IDENT@[108; 109) "i" + WHITESPACE@[109; 110) " " + EQ@[110; 111) "=" + WHITESPACE@[111; 112) " " + TUPLE_EXPR@[112; 114) + L_PAREN@[112; 113) "(" + R_PAREN@[113; 114) ")" + SEMI@[114; 115) ";" + WHITESPACE@[115; 116) "\n" + R_CURLY@[116; 117) "}" + WHITESPACE@[117; 118) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.txt deleted file mode 100644 index 4d2048711..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.txt +++ /dev/null @@ -1,110 +0,0 @@ -SOURCE_FILE@[0; 118) - FN_DEF@[0; 117) - 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; 117) - BLOCK@[10; 117) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 31) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - BOX_PAT@[20; 25) - BOX_KW@[20; 23) "box" - WHITESPACE@[23; 24) " " - BIND_PAT@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "i" - WHITESPACE@[25; 26) " " - EQ@[26; 27) "=" - WHITESPACE@[27; 28) " " - TUPLE_EXPR@[28; 30) - L_PAREN@[28; 29) "(" - R_PAREN@[29; 30) ")" - SEMI@[30; 31) ";" - WHITESPACE@[31; 36) "\n " - LET_STMT@[36; 87) - LET_KW@[36; 39) "let" - WHITESPACE@[39; 40) " " - BOX_PAT@[40; 81) - BOX_KW@[40; 43) "box" - WHITESPACE@[43; 44) " " - RECORD_PAT@[44; 81) - PATH@[44; 49) - PATH_SEGMENT@[44; 49) - NAME_REF@[44; 49) - IDENT@[44; 49) "Outer" - WHITESPACE@[49; 50) " " - RECORD_FIELD_PAT_LIST@[50; 81) - L_CURLY@[50; 51) "{" - WHITESPACE@[51; 52) " " - BOX_PAT@[52; 57) - BOX_KW@[52; 55) "box" - WHITESPACE@[55; 56) " " - BIND_PAT@[56; 57) - NAME@[56; 57) - IDENT@[56; 57) "i" - COMMA@[57; 58) "," - WHITESPACE@[58; 59) " " - RECORD_FIELD_PAT@[59; 79) - NAME@[59; 60) - IDENT@[59; 60) "j" - COLON@[60; 61) ":" - WHITESPACE@[61; 62) " " - BOX_PAT@[62; 79) - BOX_KW@[62; 65) "box" - WHITESPACE@[65; 66) " " - TUPLE_STRUCT_PAT@[66; 79) - PATH@[66; 71) - PATH_SEGMENT@[66; 71) - NAME_REF@[66; 71) - IDENT@[66; 71) "Inner" - L_PAREN@[71; 72) "(" - BOX_PAT@[72; 78) - BOX_KW@[72; 75) "box" - WHITESPACE@[75; 76) " " - REF_PAT@[76; 78) - AMP@[76; 77) "&" - BIND_PAT@[77; 78) - NAME@[77; 78) - IDENT@[77; 78) "x" - R_PAREN@[78; 79) ")" - WHITESPACE@[79; 80) " " - R_CURLY@[80; 81) "}" - 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; 92) "\n " - LET_STMT@[92; 115) - LET_KW@[92; 95) "let" - WHITESPACE@[95; 96) " " - BOX_PAT@[96; 109) - BOX_KW@[96; 99) "box" - WHITESPACE@[99; 100) " " - BIND_PAT@[100; 109) - REF_KW@[100; 103) "ref" - WHITESPACE@[103; 104) " " - MUT_KW@[104; 107) "mut" - WHITESPACE@[107; 108) " " - NAME@[108; 109) - IDENT@[108; 109) "i" - WHITESPACE@[109; 110) " " - EQ@[110; 111) "=" - WHITESPACE@[111; 112) " " - TUPLE_EXPR@[112; 114) - L_PAREN@[112; 113) "(" - R_PAREN@[113; 114) ")" - SEMI@[114; 115) ";" - WHITESPACE@[115; 116) "\n" - R_CURLY@[116; 117) "}" - WHITESPACE@[117; 118) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast new file mode 100644 index 000000000..325b1bd08 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast @@ -0,0 +1,456 @@ +SOURCE_FILE@[0; 555) + FN_DEF@[0; 554) + 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; 554) + BLOCK@[10; 554) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 28) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + DOT_DOT_PAT@[20; 22) + DOTDOT@[20; 22) ".." + WHITESPACE@[22; 23) " " + EQ@[23; 24) "=" + WHITESPACE@[24; 25) " " + TUPLE_EXPR@[25; 27) + L_PAREN@[25; 26) "(" + R_PAREN@[26; 27) ")" + SEMI@[27; 28) ";" + WHITESPACE@[28; 33) "\n " + COMMENT@[33; 35) "//" + WHITESPACE@[35; 40) "\n " + COMMENT@[40; 49) "// Tuples" + WHITESPACE@[49; 54) "\n " + COMMENT@[54; 56) "//" + WHITESPACE@[56; 61) "\n " + LET_STMT@[61; 78) + LET_KW@[61; 64) "let" + WHITESPACE@[64; 65) " " + TUPLE_PAT@[65; 72) + L_PAREN@[65; 66) "(" + BIND_PAT@[66; 67) + NAME@[66; 67) + IDENT@[66; 67) "a" + COMMA@[67; 68) "," + WHITESPACE@[68; 69) " " + DOT_DOT_PAT@[69; 71) + DOTDOT@[69; 71) ".." + R_PAREN@[71; 72) ")" + WHITESPACE@[72; 73) " " + EQ@[73; 74) "=" + WHITESPACE@[74; 75) " " + TUPLE_EXPR@[75; 77) + L_PAREN@[75; 76) "(" + R_PAREN@[76; 77) ")" + SEMI@[77; 78) ";" + WHITESPACE@[78; 83) "\n " + LET_STMT@[83; 101) + LET_KW@[83; 86) "let" + WHITESPACE@[86; 87) " " + TUPLE_PAT@[87; 95) + L_PAREN@[87; 88) "(" + BIND_PAT@[88; 89) + NAME@[88; 89) + IDENT@[88; 89) "a" + COMMA@[89; 90) "," + WHITESPACE@[90; 91) " " + DOT_DOT_PAT@[91; 93) + DOTDOT@[91; 93) ".." + COMMA@[93; 94) "," + R_PAREN@[94; 95) ")" + WHITESPACE@[95; 96) " " + EQ@[96; 97) "=" + WHITESPACE@[97; 98) " " + TUPLE_EXPR@[98; 100) + L_PAREN@[98; 99) "(" + R_PAREN@[99; 100) ")" + SEMI@[100; 101) ";" + WHITESPACE@[101; 106) "\n " + LET_STMT@[106; 128) + LET_KW@[106; 109) "let" + WHITESPACE@[109; 110) " " + TUPLE_STRUCT_PAT@[110; 122) + PATH@[110; 115) + PATH_SEGMENT@[110; 115) + NAME_REF@[110; 115) + IDENT@[110; 115) "Tuple" + L_PAREN@[115; 116) "(" + BIND_PAT@[116; 117) + NAME@[116; 117) + IDENT@[116; 117) "a" + COMMA@[117; 118) "," + WHITESPACE@[118; 119) " " + DOT_DOT_PAT@[119; 121) + DOTDOT@[119; 121) ".." + R_PAREN@[121; 122) ")" + WHITESPACE@[122; 123) " " + EQ@[123; 124) "=" + WHITESPACE@[124; 125) " " + TUPLE_EXPR@[125; 127) + L_PAREN@[125; 126) "(" + R_PAREN@[126; 127) ")" + SEMI@[127; 128) ";" + WHITESPACE@[128; 133) "\n " + LET_STMT@[133; 156) + LET_KW@[133; 136) "let" + WHITESPACE@[136; 137) " " + TUPLE_STRUCT_PAT@[137; 150) + PATH@[137; 142) + PATH_SEGMENT@[137; 142) + NAME_REF@[137; 142) + IDENT@[137; 142) "Tuple" + L_PAREN@[142; 143) "(" + BIND_PAT@[143; 144) + NAME@[143; 144) + IDENT@[143; 144) "a" + COMMA@[144; 145) "," + WHITESPACE@[145; 146) " " + DOT_DOT_PAT@[146; 148) + DOTDOT@[146; 148) ".." + COMMA@[148; 149) "," + R_PAREN@[149; 150) ")" + WHITESPACE@[150; 151) " " + EQ@[151; 152) "=" + WHITESPACE@[152; 153) " " + TUPLE_EXPR@[153; 155) + L_PAREN@[153; 154) "(" + R_PAREN@[154; 155) ")" + SEMI@[155; 156) ";" + WHITESPACE@[156; 161) "\n " + LET_STMT@[161; 179) + LET_KW@[161; 164) "let" + WHITESPACE@[164; 165) " " + TUPLE_PAT@[165; 173) + L_PAREN@[165; 166) "(" + DOT_DOT_PAT@[166; 168) + DOTDOT@[166; 168) ".." + COMMA@[168; 169) "," + WHITESPACE@[169; 170) " " + DOT_DOT_PAT@[170; 172) + DOTDOT@[170; 172) ".." + R_PAREN@[172; 173) ")" + WHITESPACE@[173; 174) " " + EQ@[174; 175) "=" + WHITESPACE@[175; 176) " " + TUPLE_EXPR@[176; 178) + L_PAREN@[176; 177) "(" + R_PAREN@[177; 178) ")" + SEMI@[178; 179) ";" + WHITESPACE@[179; 184) "\n " + LET_STMT@[184; 207) + LET_KW@[184; 187) "let" + WHITESPACE@[187; 188) " " + TUPLE_STRUCT_PAT@[188; 201) + PATH@[188; 193) + PATH_SEGMENT@[188; 193) + NAME_REF@[188; 193) + IDENT@[188; 193) "Tuple" + L_PAREN@[193; 194) "(" + DOT_DOT_PAT@[194; 196) + DOTDOT@[194; 196) ".." + COMMA@[196; 197) "," + WHITESPACE@[197; 198) " " + DOT_DOT_PAT@[198; 200) + DOTDOT@[198; 200) ".." + R_PAREN@[200; 201) ")" + WHITESPACE@[201; 202) " " + EQ@[202; 203) "=" + WHITESPACE@[203; 204) " " + TUPLE_EXPR@[204; 206) + L_PAREN@[204; 205) "(" + R_PAREN@[205; 206) ")" + SEMI@[206; 207) ";" + WHITESPACE@[207; 212) "\n " + LET_STMT@[212; 233) + LET_KW@[212; 215) "let" + WHITESPACE@[215; 216) " " + TUPLE_PAT@[216; 227) + L_PAREN@[216; 217) "(" + DOT_DOT_PAT@[217; 219) + DOTDOT@[217; 219) ".." + COMMA@[219; 220) "," + WHITESPACE@[220; 221) " " + BIND_PAT@[221; 222) + NAME@[221; 222) + IDENT@[221; 222) "a" + COMMA@[222; 223) "," + WHITESPACE@[223; 224) " " + DOT_DOT_PAT@[224; 226) + DOTDOT@[224; 226) ".." + R_PAREN@[226; 227) ")" + WHITESPACE@[227; 228) " " + EQ@[228; 229) "=" + WHITESPACE@[229; 230) " " + TUPLE_EXPR@[230; 232) + L_PAREN@[230; 231) "(" + R_PAREN@[231; 232) ")" + SEMI@[232; 233) ";" + WHITESPACE@[233; 238) "\n " + LET_STMT@[238; 264) + LET_KW@[238; 241) "let" + WHITESPACE@[241; 242) " " + TUPLE_STRUCT_PAT@[242; 258) + PATH@[242; 247) + PATH_SEGMENT@[242; 247) + NAME_REF@[242; 247) + IDENT@[242; 247) "Tuple" + L_PAREN@[247; 248) "(" + DOT_DOT_PAT@[248; 250) + DOTDOT@[248; 250) ".." + COMMA@[250; 251) "," + WHITESPACE@[251; 252) " " + BIND_PAT@[252; 253) + NAME@[252; 253) + IDENT@[252; 253) "a" + COMMA@[253; 254) "," + WHITESPACE@[254; 255) " " + DOT_DOT_PAT@[255; 257) + DOTDOT@[255; 257) ".." + R_PAREN@[257; 258) ")" + WHITESPACE@[258; 259) " " + EQ@[259; 260) "=" + WHITESPACE@[260; 261) " " + TUPLE_EXPR@[261; 263) + L_PAREN@[261; 262) "(" + R_PAREN@[262; 263) ")" + SEMI@[263; 264) ";" + WHITESPACE@[264; 269) "\n " + COMMENT@[269; 271) "//" + WHITESPACE@[271; 276) "\n " + COMMENT@[276; 285) "// Slices" + WHITESPACE@[285; 290) "\n " + COMMENT@[290; 292) "//" + WHITESPACE@[292; 297) "\n " + LET_STMT@[297; 311) + LET_KW@[297; 300) "let" + WHITESPACE@[300; 301) " " + SLICE_PAT@[301; 305) + L_BRACK@[301; 302) "[" + DOT_DOT_PAT@[302; 304) + DOTDOT@[302; 304) ".." + R_BRACK@[304; 305) "]" + WHITESPACE@[305; 306) " " + EQ@[306; 307) "=" + WHITESPACE@[307; 308) " " + TUPLE_EXPR@[308; 310) + L_PAREN@[308; 309) "(" + R_PAREN@[309; 310) ")" + SEMI@[310; 311) ";" + WHITESPACE@[311; 316) "\n " + LET_STMT@[316; 336) + LET_KW@[316; 319) "let" + WHITESPACE@[319; 320) " " + SLICE_PAT@[320; 330) + L_BRACK@[320; 321) "[" + BIND_PAT@[321; 325) + NAME@[321; 325) + IDENT@[321; 325) "head" + COMMA@[325; 326) "," + WHITESPACE@[326; 327) " " + DOT_DOT_PAT@[327; 329) + DOTDOT@[327; 329) ".." + R_BRACK@[329; 330) "]" + WHITESPACE@[330; 331) " " + EQ@[331; 332) "=" + WHITESPACE@[332; 333) " " + TUPLE_EXPR@[333; 335) + L_PAREN@[333; 334) "(" + R_PAREN@[334; 335) ")" + SEMI@[335; 336) ";" + WHITESPACE@[336; 341) "\n " + LET_STMT@[341; 368) + LET_KW@[341; 344) "let" + WHITESPACE@[344; 345) " " + SLICE_PAT@[345; 362) + L_BRACK@[345; 346) "[" + BIND_PAT@[346; 350) + NAME@[346; 350) + IDENT@[346; 350) "head" + COMMA@[350; 351) "," + WHITESPACE@[351; 352) " " + BIND_PAT@[352; 361) + NAME@[352; 356) + IDENT@[352; 356) "tail" + WHITESPACE@[356; 357) " " + AT@[357; 358) "@" + WHITESPACE@[358; 359) " " + DOT_DOT_PAT@[359; 361) + DOTDOT@[359; 361) ".." + R_BRACK@[361; 362) "]" + WHITESPACE@[362; 363) " " + EQ@[363; 364) "=" + WHITESPACE@[364; 365) " " + TUPLE_EXPR@[365; 367) + L_PAREN@[365; 366) "(" + R_PAREN@[366; 367) ")" + SEMI@[367; 368) ";" + WHITESPACE@[368; 373) "\n " + LET_STMT@[373; 399) + LET_KW@[373; 376) "let" + WHITESPACE@[376; 377) " " + SLICE_PAT@[377; 393) + L_BRACK@[377; 378) "[" + BIND_PAT@[378; 382) + NAME@[378; 382) + IDENT@[378; 382) "head" + COMMA@[382; 383) "," + WHITESPACE@[383; 384) " " + DOT_DOT_PAT@[384; 386) + DOTDOT@[384; 386) ".." + COMMA@[386; 387) "," + WHITESPACE@[387; 388) " " + BIND_PAT@[388; 392) + NAME@[388; 392) + IDENT@[388; 392) "cons" + R_BRACK@[392; 393) "]" + WHITESPACE@[393; 394) " " + EQ@[394; 395) "=" + WHITESPACE@[395; 396) " " + TUPLE_EXPR@[396; 398) + L_PAREN@[396; 397) "(" + R_PAREN@[397; 398) ")" + SEMI@[398; 399) ";" + WHITESPACE@[399; 404) "\n " + LET_STMT@[404; 436) + LET_KW@[404; 407) "let" + WHITESPACE@[407; 408) " " + SLICE_PAT@[408; 430) + L_BRACK@[408; 409) "[" + BIND_PAT@[409; 413) + NAME@[409; 413) + IDENT@[409; 413) "head" + COMMA@[413; 414) "," + WHITESPACE@[414; 415) " " + BIND_PAT@[415; 423) + NAME@[415; 418) + IDENT@[415; 418) "mid" + WHITESPACE@[418; 419) " " + AT@[419; 420) "@" + WHITESPACE@[420; 421) " " + DOT_DOT_PAT@[421; 423) + DOTDOT@[421; 423) ".." + COMMA@[423; 424) "," + WHITESPACE@[424; 425) " " + BIND_PAT@[425; 429) + NAME@[425; 429) + IDENT@[425; 429) "cons" + R_BRACK@[429; 430) "]" + WHITESPACE@[430; 431) " " + EQ@[431; 432) "=" + WHITESPACE@[432; 433) " " + TUPLE_EXPR@[433; 435) + L_PAREN@[433; 434) "(" + R_PAREN@[434; 435) ")" + SEMI@[435; 436) ";" + WHITESPACE@[436; 441) "\n " + LET_STMT@[441; 471) + LET_KW@[441; 444) "let" + WHITESPACE@[444; 445) " " + SLICE_PAT@[445; 465) + L_BRACK@[445; 446) "[" + BIND_PAT@[446; 450) + NAME@[446; 450) + IDENT@[446; 450) "head" + COMMA@[450; 451) "," + WHITESPACE@[451; 452) " " + DOT_DOT_PAT@[452; 454) + DOTDOT@[452; 454) ".." + COMMA@[454; 455) "," + WHITESPACE@[455; 456) " " + DOT_DOT_PAT@[456; 458) + DOTDOT@[456; 458) ".." + COMMA@[458; 459) "," + WHITESPACE@[459; 460) " " + BIND_PAT@[460; 464) + NAME@[460; 464) + IDENT@[460; 464) "cons" + R_BRACK@[464; 465) "]" + WHITESPACE@[465; 466) " " + EQ@[466; 467) "=" + WHITESPACE@[467; 468) " " + TUPLE_EXPR@[468; 470) + L_PAREN@[468; 469) "(" + R_PAREN@[469; 470) ")" + SEMI@[470; 471) ";" + WHITESPACE@[471; 476) "\n " + LET_STMT@[476; 512) + LET_KW@[476; 479) "let" + WHITESPACE@[479; 480) " " + SLICE_PAT@[480; 506) + L_BRACK@[480; 481) "[" + BIND_PAT@[481; 485) + NAME@[481; 485) + IDENT@[481; 485) "head" + COMMA@[485; 486) "," + WHITESPACE@[486; 487) " " + DOT_DOT_PAT@[487; 489) + DOTDOT@[487; 489) ".." + COMMA@[489; 490) "," + WHITESPACE@[490; 491) " " + BIND_PAT@[491; 494) + NAME@[491; 494) + IDENT@[491; 494) "mid" + COMMA@[494; 495) "," + WHITESPACE@[495; 496) " " + BIND_PAT@[496; 505) + NAME@[496; 500) + IDENT@[496; 500) "tail" + WHITESPACE@[500; 501) " " + AT@[501; 502) "@" + WHITESPACE@[502; 503) " " + DOT_DOT_PAT@[503; 505) + DOTDOT@[503; 505) ".." + R_BRACK@[505; 506) "]" + WHITESPACE@[506; 507) " " + EQ@[507; 508) "=" + WHITESPACE@[508; 509) " " + TUPLE_EXPR@[509; 511) + L_PAREN@[509; 510) "(" + R_PAREN@[510; 511) ")" + SEMI@[511; 512) ";" + WHITESPACE@[512; 517) "\n " + LET_STMT@[517; 552) + LET_KW@[517; 520) "let" + WHITESPACE@[520; 521) " " + SLICE_PAT@[521; 546) + L_BRACK@[521; 522) "[" + BIND_PAT@[522; 526) + NAME@[522; 526) + IDENT@[522; 526) "head" + COMMA@[526; 527) "," + WHITESPACE@[527; 528) " " + DOT_DOT_PAT@[528; 530) + DOTDOT@[528; 530) ".." + COMMA@[530; 531) "," + WHITESPACE@[531; 532) " " + BIND_PAT@[532; 535) + NAME@[532; 535) + IDENT@[532; 535) "mid" + COMMA@[535; 536) "," + WHITESPACE@[536; 537) " " + DOT_DOT_PAT@[537; 539) + DOTDOT@[537; 539) ".." + COMMA@[539; 540) "," + WHITESPACE@[540; 541) " " + BIND_PAT@[541; 545) + NAME@[541; 545) + IDENT@[541; 545) "cons" + R_BRACK@[545; 546) "]" + WHITESPACE@[546; 547) " " + EQ@[547; 548) "=" + WHITESPACE@[548; 549) " " + TUPLE_EXPR@[549; 551) + L_PAREN@[549; 550) "(" + R_PAREN@[550; 551) ")" + SEMI@[551; 552) ";" + WHITESPACE@[552; 553) "\n" + R_CURLY@[553; 554) "}" + WHITESPACE@[554; 555) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.txt deleted file mode 100644 index 325b1bd08..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.txt +++ /dev/null @@ -1,456 +0,0 @@ -SOURCE_FILE@[0; 555) - FN_DEF@[0; 554) - 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; 554) - BLOCK@[10; 554) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 28) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - DOT_DOT_PAT@[20; 22) - DOTDOT@[20; 22) ".." - WHITESPACE@[22; 23) " " - EQ@[23; 24) "=" - WHITESPACE@[24; 25) " " - TUPLE_EXPR@[25; 27) - L_PAREN@[25; 26) "(" - R_PAREN@[26; 27) ")" - SEMI@[27; 28) ";" - WHITESPACE@[28; 33) "\n " - COMMENT@[33; 35) "//" - WHITESPACE@[35; 40) "\n " - COMMENT@[40; 49) "// Tuples" - WHITESPACE@[49; 54) "\n " - COMMENT@[54; 56) "//" - WHITESPACE@[56; 61) "\n " - LET_STMT@[61; 78) - LET_KW@[61; 64) "let" - WHITESPACE@[64; 65) " " - TUPLE_PAT@[65; 72) - L_PAREN@[65; 66) "(" - BIND_PAT@[66; 67) - NAME@[66; 67) - IDENT@[66; 67) "a" - COMMA@[67; 68) "," - WHITESPACE@[68; 69) " " - DOT_DOT_PAT@[69; 71) - DOTDOT@[69; 71) ".." - R_PAREN@[71; 72) ")" - WHITESPACE@[72; 73) " " - EQ@[73; 74) "=" - WHITESPACE@[74; 75) " " - TUPLE_EXPR@[75; 77) - L_PAREN@[75; 76) "(" - R_PAREN@[76; 77) ")" - SEMI@[77; 78) ";" - WHITESPACE@[78; 83) "\n " - LET_STMT@[83; 101) - LET_KW@[83; 86) "let" - WHITESPACE@[86; 87) " " - TUPLE_PAT@[87; 95) - L_PAREN@[87; 88) "(" - BIND_PAT@[88; 89) - NAME@[88; 89) - IDENT@[88; 89) "a" - COMMA@[89; 90) "," - WHITESPACE@[90; 91) " " - DOT_DOT_PAT@[91; 93) - DOTDOT@[91; 93) ".." - COMMA@[93; 94) "," - R_PAREN@[94; 95) ")" - WHITESPACE@[95; 96) " " - EQ@[96; 97) "=" - WHITESPACE@[97; 98) " " - TUPLE_EXPR@[98; 100) - L_PAREN@[98; 99) "(" - R_PAREN@[99; 100) ")" - SEMI@[100; 101) ";" - WHITESPACE@[101; 106) "\n " - LET_STMT@[106; 128) - LET_KW@[106; 109) "let" - WHITESPACE@[109; 110) " " - TUPLE_STRUCT_PAT@[110; 122) - PATH@[110; 115) - PATH_SEGMENT@[110; 115) - NAME_REF@[110; 115) - IDENT@[110; 115) "Tuple" - L_PAREN@[115; 116) "(" - BIND_PAT@[116; 117) - NAME@[116; 117) - IDENT@[116; 117) "a" - COMMA@[117; 118) "," - WHITESPACE@[118; 119) " " - DOT_DOT_PAT@[119; 121) - DOTDOT@[119; 121) ".." - R_PAREN@[121; 122) ")" - WHITESPACE@[122; 123) " " - EQ@[123; 124) "=" - WHITESPACE@[124; 125) " " - TUPLE_EXPR@[125; 127) - L_PAREN@[125; 126) "(" - R_PAREN@[126; 127) ")" - SEMI@[127; 128) ";" - WHITESPACE@[128; 133) "\n " - LET_STMT@[133; 156) - LET_KW@[133; 136) "let" - WHITESPACE@[136; 137) " " - TUPLE_STRUCT_PAT@[137; 150) - PATH@[137; 142) - PATH_SEGMENT@[137; 142) - NAME_REF@[137; 142) - IDENT@[137; 142) "Tuple" - L_PAREN@[142; 143) "(" - BIND_PAT@[143; 144) - NAME@[143; 144) - IDENT@[143; 144) "a" - COMMA@[144; 145) "," - WHITESPACE@[145; 146) " " - DOT_DOT_PAT@[146; 148) - DOTDOT@[146; 148) ".." - COMMA@[148; 149) "," - R_PAREN@[149; 150) ")" - WHITESPACE@[150; 151) " " - EQ@[151; 152) "=" - WHITESPACE@[152; 153) " " - TUPLE_EXPR@[153; 155) - L_PAREN@[153; 154) "(" - R_PAREN@[154; 155) ")" - SEMI@[155; 156) ";" - WHITESPACE@[156; 161) "\n " - LET_STMT@[161; 179) - LET_KW@[161; 164) "let" - WHITESPACE@[164; 165) " " - TUPLE_PAT@[165; 173) - L_PAREN@[165; 166) "(" - DOT_DOT_PAT@[166; 168) - DOTDOT@[166; 168) ".." - COMMA@[168; 169) "," - WHITESPACE@[169; 170) " " - DOT_DOT_PAT@[170; 172) - DOTDOT@[170; 172) ".." - R_PAREN@[172; 173) ")" - WHITESPACE@[173; 174) " " - EQ@[174; 175) "=" - WHITESPACE@[175; 176) " " - TUPLE_EXPR@[176; 178) - L_PAREN@[176; 177) "(" - R_PAREN@[177; 178) ")" - SEMI@[178; 179) ";" - WHITESPACE@[179; 184) "\n " - LET_STMT@[184; 207) - LET_KW@[184; 187) "let" - WHITESPACE@[187; 188) " " - TUPLE_STRUCT_PAT@[188; 201) - PATH@[188; 193) - PATH_SEGMENT@[188; 193) - NAME_REF@[188; 193) - IDENT@[188; 193) "Tuple" - L_PAREN@[193; 194) "(" - DOT_DOT_PAT@[194; 196) - DOTDOT@[194; 196) ".." - COMMA@[196; 197) "," - WHITESPACE@[197; 198) " " - DOT_DOT_PAT@[198; 200) - DOTDOT@[198; 200) ".." - R_PAREN@[200; 201) ")" - WHITESPACE@[201; 202) " " - EQ@[202; 203) "=" - WHITESPACE@[203; 204) " " - TUPLE_EXPR@[204; 206) - L_PAREN@[204; 205) "(" - R_PAREN@[205; 206) ")" - SEMI@[206; 207) ";" - WHITESPACE@[207; 212) "\n " - LET_STMT@[212; 233) - LET_KW@[212; 215) "let" - WHITESPACE@[215; 216) " " - TUPLE_PAT@[216; 227) - L_PAREN@[216; 217) "(" - DOT_DOT_PAT@[217; 219) - DOTDOT@[217; 219) ".." - COMMA@[219; 220) "," - WHITESPACE@[220; 221) " " - BIND_PAT@[221; 222) - NAME@[221; 222) - IDENT@[221; 222) "a" - COMMA@[222; 223) "," - WHITESPACE@[223; 224) " " - DOT_DOT_PAT@[224; 226) - DOTDOT@[224; 226) ".." - R_PAREN@[226; 227) ")" - WHITESPACE@[227; 228) " " - EQ@[228; 229) "=" - WHITESPACE@[229; 230) " " - TUPLE_EXPR@[230; 232) - L_PAREN@[230; 231) "(" - R_PAREN@[231; 232) ")" - SEMI@[232; 233) ";" - WHITESPACE@[233; 238) "\n " - LET_STMT@[238; 264) - LET_KW@[238; 241) "let" - WHITESPACE@[241; 242) " " - TUPLE_STRUCT_PAT@[242; 258) - PATH@[242; 247) - PATH_SEGMENT@[242; 247) - NAME_REF@[242; 247) - IDENT@[242; 247) "Tuple" - L_PAREN@[247; 248) "(" - DOT_DOT_PAT@[248; 250) - DOTDOT@[248; 250) ".." - COMMA@[250; 251) "," - WHITESPACE@[251; 252) " " - BIND_PAT@[252; 253) - NAME@[252; 253) - IDENT@[252; 253) "a" - COMMA@[253; 254) "," - WHITESPACE@[254; 255) " " - DOT_DOT_PAT@[255; 257) - DOTDOT@[255; 257) ".." - R_PAREN@[257; 258) ")" - WHITESPACE@[258; 259) " " - EQ@[259; 260) "=" - WHITESPACE@[260; 261) " " - TUPLE_EXPR@[261; 263) - L_PAREN@[261; 262) "(" - R_PAREN@[262; 263) ")" - SEMI@[263; 264) ";" - WHITESPACE@[264; 269) "\n " - COMMENT@[269; 271) "//" - WHITESPACE@[271; 276) "\n " - COMMENT@[276; 285) "// Slices" - WHITESPACE@[285; 290) "\n " - COMMENT@[290; 292) "//" - WHITESPACE@[292; 297) "\n " - LET_STMT@[297; 311) - LET_KW@[297; 300) "let" - WHITESPACE@[300; 301) " " - SLICE_PAT@[301; 305) - L_BRACK@[301; 302) "[" - DOT_DOT_PAT@[302; 304) - DOTDOT@[302; 304) ".." - R_BRACK@[304; 305) "]" - WHITESPACE@[305; 306) " " - EQ@[306; 307) "=" - WHITESPACE@[307; 308) " " - TUPLE_EXPR@[308; 310) - L_PAREN@[308; 309) "(" - R_PAREN@[309; 310) ")" - SEMI@[310; 311) ";" - WHITESPACE@[311; 316) "\n " - LET_STMT@[316; 336) - LET_KW@[316; 319) "let" - WHITESPACE@[319; 320) " " - SLICE_PAT@[320; 330) - L_BRACK@[320; 321) "[" - BIND_PAT@[321; 325) - NAME@[321; 325) - IDENT@[321; 325) "head" - COMMA@[325; 326) "," - WHITESPACE@[326; 327) " " - DOT_DOT_PAT@[327; 329) - DOTDOT@[327; 329) ".." - R_BRACK@[329; 330) "]" - WHITESPACE@[330; 331) " " - EQ@[331; 332) "=" - WHITESPACE@[332; 333) " " - TUPLE_EXPR@[333; 335) - L_PAREN@[333; 334) "(" - R_PAREN@[334; 335) ")" - SEMI@[335; 336) ";" - WHITESPACE@[336; 341) "\n " - LET_STMT@[341; 368) - LET_KW@[341; 344) "let" - WHITESPACE@[344; 345) " " - SLICE_PAT@[345; 362) - L_BRACK@[345; 346) "[" - BIND_PAT@[346; 350) - NAME@[346; 350) - IDENT@[346; 350) "head" - COMMA@[350; 351) "," - WHITESPACE@[351; 352) " " - BIND_PAT@[352; 361) - NAME@[352; 356) - IDENT@[352; 356) "tail" - WHITESPACE@[356; 357) " " - AT@[357; 358) "@" - WHITESPACE@[358; 359) " " - DOT_DOT_PAT@[359; 361) - DOTDOT@[359; 361) ".." - R_BRACK@[361; 362) "]" - WHITESPACE@[362; 363) " " - EQ@[363; 364) "=" - WHITESPACE@[364; 365) " " - TUPLE_EXPR@[365; 367) - L_PAREN@[365; 366) "(" - R_PAREN@[366; 367) ")" - SEMI@[367; 368) ";" - WHITESPACE@[368; 373) "\n " - LET_STMT@[373; 399) - LET_KW@[373; 376) "let" - WHITESPACE@[376; 377) " " - SLICE_PAT@[377; 393) - L_BRACK@[377; 378) "[" - BIND_PAT@[378; 382) - NAME@[378; 382) - IDENT@[378; 382) "head" - COMMA@[382; 383) "," - WHITESPACE@[383; 384) " " - DOT_DOT_PAT@[384; 386) - DOTDOT@[384; 386) ".." - COMMA@[386; 387) "," - WHITESPACE@[387; 388) " " - BIND_PAT@[388; 392) - NAME@[388; 392) - IDENT@[388; 392) "cons" - R_BRACK@[392; 393) "]" - WHITESPACE@[393; 394) " " - EQ@[394; 395) "=" - WHITESPACE@[395; 396) " " - TUPLE_EXPR@[396; 398) - L_PAREN@[396; 397) "(" - R_PAREN@[397; 398) ")" - SEMI@[398; 399) ";" - WHITESPACE@[399; 404) "\n " - LET_STMT@[404; 436) - LET_KW@[404; 407) "let" - WHITESPACE@[407; 408) " " - SLICE_PAT@[408; 430) - L_BRACK@[408; 409) "[" - BIND_PAT@[409; 413) - NAME@[409; 413) - IDENT@[409; 413) "head" - COMMA@[413; 414) "," - WHITESPACE@[414; 415) " " - BIND_PAT@[415; 423) - NAME@[415; 418) - IDENT@[415; 418) "mid" - WHITESPACE@[418; 419) " " - AT@[419; 420) "@" - WHITESPACE@[420; 421) " " - DOT_DOT_PAT@[421; 423) - DOTDOT@[421; 423) ".." - COMMA@[423; 424) "," - WHITESPACE@[424; 425) " " - BIND_PAT@[425; 429) - NAME@[425; 429) - IDENT@[425; 429) "cons" - R_BRACK@[429; 430) "]" - WHITESPACE@[430; 431) " " - EQ@[431; 432) "=" - WHITESPACE@[432; 433) " " - TUPLE_EXPR@[433; 435) - L_PAREN@[433; 434) "(" - R_PAREN@[434; 435) ")" - SEMI@[435; 436) ";" - WHITESPACE@[436; 441) "\n " - LET_STMT@[441; 471) - LET_KW@[441; 444) "let" - WHITESPACE@[444; 445) " " - SLICE_PAT@[445; 465) - L_BRACK@[445; 446) "[" - BIND_PAT@[446; 450) - NAME@[446; 450) - IDENT@[446; 450) "head" - COMMA@[450; 451) "," - WHITESPACE@[451; 452) " " - DOT_DOT_PAT@[452; 454) - DOTDOT@[452; 454) ".." - COMMA@[454; 455) "," - WHITESPACE@[455; 456) " " - DOT_DOT_PAT@[456; 458) - DOTDOT@[456; 458) ".." - COMMA@[458; 459) "," - WHITESPACE@[459; 460) " " - BIND_PAT@[460; 464) - NAME@[460; 464) - IDENT@[460; 464) "cons" - R_BRACK@[464; 465) "]" - WHITESPACE@[465; 466) " " - EQ@[466; 467) "=" - WHITESPACE@[467; 468) " " - TUPLE_EXPR@[468; 470) - L_PAREN@[468; 469) "(" - R_PAREN@[469; 470) ")" - SEMI@[470; 471) ";" - WHITESPACE@[471; 476) "\n " - LET_STMT@[476; 512) - LET_KW@[476; 479) "let" - WHITESPACE@[479; 480) " " - SLICE_PAT@[480; 506) - L_BRACK@[480; 481) "[" - BIND_PAT@[481; 485) - NAME@[481; 485) - IDENT@[481; 485) "head" - COMMA@[485; 486) "," - WHITESPACE@[486; 487) " " - DOT_DOT_PAT@[487; 489) - DOTDOT@[487; 489) ".." - COMMA@[489; 490) "," - WHITESPACE@[490; 491) " " - BIND_PAT@[491; 494) - NAME@[491; 494) - IDENT@[491; 494) "mid" - COMMA@[494; 495) "," - WHITESPACE@[495; 496) " " - BIND_PAT@[496; 505) - NAME@[496; 500) - IDENT@[496; 500) "tail" - WHITESPACE@[500; 501) " " - AT@[501; 502) "@" - WHITESPACE@[502; 503) " " - DOT_DOT_PAT@[503; 505) - DOTDOT@[503; 505) ".." - R_BRACK@[505; 506) "]" - WHITESPACE@[506; 507) " " - EQ@[507; 508) "=" - WHITESPACE@[508; 509) " " - TUPLE_EXPR@[509; 511) - L_PAREN@[509; 510) "(" - R_PAREN@[510; 511) ")" - SEMI@[511; 512) ";" - WHITESPACE@[512; 517) "\n " - LET_STMT@[517; 552) - LET_KW@[517; 520) "let" - WHITESPACE@[520; 521) " " - SLICE_PAT@[521; 546) - L_BRACK@[521; 522) "[" - BIND_PAT@[522; 526) - NAME@[522; 526) - IDENT@[522; 526) "head" - COMMA@[526; 527) "," - WHITESPACE@[527; 528) " " - DOT_DOT_PAT@[528; 530) - DOTDOT@[528; 530) ".." - COMMA@[530; 531) "," - WHITESPACE@[531; 532) " " - BIND_PAT@[532; 535) - NAME@[532; 535) - IDENT@[532; 535) "mid" - COMMA@[535; 536) "," - WHITESPACE@[536; 537) " " - DOT_DOT_PAT@[537; 539) - DOTDOT@[537; 539) ".." - COMMA@[539; 540) "," - WHITESPACE@[540; 541) " " - BIND_PAT@[541; 545) - NAME@[541; 545) - IDENT@[541; 545) "cons" - R_BRACK@[545; 546) "]" - WHITESPACE@[546; 547) " " - EQ@[547; 548) "=" - WHITESPACE@[548; 549) " " - TUPLE_EXPR@[549; 551) - L_PAREN@[549; 550) "(" - R_PAREN@[550; 551) ")" - SEMI@[551; 552) ";" - WHITESPACE@[552; 553) "\n" - R_CURLY@[553; 554) "}" - WHITESPACE@[554; 555) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast new file mode 100644 index 000000000..06fbdfabf --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast @@ -0,0 +1,75 @@ +SOURCE_FILE@[0; 63) + FN_DEF@[0; 62) + 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; 62) + BLOCK@[9; 62) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 35) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + RECORD_PAT@[19; 29) + PATH@[19; 20) + PATH_SEGMENT@[19; 20) + NAME_REF@[19; 20) + IDENT@[19; 20) "S" + WHITESPACE@[20; 21) " " + RECORD_FIELD_PAT_LIST@[21; 29) + L_CURLY@[21; 22) "{" + WHITESPACE@[22; 23) " " + RECORD_FIELD_PAT@[23; 27) + INT_NUMBER@[23; 24) "0" + COLON@[24; 25) ":" + WHITESPACE@[25; 26) " " + LITERAL_PAT@[26; 27) + LITERAL@[26; 27) + INT_NUMBER@[26; 27) "1" + WHITESPACE@[27; 28) " " + R_CURLY@[28; 29) "}" + 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; 60) + LET_KW@[40; 43) "let" + WHITESPACE@[43; 44) " " + RECORD_PAT@[44; 54) + PATH@[44; 45) + PATH_SEGMENT@[44; 45) + NAME_REF@[44; 45) + IDENT@[44; 45) "S" + WHITESPACE@[45; 46) " " + RECORD_FIELD_PAT_LIST@[46; 54) + L_CURLY@[46; 47) "{" + WHITESPACE@[47; 48) " " + RECORD_FIELD_PAT@[48; 52) + NAME@[48; 49) + IDENT@[48; 49) "x" + COLON@[49; 50) ":" + WHITESPACE@[50; 51) " " + LITERAL_PAT@[51; 52) + LITERAL@[51; 52) + INT_NUMBER@[51; 52) "1" + WHITESPACE@[52; 53) " " + R_CURLY@[53; 54) "}" + WHITESPACE@[54; 55) " " + EQ@[55; 56) "=" + WHITESPACE@[56; 57) " " + TUPLE_EXPR@[57; 59) + L_PAREN@[57; 58) "(" + R_PAREN@[58; 59) ")" + SEMI@[59; 60) ";" + WHITESPACE@[60; 61) "\n" + R_CURLY@[61; 62) "}" + WHITESPACE@[62; 63) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.txt b/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.txt deleted file mode 100644 index 06fbdfabf..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.txt +++ /dev/null @@ -1,75 +0,0 @@ -SOURCE_FILE@[0; 63) - FN_DEF@[0; 62) - 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; 62) - BLOCK@[9; 62) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 35) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - RECORD_PAT@[19; 29) - PATH@[19; 20) - PATH_SEGMENT@[19; 20) - NAME_REF@[19; 20) - IDENT@[19; 20) "S" - WHITESPACE@[20; 21) " " - RECORD_FIELD_PAT_LIST@[21; 29) - L_CURLY@[21; 22) "{" - WHITESPACE@[22; 23) " " - RECORD_FIELD_PAT@[23; 27) - INT_NUMBER@[23; 24) "0" - COLON@[24; 25) ":" - WHITESPACE@[25; 26) " " - LITERAL_PAT@[26; 27) - LITERAL@[26; 27) - INT_NUMBER@[26; 27) "1" - WHITESPACE@[27; 28) " " - R_CURLY@[28; 29) "}" - 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; 60) - LET_KW@[40; 43) "let" - WHITESPACE@[43; 44) " " - RECORD_PAT@[44; 54) - PATH@[44; 45) - PATH_SEGMENT@[44; 45) - NAME_REF@[44; 45) - IDENT@[44; 45) "S" - WHITESPACE@[45; 46) " " - RECORD_FIELD_PAT_LIST@[46; 54) - L_CURLY@[46; 47) "{" - WHITESPACE@[47; 48) " " - RECORD_FIELD_PAT@[48; 52) - NAME@[48; 49) - IDENT@[48; 49) "x" - COLON@[49; 50) ":" - WHITESPACE@[50; 51) " " - LITERAL_PAT@[51; 52) - LITERAL@[51; 52) - INT_NUMBER@[51; 52) "1" - WHITESPACE@[52; 53) " " - R_CURLY@[53; 54) "}" - WHITESPACE@[54; 55) " " - EQ@[55; 56) "=" - WHITESPACE@[56; 57) " " - TUPLE_EXPR@[57; 59) - L_PAREN@[57; 58) "(" - R_PAREN@[58; 59) ")" - SEMI@[59; 60) ";" - WHITESPACE@[60; 61) "\n" - R_CURLY@[61; 62) "}" - WHITESPACE@[62; 63) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast new file mode 100644 index 000000000..9e3767fb7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 43) + FN_DEF@[0; 42) + 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; 42) + BLOCK@[9; 42) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + LET_STMT@[15; 40) + LET_KW@[15; 18) "let" + WHITESPACE@[18; 19) " " + PLACEHOLDER_PAT@[19; 20) + UNDERSCORE@[19; 20) "_" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + WHITESPACE@[22; 23) " " + CAST_EXPR@[23; 39) + REF_EXPR@[23; 25) + AMP@[23; 24) "&" + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "1" + WHITESPACE@[25; 26) " " + AS_KW@[26; 28) "as" + WHITESPACE@[28; 29) " " + POINTER_TYPE@[29; 39) + STAR@[29; 30) "*" + CONST_KW@[30; 35) "const" + WHITESPACE@[35; 36) " " + PATH_TYPE@[36; 39) + PATH@[36; 39) + PATH_SEGMENT@[36; 39) + NAME_REF@[36; 39) + IDENT@[36; 39) "i32" + SEMI@[39; 40) ";" + WHITESPACE@[40; 41) "\n" + R_CURLY@[41; 42) "}" + WHITESPACE@[42; 43) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt deleted file mode 100644 index 9e3767fb7..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 43) - FN_DEF@[0; 42) - 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; 42) - BLOCK@[9; 42) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - LET_STMT@[15; 40) - LET_KW@[15; 18) "let" - WHITESPACE@[18; 19) " " - PLACEHOLDER_PAT@[19; 20) - UNDERSCORE@[19; 20) "_" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - WHITESPACE@[22; 23) " " - CAST_EXPR@[23; 39) - REF_EXPR@[23; 25) - AMP@[23; 24) "&" - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "1" - WHITESPACE@[25; 26) " " - AS_KW@[26; 28) "as" - WHITESPACE@[28; 29) " " - POINTER_TYPE@[29; 39) - STAR@[29; 30) "*" - CONST_KW@[30; 35) "const" - WHITESPACE@[35; 36) " " - PATH_TYPE@[36; 39) - PATH@[36; 39) - PATH_SEGMENT@[36; 39) - NAME_REF@[36; 39) - IDENT@[36; 39) "i32" - SEMI@[39; 40) ";" - WHITESPACE@[40; 41) "\n" - R_CURLY@[41; 42) "}" - WHITESPACE@[42; 43) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast new file mode 100644 index 000000000..f81de7bac --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast @@ -0,0 +1,23 @@ +SOURCE_FILE@[0; 24) + STRUCT_DEF@[0; 23) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 22) + L_ANGLE@[8; 9) "<" + CONST_PARAM@[9; 21) + CONST_KW@[9; 14) "const" + WHITESPACE@[14; 15) " " + NAME@[15; 16) + IDENT@[15; 16) "N" + 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" + R_ANGLE@[21; 22) ">" + SEMI@[22; 23) ";" + WHITESPACE@[23; 24) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.txt b/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.txt deleted file mode 100644 index f81de7bac..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.txt +++ /dev/null @@ -1,23 +0,0 @@ -SOURCE_FILE@[0; 24) - STRUCT_DEF@[0; 23) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - TYPE_PARAM_LIST@[8; 22) - L_ANGLE@[8; 9) "<" - CONST_PARAM@[9; 21) - CONST_KW@[9; 14) "const" - WHITESPACE@[14; 15) " " - NAME@[15; 16) - IDENT@[15; 16) "N" - 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" - R_ANGLE@[21; 22) ">" - SEMI@[22; 23) ";" - WHITESPACE@[23; 24) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.rast b/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.rast new file mode 100644 index 000000000..3556099bd --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.rast @@ -0,0 +1,45 @@ +SOURCE_FILE@[0; 50) + MACRO_DEF@[0; 28) + MACRO_KW@[0; 5) "macro" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "m" + WHITESPACE@[7; 8) " " + TOKEN_TREE@[8; 28) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 10) " " + TOKEN_TREE@[10; 20) + L_PAREN@[10; 11) "(" + DOLLAR@[11; 12) "$" + IDENT@[12; 13) "i" + COLON@[13; 14) ":" + IDENT@[14; 19) "ident" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + EQ@[21; 22) "=" + R_ANGLE@[22; 23) ">" + WHITESPACE@[23; 24) " " + TOKEN_TREE@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) " " + R_CURLY@[27; 28) "}" + WHITESPACE@[28; 29) "\n" + MACRO_DEF@[29; 49) + MACRO_KW@[29; 34) "macro" + WHITESPACE@[34; 35) " " + NAME@[35; 36) + IDENT@[35; 36) "m" + TOKEN_TREE@[36; 49) + TOKEN_TREE@[36; 46) + L_PAREN@[36; 37) "(" + DOLLAR@[37; 38) "$" + IDENT@[38; 39) "i" + COLON@[39; 40) ":" + IDENT@[40; 45) "ident" + R_PAREN@[45; 46) ")" + WHITESPACE@[46; 47) " " + TOKEN_TREE@[47; 49) + L_CURLY@[47; 48) "{" + R_CURLY@[48; 49) "}" + WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.txt b/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.txt deleted file mode 100644 index 3556099bd..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0147_macro_def.txt +++ /dev/null @@ -1,45 +0,0 @@ -SOURCE_FILE@[0; 50) - MACRO_DEF@[0; 28) - MACRO_KW@[0; 5) "macro" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "m" - WHITESPACE@[7; 8) " " - TOKEN_TREE@[8; 28) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 10) " " - TOKEN_TREE@[10; 20) - L_PAREN@[10; 11) "(" - DOLLAR@[11; 12) "$" - IDENT@[12; 13) "i" - COLON@[13; 14) ":" - IDENT@[14; 19) "ident" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - EQ@[21; 22) "=" - R_ANGLE@[22; 23) ">" - WHITESPACE@[23; 24) " " - TOKEN_TREE@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) " " - R_CURLY@[27; 28) "}" - WHITESPACE@[28; 29) "\n" - MACRO_DEF@[29; 49) - MACRO_KW@[29; 34) "macro" - WHITESPACE@[34; 35) " " - NAME@[35; 36) - IDENT@[35; 36) "m" - TOKEN_TREE@[36; 49) - TOKEN_TREE@[36; 46) - L_PAREN@[36; 37) "(" - DOLLAR@[37; 38) "$" - IDENT@[38; 39) "i" - COLON@[39; 40) ":" - IDENT@[40; 45) "ident" - R_PAREN@[45; 46) ")" - WHITESPACE@[46; 47) " " - TOKEN_TREE@[47; 49) - L_CURLY@[47; 48) "{" - R_CURLY@[48; 49) "}" - WHITESPACE@[49; 50) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast b/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast new file mode 100644 index 000000000..cfd79d9c2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 24) + MACRO_DEF@[0; 23) + VISIBILITY@[0; 3) + PUB_KW@[0; 3) "pub" + WHITESPACE@[3; 4) " " + MACRO_KW@[4; 9) "macro" + WHITESPACE@[9; 10) " " + NAME@[10; 11) + IDENT@[10; 11) "m" + TOKEN_TREE@[11; 23) + TOKEN_TREE@[11; 20) + L_PAREN@[11; 12) "(" + DOLLAR@[12; 13) "$" + COLON@[13; 14) ":" + IDENT@[14; 19) "ident" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + TOKEN_TREE@[21; 23) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + WHITESPACE@[23; 24) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.txt b/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.txt deleted file mode 100644 index cfd79d9c2..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0148_pub_macro_def.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 24) - MACRO_DEF@[0; 23) - VISIBILITY@[0; 3) - PUB_KW@[0; 3) "pub" - WHITESPACE@[3; 4) " " - MACRO_KW@[4; 9) "macro" - WHITESPACE@[9; 10) " " - NAME@[10; 11) - IDENT@[10; 11) "m" - TOKEN_TREE@[11; 23) - TOKEN_TREE@[11; 20) - L_PAREN@[11; 12) "(" - DOLLAR@[12; 13) "$" - COLON@[13; 14) ":" - IDENT@[14; 19) "ident" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - TOKEN_TREE@[21; 23) - L_CURLY@[21; 22) "{" - R_CURLY@[22; 23) "}" - WHITESPACE@[23; 24) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast new file mode 100644 index 000000000..78e296f88 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast @@ -0,0 +1,47 @@ +SOURCE_FILE@[0; 40) + CONST_DEF@[0; 39) + CONST_KW@[0; 5) "const" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "A" + COLON@[7; 8) ":" + WHITESPACE@[8; 9) " " + REFERENCE_TYPE@[9; 15) + AMP@[9; 10) "&" + SLICE_TYPE@[10; 15) + L_BRACK@[10; 11) "[" + PATH_TYPE@[11; 14) + PATH@[11; 14) + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "i64" + R_BRACK@[14; 15) "]" + WHITESPACE@[15; 16) " " + EQ@[16; 17) "=" + WHITESPACE@[17; 18) " " + REF_EXPR@[18; 38) + AMP@[18; 19) "&" + ARRAY_EXPR@[19; 38) + L_BRACK@[19; 20) "[" + LITERAL@[20; 21) + INT_NUMBER@[20; 21) "1" + COMMA@[21; 22) "," + WHITESPACE@[22; 23) " " + LITERAL@[23; 37) + ATTR@[23; 35) + POUND@[23; 24) "#" + L_BRACK@[24; 25) "[" + PATH@[25; 28) + PATH_SEGMENT@[25; 28) + NAME_REF@[25; 28) + IDENT@[25; 28) "cfg" + TOKEN_TREE@[28; 34) + L_PAREN@[28; 29) "(" + IDENT@[29; 33) "test" + R_PAREN@[33; 34) ")" + R_BRACK@[34; 35) "]" + WHITESPACE@[35; 36) " " + INT_NUMBER@[36; 37) "2" + R_BRACK@[37; 38) "]" + SEMI@[38; 39) ";" + WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.txt b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.txt deleted file mode 100644 index 78e296f88..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.txt +++ /dev/null @@ -1,47 +0,0 @@ -SOURCE_FILE@[0; 40) - CONST_DEF@[0; 39) - CONST_KW@[0; 5) "const" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "A" - COLON@[7; 8) ":" - WHITESPACE@[8; 9) " " - REFERENCE_TYPE@[9; 15) - AMP@[9; 10) "&" - SLICE_TYPE@[10; 15) - L_BRACK@[10; 11) "[" - PATH_TYPE@[11; 14) - PATH@[11; 14) - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "i64" - R_BRACK@[14; 15) "]" - WHITESPACE@[15; 16) " " - EQ@[16; 17) "=" - WHITESPACE@[17; 18) " " - REF_EXPR@[18; 38) - AMP@[18; 19) "&" - ARRAY_EXPR@[19; 38) - L_BRACK@[19; 20) "[" - LITERAL@[20; 21) - INT_NUMBER@[20; 21) "1" - COMMA@[21; 22) "," - WHITESPACE@[22; 23) " " - LITERAL@[23; 37) - ATTR@[23; 35) - POUND@[23; 24) "#" - L_BRACK@[24; 25) "[" - PATH@[25; 28) - PATH_SEGMENT@[25; 28) - NAME_REF@[25; 28) - IDENT@[25; 28) "cfg" - TOKEN_TREE@[28; 34) - L_PAREN@[28; 29) "(" - IDENT@[29; 33) "test" - R_PAREN@[33; 34) ")" - R_BRACK@[34; 35) "]" - WHITESPACE@[35; 36) " " - INT_NUMBER@[36; 37) "2" - R_BRACK@[37; 38) "]" - SEMI@[38; 39) ";" - WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast new file mode 100644 index 000000000..2d46eebb3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.rast @@ -0,0 +1,38 @@ +SOURCE_FILE@[0; 29) + IMPL_DEF@[0; 28) + IMPL_KW@[0; 4) "impl" + TYPE_PARAM_LIST@[4; 18) + L_ANGLE@[4; 5) "<" + CONST_PARAM@[5; 17) + CONST_KW@[5; 10) "const" + WHITESPACE@[10; 11) " " + NAME@[11; 12) + IDENT@[11; 12) "N" + COLON@[12; 13) ":" + WHITESPACE@[13; 14) " " + PATH_TYPE@[14; 17) + PATH@[14; 17) + PATH_SEGMENT@[14; 17) + NAME_REF@[14; 17) + IDENT@[14; 17) "u32" + R_ANGLE@[17; 18) ">" + WHITESPACE@[18; 19) " " + PATH_TYPE@[19; 25) + PATH@[19; 25) + PATH_SEGMENT@[19; 25) + NAME_REF@[19; 22) + IDENT@[19; 22) "Bar" + TYPE_ARG_LIST@[22; 25) + L_ANGLE@[22; 23) "<" + TYPE_ARG@[23; 24) + PATH_TYPE@[23; 24) + PATH@[23; 24) + PATH_SEGMENT@[23; 24) + NAME_REF@[23; 24) + IDENT@[23; 24) "N" + R_ANGLE@[24; 25) ">" + WHITESPACE@[25; 26) " " + ITEM_LIST@[26; 28) + L_CURLY@[26; 27) "{" + R_CURLY@[27; 28) "}" + WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.txt b/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.txt deleted file mode 100644 index 2d46eebb3..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0150_impl_type_params.txt +++ /dev/null @@ -1,38 +0,0 @@ -SOURCE_FILE@[0; 29) - IMPL_DEF@[0; 28) - IMPL_KW@[0; 4) "impl" - TYPE_PARAM_LIST@[4; 18) - L_ANGLE@[4; 5) "<" - CONST_PARAM@[5; 17) - CONST_KW@[5; 10) "const" - WHITESPACE@[10; 11) " " - NAME@[11; 12) - IDENT@[11; 12) "N" - COLON@[12; 13) ":" - WHITESPACE@[13; 14) " " - PATH_TYPE@[14; 17) - PATH@[14; 17) - PATH_SEGMENT@[14; 17) - NAME_REF@[14; 17) - IDENT@[14; 17) "u32" - R_ANGLE@[17; 18) ">" - WHITESPACE@[18; 19) " " - PATH_TYPE@[19; 25) - PATH@[19; 25) - PATH_SEGMENT@[19; 25) - NAME_REF@[19; 22) - IDENT@[19; 22) "Bar" - TYPE_ARG_LIST@[22; 25) - L_ANGLE@[22; 23) "<" - TYPE_ARG@[23; 24) - PATH_TYPE@[23; 24) - PATH@[23; 24) - PATH_SEGMENT@[23; 24) - NAME_REF@[23; 24) - IDENT@[23; 24) "N" - R_ANGLE@[24; 25) ">" - WHITESPACE@[25; 26) " " - ITEM_LIST@[26; 28) - L_CURLY@[26; 27) "{" - R_CURLY@[27; 28) "}" - WHITESPACE@[28; 29) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast b/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast new file mode 100644 index 000000000..de1536ef0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast @@ -0,0 +1,128 @@ +SOURCE_FILE@[0; 83) + TRAIT_DEF@[0; 18) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "Z" + TYPE_PARAM_LIST@[7; 10) + L_ANGLE@[7; 8) "<" + TYPE_PARAM@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "U" + R_ANGLE@[9; 10) ">" + WHITESPACE@[10; 11) " " + EQ@[11; 12) "=" + WHITESPACE@[12; 13) " " + TYPE_BOUND_LIST@[13; 17) + TYPE_BOUND@[13; 17) + PATH_TYPE@[13; 17) + PATH@[13; 17) + PATH_SEGMENT@[13; 17) + NAME_REF@[13; 14) + IDENT@[13; 14) "T" + TYPE_ARG_LIST@[14; 17) + L_ANGLE@[14; 15) "<" + TYPE_ARG@[15; 16) + PATH_TYPE@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "U" + R_ANGLE@[16; 17) ">" + SEMI@[17; 18) ";" + WHITESPACE@[18; 19) "\n" + TRAIT_DEF@[19; 51) + TRAIT_KW@[19; 24) "trait" + WHITESPACE@[24; 25) " " + NAME@[25; 26) + IDENT@[25; 26) "Z" + TYPE_PARAM_LIST@[26; 29) + L_ANGLE@[26; 27) "<" + TYPE_PARAM@[27; 28) + NAME@[27; 28) + IDENT@[27; 28) "U" + R_ANGLE@[28; 29) ">" + WHITESPACE@[29; 30) " " + EQ@[30; 31) "=" + WHITESPACE@[31; 32) " " + TYPE_BOUND_LIST@[32; 36) + TYPE_BOUND@[32; 36) + PATH_TYPE@[32; 36) + PATH@[32; 36) + PATH_SEGMENT@[32; 36) + NAME_REF@[32; 33) + IDENT@[32; 33) "T" + TYPE_ARG_LIST@[33; 36) + L_ANGLE@[33; 34) "<" + TYPE_ARG@[34; 35) + PATH_TYPE@[34; 35) + PATH@[34; 35) + PATH_SEGMENT@[34; 35) + NAME_REF@[34; 35) + IDENT@[34; 35) "U" + R_ANGLE@[35; 36) ">" + WHITESPACE@[36; 37) " " + WHERE_CLAUSE@[37; 50) + WHERE_KW@[37; 42) "where" + WHITESPACE@[42; 43) " " + WHERE_PRED@[43; 50) + PATH_TYPE@[43; 44) + PATH@[43; 44) + PATH_SEGMENT@[43; 44) + NAME_REF@[43; 44) + IDENT@[43; 44) "U" + COLON@[44; 45) ":" + WHITESPACE@[45; 46) " " + TYPE_BOUND_LIST@[46; 50) + TYPE_BOUND@[46; 50) + PATH_TYPE@[46; 50) + PATH@[46; 50) + PATH_SEGMENT@[46; 50) + NAME_REF@[46; 50) + IDENT@[46; 50) "Copy" + SEMI@[50; 51) ";" + WHITESPACE@[51; 52) "\n" + TRAIT_DEF@[52; 82) + TRAIT_KW@[52; 57) "trait" + WHITESPACE@[57; 58) " " + NAME@[58; 59) + IDENT@[58; 59) "Z" + TYPE_PARAM_LIST@[59; 62) + L_ANGLE@[59; 60) "<" + TYPE_PARAM@[60; 61) + NAME@[60; 61) + IDENT@[60; 61) "U" + R_ANGLE@[61; 62) ">" + WHITESPACE@[62; 63) " " + EQ@[63; 64) "=" + WHITESPACE@[64; 65) " " + TYPE_BOUND_LIST@[65; 65) + WHERE_CLAUSE@[65; 81) + WHERE_KW@[65; 70) "where" + WHITESPACE@[70; 71) " " + WHERE_PRED@[71; 81) + PATH_TYPE@[71; 75) + PATH@[71; 75) + PATH_SEGMENT@[71; 75) + NAME_REF@[71; 75) + IDENT@[71; 75) "Self" + COLON@[75; 76) ":" + WHITESPACE@[76; 77) " " + TYPE_BOUND_LIST@[77; 81) + TYPE_BOUND@[77; 81) + PATH_TYPE@[77; 81) + PATH@[77; 81) + PATH_SEGMENT@[77; 81) + NAME_REF@[77; 78) + IDENT@[77; 78) "T" + TYPE_ARG_LIST@[78; 81) + L_ANGLE@[78; 79) "<" + TYPE_ARG@[79; 80) + PATH_TYPE@[79; 80) + PATH@[79; 80) + PATH_SEGMENT@[79; 80) + NAME_REF@[79; 80) + IDENT@[79; 80) "U" + R_ANGLE@[80; 81) ">" + SEMI@[81; 82) ";" + WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.txt b/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.txt deleted file mode 100644 index de1536ef0..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.txt +++ /dev/null @@ -1,128 +0,0 @@ -SOURCE_FILE@[0; 83) - TRAIT_DEF@[0; 18) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "Z" - TYPE_PARAM_LIST@[7; 10) - L_ANGLE@[7; 8) "<" - TYPE_PARAM@[8; 9) - NAME@[8; 9) - IDENT@[8; 9) "U" - R_ANGLE@[9; 10) ">" - WHITESPACE@[10; 11) " " - EQ@[11; 12) "=" - WHITESPACE@[12; 13) " " - TYPE_BOUND_LIST@[13; 17) - TYPE_BOUND@[13; 17) - PATH_TYPE@[13; 17) - PATH@[13; 17) - PATH_SEGMENT@[13; 17) - NAME_REF@[13; 14) - IDENT@[13; 14) "T" - TYPE_ARG_LIST@[14; 17) - L_ANGLE@[14; 15) "<" - TYPE_ARG@[15; 16) - PATH_TYPE@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "U" - R_ANGLE@[16; 17) ">" - SEMI@[17; 18) ";" - WHITESPACE@[18; 19) "\n" - TRAIT_DEF@[19; 51) - TRAIT_KW@[19; 24) "trait" - WHITESPACE@[24; 25) " " - NAME@[25; 26) - IDENT@[25; 26) "Z" - TYPE_PARAM_LIST@[26; 29) - L_ANGLE@[26; 27) "<" - TYPE_PARAM@[27; 28) - NAME@[27; 28) - IDENT@[27; 28) "U" - R_ANGLE@[28; 29) ">" - WHITESPACE@[29; 30) " " - EQ@[30; 31) "=" - WHITESPACE@[31; 32) " " - TYPE_BOUND_LIST@[32; 36) - TYPE_BOUND@[32; 36) - PATH_TYPE@[32; 36) - PATH@[32; 36) - PATH_SEGMENT@[32; 36) - NAME_REF@[32; 33) - IDENT@[32; 33) "T" - TYPE_ARG_LIST@[33; 36) - L_ANGLE@[33; 34) "<" - TYPE_ARG@[34; 35) - PATH_TYPE@[34; 35) - PATH@[34; 35) - PATH_SEGMENT@[34; 35) - NAME_REF@[34; 35) - IDENT@[34; 35) "U" - R_ANGLE@[35; 36) ">" - WHITESPACE@[36; 37) " " - WHERE_CLAUSE@[37; 50) - WHERE_KW@[37; 42) "where" - WHITESPACE@[42; 43) " " - WHERE_PRED@[43; 50) - PATH_TYPE@[43; 44) - PATH@[43; 44) - PATH_SEGMENT@[43; 44) - NAME_REF@[43; 44) - IDENT@[43; 44) "U" - COLON@[44; 45) ":" - WHITESPACE@[45; 46) " " - TYPE_BOUND_LIST@[46; 50) - TYPE_BOUND@[46; 50) - PATH_TYPE@[46; 50) - PATH@[46; 50) - PATH_SEGMENT@[46; 50) - NAME_REF@[46; 50) - IDENT@[46; 50) "Copy" - SEMI@[50; 51) ";" - WHITESPACE@[51; 52) "\n" - TRAIT_DEF@[52; 82) - TRAIT_KW@[52; 57) "trait" - WHITESPACE@[57; 58) " " - NAME@[58; 59) - IDENT@[58; 59) "Z" - TYPE_PARAM_LIST@[59; 62) - L_ANGLE@[59; 60) "<" - TYPE_PARAM@[60; 61) - NAME@[60; 61) - IDENT@[60; 61) "U" - R_ANGLE@[61; 62) ">" - WHITESPACE@[62; 63) " " - EQ@[63; 64) "=" - WHITESPACE@[64; 65) " " - TYPE_BOUND_LIST@[65; 65) - WHERE_CLAUSE@[65; 81) - WHERE_KW@[65; 70) "where" - WHITESPACE@[70; 71) " " - WHERE_PRED@[71; 81) - PATH_TYPE@[71; 75) - PATH@[71; 75) - PATH_SEGMENT@[71; 75) - NAME_REF@[71; 75) - IDENT@[71; 75) "Self" - COLON@[75; 76) ":" - WHITESPACE@[76; 77) " " - TYPE_BOUND_LIST@[77; 81) - TYPE_BOUND@[77; 81) - PATH_TYPE@[77; 81) - PATH@[77; 81) - PATH_SEGMENT@[77; 81) - NAME_REF@[77; 78) - IDENT@[77; 78) "T" - TYPE_ARG_LIST@[78; 81) - L_ANGLE@[78; 79) "<" - TYPE_ARG@[79; 80) - PATH_TYPE@[79; 80) - PATH@[79; 80) - PATH_SEGMENT@[79; 80) - NAME_REF@[79; 80) - IDENT@[79; 80) "U" - R_ANGLE@[80; 81) ">" - SEMI@[81; 82) ";" - WHITESPACE@[82; 83) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast new file mode 100644 index 000000000..8092d7009 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast @@ -0,0 +1,37 @@ +SOURCE_FILE@[0; 34) + FN_DEF@[0; 33) + 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; 33) + BLOCK@[10; 33) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + CALL_EXPR@[16; 31) + PATH_EXPR@[16; 19) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "foo" + ARG_LIST@[19; 31) + L_PAREN@[19; 20) "(" + LITERAL@[20; 30) + ATTR@[20; 27) + POUND@[20; 21) "#" + L_BRACK@[21; 22) "[" + PATH@[22; 26) + PATH_SEGMENT@[22; 26) + NAME_REF@[22; 26) + IDENT@[22; 26) "attr" + R_BRACK@[26; 27) "]" + WHITESPACE@[27; 28) " " + INT_NUMBER@[28; 30) "92" + R_PAREN@[30; 31) ")" + WHITESPACE@[31; 32) "\n" + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.txt b/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.txt deleted file mode 100644 index 8092d7009..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.txt +++ /dev/null @@ -1,37 +0,0 @@ -SOURCE_FILE@[0; 34) - FN_DEF@[0; 33) - 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; 33) - BLOCK@[10; 33) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - CALL_EXPR@[16; 31) - PATH_EXPR@[16; 19) - PATH@[16; 19) - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "foo" - ARG_LIST@[19; 31) - L_PAREN@[19; 20) "(" - LITERAL@[20; 30) - ATTR@[20; 27) - POUND@[20; 21) "#" - L_BRACK@[21; 22) "[" - PATH@[22; 26) - PATH_SEGMENT@[22; 26) - NAME_REF@[22; 26) - IDENT@[22; 26) "attr" - R_BRACK@[26; 27) "]" - WHITESPACE@[27; 28) " " - INT_NUMBER@[28; 30) "92" - R_PAREN@[30; 31) ")" - WHITESPACE@[31; 32) "\n" - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast new file mode 100644 index 000000000..cb686854a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast @@ -0,0 +1,58 @@ +SOURCE_FILE@[0; 55) + TYPE_ALIAS_DEF@[0; 24) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) " " + EQ@[9; 10) "=" + WHITESPACE@[10; 11) " " + FN_POINTER_TYPE@[11; 23) + FN_KW@[11; 13) "fn" + PARAM_LIST@[13; 23) + L_PAREN@[13; 14) "(" + PARAM@[14; 22) + PATH_TYPE@[14; 22) + PATH@[14; 22) + PATH@[14; 17) + PATH_SEGMENT@[14; 17) + NAME_REF@[14; 17) + IDENT@[14; 17) "Bar" + COLONCOLON@[17; 19) "::" + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "Baz" + R_PAREN@[22; 23) ")" + SEMI@[23; 24) ";" + WHITESPACE@[24; 25) "\n" + TYPE_ALIAS_DEF@[25; 54) + TYPE_KW@[25; 29) "type" + WHITESPACE@[29; 30) " " + NAME@[30; 33) + IDENT@[30; 33) "Qux" + WHITESPACE@[33; 34) " " + EQ@[34; 35) "=" + WHITESPACE@[35; 36) " " + FN_POINTER_TYPE@[36; 53) + FN_KW@[36; 38) "fn" + PARAM_LIST@[38; 53) + L_PAREN@[38; 39) "(" + PARAM@[39; 52) + BIND_PAT@[39; 42) + NAME@[39; 42) + IDENT@[39; 42) "baz" + COLON@[42; 43) ":" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 52) + PATH@[44; 52) + PATH@[44; 47) + PATH_SEGMENT@[44; 47) + NAME_REF@[44; 47) + IDENT@[44; 47) "Bar" + COLONCOLON@[47; 49) "::" + PATH_SEGMENT@[49; 52) + NAME_REF@[49; 52) + IDENT@[49; 52) "Baz" + R_PAREN@[52; 53) ")" + SEMI@[53; 54) ";" + WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.txt b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.txt deleted file mode 100644 index cb686854a..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.txt +++ /dev/null @@ -1,58 +0,0 @@ -SOURCE_FILE@[0; 55) - TYPE_ALIAS_DEF@[0; 24) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 8) - IDENT@[5; 8) "Foo" - WHITESPACE@[8; 9) " " - EQ@[9; 10) "=" - WHITESPACE@[10; 11) " " - FN_POINTER_TYPE@[11; 23) - FN_KW@[11; 13) "fn" - PARAM_LIST@[13; 23) - L_PAREN@[13; 14) "(" - PARAM@[14; 22) - PATH_TYPE@[14; 22) - PATH@[14; 22) - PATH@[14; 17) - PATH_SEGMENT@[14; 17) - NAME_REF@[14; 17) - IDENT@[14; 17) "Bar" - COLONCOLON@[17; 19) "::" - PATH_SEGMENT@[19; 22) - NAME_REF@[19; 22) - IDENT@[19; 22) "Baz" - R_PAREN@[22; 23) ")" - SEMI@[23; 24) ";" - WHITESPACE@[24; 25) "\n" - TYPE_ALIAS_DEF@[25; 54) - TYPE_KW@[25; 29) "type" - WHITESPACE@[29; 30) " " - NAME@[30; 33) - IDENT@[30; 33) "Qux" - WHITESPACE@[33; 34) " " - EQ@[34; 35) "=" - WHITESPACE@[35; 36) " " - FN_POINTER_TYPE@[36; 53) - FN_KW@[36; 38) "fn" - PARAM_LIST@[38; 53) - L_PAREN@[38; 39) "(" - PARAM@[39; 52) - BIND_PAT@[39; 42) - NAME@[39; 42) - IDENT@[39; 42) "baz" - COLON@[42; 43) ":" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 52) - PATH@[44; 52) - PATH@[44; 47) - PATH_SEGMENT@[44; 47) - NAME_REF@[44; 47) - IDENT@[44; 47) "Bar" - COLONCOLON@[47; 49) "::" - PATH_SEGMENT@[49; 52) - NAME_REF@[49; 52) - IDENT@[49; 52) "Baz" - R_PAREN@[52; 53) ")" - SEMI@[53; 54) ";" - WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast new file mode 100644 index 000000000..98727ae98 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast @@ -0,0 +1,70 @@ +SOURCE_FILE@[0; 63) + FN_DEF@[0; 62) + 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; 62) + BLOCK@[10; 62) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 15) "\n " + LET_STMT@[15; 60) + 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; 25) " " + LAMBDA_EXPR@[25; 59) + PARAM_LIST@[25; 56) + PIPE@[25; 26) "|" + PARAM@[26; 29) + BIND_PAT@[26; 29) + NAME@[26; 29) + IDENT@[26; 29) "bar" + COMMA@[29; 30) "," + WHITESPACE@[30; 31) " " + PARAM@[31; 39) + BIND_PAT@[31; 34) + NAME@[31; 34) + IDENT@[31; 34) "baz" + COLON@[34; 35) ":" + WHITESPACE@[35; 36) " " + PATH_TYPE@[36; 39) + PATH@[36; 39) + PATH_SEGMENT@[36; 39) + NAME_REF@[36; 39) + IDENT@[36; 39) "Baz" + COMMA@[39; 40) "," + WHITESPACE@[40; 41) " " + PARAM@[41; 55) + BIND_PAT@[41; 44) + NAME@[41; 44) + IDENT@[41; 44) "qux" + COLON@[44; 45) ":" + WHITESPACE@[45; 46) " " + PATH_TYPE@[46; 55) + PATH@[46; 55) + PATH@[46; 49) + PATH_SEGMENT@[46; 49) + NAME_REF@[46; 49) + IDENT@[46; 49) "Qux" + COLONCOLON@[49; 51) "::" + PATH_SEGMENT@[51; 55) + NAME_REF@[51; 55) + IDENT@[51; 55) "Quux" + PIPE@[55; 56) "|" + WHITESPACE@[56; 57) " " + TUPLE_EXPR@[57; 59) + L_PAREN@[57; 58) "(" + R_PAREN@[58; 59) ")" + SEMI@[59; 60) ";" + WHITESPACE@[60; 61) "\n" + R_CURLY@[61; 62) "}" + WHITESPACE@[62; 63) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.txt b/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.txt deleted file mode 100644 index 98727ae98..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.txt +++ /dev/null @@ -1,70 +0,0 @@ -SOURCE_FILE@[0; 63) - FN_DEF@[0; 62) - 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; 62) - BLOCK@[10; 62) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 15) "\n " - LET_STMT@[15; 60) - 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; 25) " " - LAMBDA_EXPR@[25; 59) - PARAM_LIST@[25; 56) - PIPE@[25; 26) "|" - PARAM@[26; 29) - BIND_PAT@[26; 29) - NAME@[26; 29) - IDENT@[26; 29) "bar" - COMMA@[29; 30) "," - WHITESPACE@[30; 31) " " - PARAM@[31; 39) - BIND_PAT@[31; 34) - NAME@[31; 34) - IDENT@[31; 34) "baz" - COLON@[34; 35) ":" - WHITESPACE@[35; 36) " " - PATH_TYPE@[36; 39) - PATH@[36; 39) - PATH_SEGMENT@[36; 39) - NAME_REF@[36; 39) - IDENT@[36; 39) "Baz" - COMMA@[39; 40) "," - WHITESPACE@[40; 41) " " - PARAM@[41; 55) - BIND_PAT@[41; 44) - NAME@[41; 44) - IDENT@[41; 44) "qux" - COLON@[44; 45) ":" - WHITESPACE@[45; 46) " " - PATH_TYPE@[46; 55) - PATH@[46; 55) - PATH@[46; 49) - PATH_SEGMENT@[46; 49) - NAME_REF@[46; 49) - IDENT@[46; 49) "Qux" - COLONCOLON@[49; 51) "::" - PATH_SEGMENT@[51; 55) - NAME_REF@[51; 55) - IDENT@[51; 55) "Quux" - PIPE@[55; 56) "|" - WHITESPACE@[56; 57) " " - TUPLE_EXPR@[57; 59) - L_PAREN@[57; 58) "(" - R_PAREN@[58; 59) ")" - SEMI@[59; 60) ";" - WHITESPACE@[60; 61) "\n" - R_CURLY@[61; 62) "}" - WHITESPACE@[62; 63) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast new file mode 100644 index 000000000..103e254a6 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast @@ -0,0 +1,44 @@ +SOURCE_FILE@[0; 30) + FN_DEF@[0; 29) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 26) + L_PAREN@[6; 7) "(" + PARAM@[7; 25) + TUPLE_PAT@[7; 13) + L_PAREN@[7; 8) "(" + BIND_PAT@[8; 9) + NAME@[8; 9) + IDENT@[8; 9) "x" + COMMA@[9; 10) "," + WHITESPACE@[10; 11) " " + BIND_PAT@[11; 12) + NAME@[11; 12) + IDENT@[11; 12) "y" + R_PAREN@[12; 13) ")" + COLON@[13; 14) ":" + WHITESPACE@[14; 15) " " + TUPLE_TYPE@[15; 25) + L_PAREN@[15; 16) "(" + PATH_TYPE@[16; 19) + PATH@[16; 19) + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "i32" + COMMA@[19; 20) "," + WHITESPACE@[20; 21) " " + PATH_TYPE@[21; 24) + PATH@[21; 24) + PATH_SEGMENT@[21; 24) + NAME_REF@[21; 24) + IDENT@[21; 24) "i32" + R_PAREN@[24; 25) ")" + R_PAREN@[25; 26) ")" + WHITESPACE@[26; 27) " " + BLOCK_EXPR@[27; 29) + BLOCK@[27; 29) + L_CURLY@[27; 28) "{" + R_CURLY@[28; 29) "}" + WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt deleted file mode 100644 index 103e254a6..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.txt +++ /dev/null @@ -1,44 +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; 26) - L_PAREN@[6; 7) "(" - PARAM@[7; 25) - TUPLE_PAT@[7; 13) - L_PAREN@[7; 8) "(" - BIND_PAT@[8; 9) - NAME@[8; 9) - IDENT@[8; 9) "x" - COMMA@[9; 10) "," - WHITESPACE@[10; 11) " " - BIND_PAT@[11; 12) - NAME@[11; 12) - IDENT@[11; 12) "y" - R_PAREN@[12; 13) ")" - COLON@[13; 14) ":" - WHITESPACE@[14; 15) " " - TUPLE_TYPE@[15; 25) - L_PAREN@[15; 16) "(" - PATH_TYPE@[16; 19) - PATH@[16; 19) - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "i32" - COMMA@[19; 20) "," - WHITESPACE@[20; 21) " " - PATH_TYPE@[21; 24) - PATH@[21; 24) - PATH_SEGMENT@[21; 24) - NAME_REF@[21; 24) - IDENT@[21; 24) "i32" - R_PAREN@[24; 25) ")" - R_PAREN@[25; 26) ")" - WHITESPACE@[26; 27) " " - BLOCK_EXPR@[27; 29) - BLOCK@[27; 29) - L_CURLY@[27; 28) "{" - R_CURLY@[28; 29) "}" - WHITESPACE@[29; 30) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast b/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast new file mode 100644 index 000000000..3a196d3c0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast @@ -0,0 +1,112 @@ +SOURCE_FILE@[0; 130) + FN_DEF@[0; 129) + 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; 129) + BLOCK@[10; 129) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + MATCH_EXPR@[16; 127) + MATCH_KW@[16; 21) "match" + WHITESPACE@[21; 22) " " + TUPLE_EXPR@[22; 24) + L_PAREN@[22; 23) "(" + R_PAREN@[23; 24) ")" + WHITESPACE@[24; 25) " " + MATCH_ARM_LIST@[25; 127) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 35) "\n " + MATCH_ARM@[35; 48) + PAREN_PAT@[35; 42) + L_PAREN@[35; 36) "(" + OR_PAT@[36; 41) + PLACEHOLDER_PAT@[36; 37) + UNDERSCORE@[36; 37) "_" + WHITESPACE@[37; 38) " " + PIPE@[38; 39) "|" + WHITESPACE@[39; 40) " " + PLACEHOLDER_PAT@[40; 41) + UNDERSCORE@[40; 41) "_" + R_PAREN@[41; 42) ")" + WHITESPACE@[42; 43) " " + FAT_ARROW@[43; 45) "=>" + WHITESPACE@[45; 46) " " + TUPLE_EXPR@[46; 48) + L_PAREN@[46; 47) "(" + R_PAREN@[47; 48) ")" + COMMA@[48; 49) "," + WHITESPACE@[49; 58) "\n " + MATCH_ARM@[58; 72) + REF_PAT@[58; 66) + AMP@[58; 59) "&" + PAREN_PAT@[59; 66) + L_PAREN@[59; 60) "(" + OR_PAT@[60; 65) + PLACEHOLDER_PAT@[60; 61) + UNDERSCORE@[60; 61) "_" + WHITESPACE@[61; 62) " " + PIPE@[62; 63) "|" + WHITESPACE@[63; 64) " " + PLACEHOLDER_PAT@[64; 65) + UNDERSCORE@[64; 65) "_" + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " + FAT_ARROW@[67; 69) "=>" + WHITESPACE@[69; 70) " " + TUPLE_EXPR@[70; 72) + L_PAREN@[70; 71) "(" + R_PAREN@[71; 72) ")" + COMMA@[72; 73) "," + WHITESPACE@[73; 82) "\n " + MATCH_ARM@[82; 96) + TUPLE_PAT@[82; 90) + L_PAREN@[82; 83) "(" + OR_PAT@[83; 88) + PLACEHOLDER_PAT@[83; 84) + UNDERSCORE@[83; 84) "_" + WHITESPACE@[84; 85) " " + PIPE@[85; 86) "|" + WHITESPACE@[86; 87) " " + PLACEHOLDER_PAT@[87; 88) + UNDERSCORE@[87; 88) "_" + COMMA@[88; 89) "," + R_PAREN@[89; 90) ")" + WHITESPACE@[90; 91) " " + FAT_ARROW@[91; 93) "=>" + WHITESPACE@[93; 94) " " + TUPLE_EXPR@[94; 96) + L_PAREN@[94; 95) "(" + R_PAREN@[95; 96) ")" + COMMA@[96; 97) "," + WHITESPACE@[97; 106) "\n " + MATCH_ARM@[106; 120) + SLICE_PAT@[106; 114) + L_BRACK@[106; 107) "[" + OR_PAT@[107; 112) + PLACEHOLDER_PAT@[107; 108) + UNDERSCORE@[107; 108) "_" + WHITESPACE@[108; 109) " " + PIPE@[109; 110) "|" + WHITESPACE@[110; 111) " " + PLACEHOLDER_PAT@[111; 112) + UNDERSCORE@[111; 112) "_" + COMMA@[112; 113) "," + R_BRACK@[113; 114) "]" + WHITESPACE@[114; 115) " " + FAT_ARROW@[115; 117) "=>" + WHITESPACE@[117; 118) " " + TUPLE_EXPR@[118; 120) + L_PAREN@[118; 119) "(" + R_PAREN@[119; 120) ")" + COMMA@[120; 121) "," + WHITESPACE@[121; 126) "\n " + R_CURLY@[126; 127) "}" + WHITESPACE@[127; 128) "\n" + R_CURLY@[128; 129) "}" + WHITESPACE@[129; 130) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.txt b/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.txt deleted file mode 100644 index 3a196d3c0..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.txt +++ /dev/null @@ -1,112 +0,0 @@ -SOURCE_FILE@[0; 130) - FN_DEF@[0; 129) - 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; 129) - BLOCK@[10; 129) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - MATCH_EXPR@[16; 127) - MATCH_KW@[16; 21) "match" - WHITESPACE@[21; 22) " " - TUPLE_EXPR@[22; 24) - L_PAREN@[22; 23) "(" - R_PAREN@[23; 24) ")" - WHITESPACE@[24; 25) " " - MATCH_ARM_LIST@[25; 127) - L_CURLY@[25; 26) "{" - WHITESPACE@[26; 35) "\n " - MATCH_ARM@[35; 48) - PAREN_PAT@[35; 42) - L_PAREN@[35; 36) "(" - OR_PAT@[36; 41) - PLACEHOLDER_PAT@[36; 37) - UNDERSCORE@[36; 37) "_" - WHITESPACE@[37; 38) " " - PIPE@[38; 39) "|" - WHITESPACE@[39; 40) " " - PLACEHOLDER_PAT@[40; 41) - UNDERSCORE@[40; 41) "_" - R_PAREN@[41; 42) ")" - WHITESPACE@[42; 43) " " - FAT_ARROW@[43; 45) "=>" - WHITESPACE@[45; 46) " " - TUPLE_EXPR@[46; 48) - L_PAREN@[46; 47) "(" - R_PAREN@[47; 48) ")" - COMMA@[48; 49) "," - WHITESPACE@[49; 58) "\n " - MATCH_ARM@[58; 72) - REF_PAT@[58; 66) - AMP@[58; 59) "&" - PAREN_PAT@[59; 66) - L_PAREN@[59; 60) "(" - OR_PAT@[60; 65) - PLACEHOLDER_PAT@[60; 61) - UNDERSCORE@[60; 61) "_" - WHITESPACE@[61; 62) " " - PIPE@[62; 63) "|" - WHITESPACE@[63; 64) " " - PLACEHOLDER_PAT@[64; 65) - UNDERSCORE@[64; 65) "_" - R_PAREN@[65; 66) ")" - WHITESPACE@[66; 67) " " - FAT_ARROW@[67; 69) "=>" - WHITESPACE@[69; 70) " " - TUPLE_EXPR@[70; 72) - L_PAREN@[70; 71) "(" - R_PAREN@[71; 72) ")" - COMMA@[72; 73) "," - WHITESPACE@[73; 82) "\n " - MATCH_ARM@[82; 96) - TUPLE_PAT@[82; 90) - L_PAREN@[82; 83) "(" - OR_PAT@[83; 88) - PLACEHOLDER_PAT@[83; 84) - UNDERSCORE@[83; 84) "_" - WHITESPACE@[84; 85) " " - PIPE@[85; 86) "|" - WHITESPACE@[86; 87) " " - PLACEHOLDER_PAT@[87; 88) - UNDERSCORE@[87; 88) "_" - COMMA@[88; 89) "," - R_PAREN@[89; 90) ")" - WHITESPACE@[90; 91) " " - FAT_ARROW@[91; 93) "=>" - WHITESPACE@[93; 94) " " - TUPLE_EXPR@[94; 96) - L_PAREN@[94; 95) "(" - R_PAREN@[95; 96) ")" - COMMA@[96; 97) "," - WHITESPACE@[97; 106) "\n " - MATCH_ARM@[106; 120) - SLICE_PAT@[106; 114) - L_BRACK@[106; 107) "[" - OR_PAT@[107; 112) - PLACEHOLDER_PAT@[107; 108) - UNDERSCORE@[107; 108) "_" - WHITESPACE@[108; 109) " " - PIPE@[109; 110) "|" - WHITESPACE@[110; 111) " " - PLACEHOLDER_PAT@[111; 112) - UNDERSCORE@[111; 112) "_" - COMMA@[112; 113) "," - R_BRACK@[113; 114) "]" - WHITESPACE@[114; 115) " " - FAT_ARROW@[115; 117) "=>" - WHITESPACE@[117; 118) " " - TUPLE_EXPR@[118; 120) - L_PAREN@[118; 119) "(" - R_PAREN@[119; 120) ")" - COMMA@[120; 121) "," - WHITESPACE@[121; 126) "\n " - R_CURLY@[126; 127) "}" - WHITESPACE@[127; 128) "\n" - R_CURLY@[128; 129) "}" - WHITESPACE@[129; 130) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast new file mode 100644 index 000000000..52d8f21a4 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast @@ -0,0 +1,26 @@ +SOURCE_FILE@[0; 23) + TYPE_ALIAS_DEF@[0; 22) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 8) + IDENT@[5; 8) "Foo" + WHITESPACE@[8; 9) " " + EQ@[9; 10) "=" + WHITESPACE@[10; 11) " " + FN_POINTER_TYPE@[11; 21) + FN_KW@[11; 13) "fn" + PARAM_LIST@[13; 21) + L_PAREN@[13; 14) "(" + PARAM@[14; 20) + PLACEHOLDER_PAT@[14; 15) + UNDERSCORE@[14; 15) "_" + COLON@[15; 16) ":" + WHITESPACE@[16; 17) " " + PATH_TYPE@[17; 20) + PATH@[17; 20) + PATH_SEGMENT@[17; 20) + NAME_REF@[17; 20) + IDENT@[17; 20) "bar" + R_PAREN@[20; 21) ")" + SEMI@[21; 22) ";" + WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.txt b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.txt deleted file mode 100644 index 52d8f21a4..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.txt +++ /dev/null @@ -1,26 +0,0 @@ -SOURCE_FILE@[0; 23) - TYPE_ALIAS_DEF@[0; 22) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 8) - IDENT@[5; 8) "Foo" - WHITESPACE@[8; 9) " " - EQ@[9; 10) "=" - WHITESPACE@[10; 11) " " - FN_POINTER_TYPE@[11; 21) - FN_KW@[11; 13) "fn" - PARAM_LIST@[13; 21) - L_PAREN@[13; 14) "(" - PARAM@[14; 20) - PLACEHOLDER_PAT@[14; 15) - UNDERSCORE@[14; 15) "_" - COLON@[15; 16) ":" - WHITESPACE@[16; 17) " " - PATH_TYPE@[17; 20) - PATH@[17; 20) - PATH_SEGMENT@[17; 20) - NAME_REF@[17; 20) - IDENT@[17; 20) "bar" - R_PAREN@[20; 21) ")" - SEMI@[21; 22) ";" - WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast b/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast new file mode 100644 index 000000000..a378dd80b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.rast @@ -0,0 +1,30 @@ +SOURCE_FILE@[0; 23) + ENUM_DEF@[0; 22) + ENUM_KW@[0; 4) "enum" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "E" + WHITESPACE@[6; 7) " " + ENUM_VARIANT_LIST@[7; 22) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 9) " " + ENUM_VARIANT@[9; 20) + NAME@[9; 10) + IDENT@[9; 10) "X" + TUPLE_FIELD_DEF_LIST@[10; 15) + L_PAREN@[10; 11) "(" + TUPLE_FIELD_DEF@[11; 14) + PATH_TYPE@[11; 14) + PATH@[11; 14) + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "i32" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + EQ@[16; 17) "=" + WHITESPACE@[17; 18) " " + LITERAL@[18; 20) + INT_NUMBER@[18; 20) "10" + WHITESPACE@[20; 21) " " + R_CURLY@[21; 22) "}" + WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.txt b/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.txt deleted file mode 100644 index a378dd80b..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0157_variant_discriminant.txt +++ /dev/null @@ -1,30 +0,0 @@ -SOURCE_FILE@[0; 23) - ENUM_DEF@[0; 22) - ENUM_KW@[0; 4) "enum" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "E" - WHITESPACE@[6; 7) " " - ENUM_VARIANT_LIST@[7; 22) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 9) " " - ENUM_VARIANT@[9; 20) - NAME@[9; 10) - IDENT@[9; 10) "X" - TUPLE_FIELD_DEF_LIST@[10; 15) - L_PAREN@[10; 11) "(" - TUPLE_FIELD_DEF@[11; 14) - PATH_TYPE@[11; 14) - PATH@[11; 14) - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "i32" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - EQ@[16; 17) "=" - WHITESPACE@[17; 18) " " - LITERAL@[18; 20) - INT_NUMBER@[18; 20) "10" - WHITESPACE@[20; 21) " " - R_CURLY@[21; 22) "}" - WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast b/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast new file mode 100644 index 000000000..d568a1d45 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast @@ -0,0 +1,38 @@ +SOURCE_FILE@[0; 28) + FN_DEF@[0; 27) + 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; 27) + BLOCK@[9; 27) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 25) + BIN_EXPR@[15; 24) + PATH_EXPR@[15; 16) + PATH@[15; 16) + PATH_SEGMENT@[15; 16) + NAME_REF@[15; 16) + IDENT@[15; 16) "v" + WHITESPACE@[16; 17) " " + EQ@[17; 18) "=" + WHITESPACE@[18; 19) " " + BIN_EXPR@[19; 24) + BLOCK_EXPR@[19; 22) + BLOCK@[19; 22) + L_CURLY@[19; 20) "{" + LITERAL@[20; 21) + INT_NUMBER@[20; 21) "1" + R_CURLY@[21; 22) "}" + AMP@[22; 23) "&" + LITERAL@[23; 24) + INT_NUMBER@[23; 24) "2" + SEMI@[24; 25) ";" + WHITESPACE@[25; 26) "\n" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.txt b/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.txt deleted file mode 100644 index d568a1d45..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.txt +++ /dev/null @@ -1,38 +0,0 @@ -SOURCE_FILE@[0; 28) - FN_DEF@[0; 27) - 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; 27) - BLOCK@[9; 27) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 25) - BIN_EXPR@[15; 24) - PATH_EXPR@[15; 16) - PATH@[15; 16) - PATH_SEGMENT@[15; 16) - NAME_REF@[15; 16) - IDENT@[15; 16) "v" - WHITESPACE@[16; 17) " " - EQ@[17; 18) "=" - WHITESPACE@[18; 19) " " - BIN_EXPR@[19; 24) - BLOCK_EXPR@[19; 22) - BLOCK@[19; 22) - L_CURLY@[19; 20) "{" - LITERAL@[20; 21) - INT_NUMBER@[20; 21) "1" - R_CURLY@[21; 22) "}" - AMP@[22; 23) "&" - LITERAL@[23; 24) - INT_NUMBER@[23; 24) "2" - SEMI@[24; 25) ";" - WHITESPACE@[25; 26) "\n" - R_CURLY@[26; 27) "}" - WHITESPACE@[27; 28) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast new file mode 100644 index 000000000..ba8779094 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast @@ -0,0 +1,45 @@ +SOURCE_FILE@[0; 34) + FN_DEF@[0; 33) + 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; 33) + BLOCK@[10; 33) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 12) " " + EXPR_STMT@[12; 31) + CALL_EXPR@[12; 30) + LAMBDA_EXPR@[12; 28) + PARAM_LIST@[12; 14) + PIPE@[12; 13) "|" + PIPE@[13; 14) "|" + WHITESPACE@[14; 15) " " + RET_TYPE@[15; 21) + THIN_ARROW@[15; 17) "->" + WHITESPACE@[17; 18) " " + PATH_TYPE@[18; 21) + PATH@[18; 21) + PATH_SEGMENT@[18; 21) + NAME_REF@[18; 21) + IDENT@[18; 21) "i32" + WHITESPACE@[21; 22) " " + BLOCK_EXPR@[22; 28) + BLOCK@[22; 28) + L_CURLY@[22; 23) "{" + WHITESPACE@[23; 24) " " + LITERAL@[24; 26) + INT_NUMBER@[24; 26) "92" + WHITESPACE@[26; 27) " " + R_CURLY@[27; 28) "}" + ARG_LIST@[28; 30) + L_PAREN@[28; 29) "(" + R_PAREN@[29; 30) ")" + SEMI@[30; 31) ";" + WHITESPACE@[31; 32) " " + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.txt b/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.txt deleted file mode 100644 index ba8779094..000000000 --- a/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.txt +++ /dev/null @@ -1,45 +0,0 @@ -SOURCE_FILE@[0; 34) - FN_DEF@[0; 33) - 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; 33) - BLOCK@[10; 33) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 12) " " - EXPR_STMT@[12; 31) - CALL_EXPR@[12; 30) - LAMBDA_EXPR@[12; 28) - PARAM_LIST@[12; 14) - PIPE@[12; 13) "|" - PIPE@[13; 14) "|" - WHITESPACE@[14; 15) " " - RET_TYPE@[15; 21) - THIN_ARROW@[15; 17) "->" - WHITESPACE@[17; 18) " " - PATH_TYPE@[18; 21) - PATH@[18; 21) - PATH_SEGMENT@[18; 21) - NAME_REF@[18; 21) - IDENT@[18; 21) "i32" - WHITESPACE@[21; 22) " " - BLOCK_EXPR@[22; 28) - BLOCK@[22; 28) - L_CURLY@[22; 23) "{" - WHITESPACE@[23; 24) " " - LITERAL@[24; 26) - INT_NUMBER@[24; 26) "92" - WHITESPACE@[26; 27) " " - R_CURLY@[27; 28) "}" - ARG_LIST@[28; 30) - L_PAREN@[28; 29) "(" - R_PAREN@[29; 30) ")" - SEMI@[30; 31) ";" - WHITESPACE@[31; 32) " " - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0000_empty.rast b/crates/ra_syntax/test_data/parser/ok/0000_empty.rast new file mode 100644 index 000000000..08f5a942f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0000_empty.rast @@ -0,0 +1 @@ +SOURCE_FILE@[0; 0) diff --git a/crates/ra_syntax/test_data/parser/ok/0000_empty.txt b/crates/ra_syntax/test_data/parser/ok/0000_empty.txt deleted file mode 100644 index 08f5a942f..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0000_empty.txt +++ /dev/null @@ -1 +0,0 @@ -SOURCE_FILE@[0; 0) diff --git a/crates/ra_syntax/test_data/parser/ok/0001_struct_item.rast b/crates/ra_syntax/test_data/parser/ok/0001_struct_item.rast new file mode 100644 index 000000000..fdc2d6768 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0001_struct_item.rast @@ -0,0 +1,39 @@ +SOURCE_FILE@[0; 32) + STRUCT_DEF@[0; 31) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + TYPE_PARAM_LIST@[8; 17) + L_ANGLE@[8; 9) "<" + TYPE_PARAM@[9; 16) + NAME@[9; 10) + IDENT@[9; 10) "T" + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " + TYPE_BOUND_LIST@[12; 16) + TYPE_BOUND@[12; 16) + PATH_TYPE@[12; 16) + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "Copy" + R_ANGLE@[16; 17) ">" + WHITESPACE@[17; 18) " " + RECORD_FIELD_DEF_LIST@[18; 31) + L_CURLY@[18; 19) "{" + WHITESPACE@[19; 24) "\n " + RECORD_FIELD_DEF@[24; 28) + NAME@[24; 25) + IDENT@[24; 25) "f" + COLON@[25; 26) ":" + WHITESPACE@[26; 27) " " + PATH_TYPE@[27; 28) + PATH@[27; 28) + PATH_SEGMENT@[27; 28) + NAME_REF@[27; 28) + IDENT@[27; 28) "T" + COMMA@[28; 29) "," + WHITESPACE@[29; 30) "\n" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 32) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0001_struct_item.txt b/crates/ra_syntax/test_data/parser/ok/0001_struct_item.txt deleted file mode 100644 index fdc2d6768..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0001_struct_item.txt +++ /dev/null @@ -1,39 +0,0 @@ -SOURCE_FILE@[0; 32) - STRUCT_DEF@[0; 31) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - TYPE_PARAM_LIST@[8; 17) - L_ANGLE@[8; 9) "<" - TYPE_PARAM@[9; 16) - NAME@[9; 10) - IDENT@[9; 10) "T" - COLON@[10; 11) ":" - WHITESPACE@[11; 12) " " - TYPE_BOUND_LIST@[12; 16) - TYPE_BOUND@[12; 16) - PATH_TYPE@[12; 16) - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "Copy" - R_ANGLE@[16; 17) ">" - WHITESPACE@[17; 18) " " - RECORD_FIELD_DEF_LIST@[18; 31) - L_CURLY@[18; 19) "{" - WHITESPACE@[19; 24) "\n " - RECORD_FIELD_DEF@[24; 28) - NAME@[24; 25) - IDENT@[24; 25) "f" - COLON@[25; 26) ":" - WHITESPACE@[26; 27) " " - PATH_TYPE@[27; 28) - PATH@[27; 28) - PATH_SEGMENT@[27; 28) - NAME_REF@[27; 28) - IDENT@[27; 28) "T" - COMMA@[28; 29) "," - WHITESPACE@[29; 30) "\n" - R_CURLY@[30; 31) "}" - WHITESPACE@[31; 32) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.rast b/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.rast new file mode 100644 index 000000000..ef34702fd --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@[0; 25) + STRUCT_DEF@[0; 25) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 25) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 23) + NAME@[15; 18) + IDENT@[15; 18) "foo" + COLON@[18; 19) ":" + WHITESPACE@[19; 20) " " + PATH_TYPE@[20; 23) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "u32" + WHITESPACE@[23; 24) "\n" + R_CURLY@[24; 25) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.txt b/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.txt deleted file mode 100644 index ef34702fd..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0002_struct_item_field.txt +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@[0; 25) - STRUCT_DEF@[0; 25) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 25) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 23) - NAME@[15; 18) - IDENT@[15; 18) "foo" - COLON@[18; 19) ":" - WHITESPACE@[19; 20) " " - PATH_TYPE@[20; 23) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "u32" - WHITESPACE@[23; 24) "\n" - R_CURLY@[24; 25) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.rast b/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.rast new file mode 100644 index 000000000..e3915c2df --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.rast @@ -0,0 +1,2 @@ +SOURCE_FILE@[0; 20) + SHEBANG@[0; 20) "#!/use/bin/env rusti" diff --git a/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.txt b/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.txt deleted file mode 100644 index e3915c2df..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0004_file_shebang.txt +++ /dev/null @@ -1,2 +0,0 @@ -SOURCE_FILE@[0; 20) - SHEBANG@[0; 20) "#!/use/bin/env rusti" diff --git a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast new file mode 100644 index 000000000..955b789b5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 13) + 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; 13) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt deleted file mode 100644 index 955b789b5..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 13) - 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; 13) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast new file mode 100644 index 000000000..d72b72561 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast @@ -0,0 +1,184 @@ +SOURCE_FILE@[0; 236) + ATTR@[0; 8) + POUND@[0; 1) "#" + EXCL@[1; 2) "!" + L_BRACK@[2; 3) "[" + PATH@[3; 7) + PATH_SEGMENT@[3; 7) + NAME_REF@[3; 7) + IDENT@[3; 7) "attr" + R_BRACK@[7; 8) "]" + WHITESPACE@[8; 9) "\n" + ATTR@[9; 23) + POUND@[9; 10) "#" + EXCL@[10; 11) "!" + L_BRACK@[11; 12) "[" + PATH@[12; 16) + PATH_SEGMENT@[12; 16) + NAME_REF@[12; 16) + IDENT@[12; 16) "attr" + TOKEN_TREE@[16; 22) + L_PAREN@[16; 17) "(" + TRUE_KW@[17; 21) "true" + R_PAREN@[21; 22) ")" + R_BRACK@[22; 23) "]" + WHITESPACE@[23; 24) "\n" + ATTR@[24; 39) + POUND@[24; 25) "#" + EXCL@[25; 26) "!" + L_BRACK@[26; 27) "[" + PATH@[27; 31) + PATH_SEGMENT@[27; 31) + NAME_REF@[27; 31) + IDENT@[27; 31) "attr" + TOKEN_TREE@[31; 38) + L_PAREN@[31; 32) "(" + IDENT@[32; 37) "ident" + R_PAREN@[37; 38) ")" + R_BRACK@[38; 39) "]" + WHITESPACE@[39; 40) "\n" + ATTR@[40; 116) + POUND@[40; 41) "#" + EXCL@[41; 42) "!" + L_BRACK@[42; 43) "[" + PATH@[43; 47) + PATH_SEGMENT@[43; 47) + NAME_REF@[43; 47) + IDENT@[43; 47) "attr" + TOKEN_TREE@[47; 115) + L_PAREN@[47; 48) "(" + IDENT@[48; 53) "ident" + COMMA@[53; 54) "," + WHITESPACE@[54; 55) " " + INT_NUMBER@[55; 58) "100" + COMMA@[58; 59) "," + WHITESPACE@[59; 60) " " + TRUE_KW@[60; 64) "true" + COMMA@[64; 65) "," + WHITESPACE@[65; 66) " " + STRING@[66; 72) "\"true\"" + COMMA@[72; 73) "," + WHITESPACE@[73; 74) " " + IDENT@[74; 79) "ident" + WHITESPACE@[79; 80) " " + EQ@[80; 81) "=" + WHITESPACE@[81; 82) " " + INT_NUMBER@[82; 85) "100" + COMMA@[85; 86) "," + WHITESPACE@[86; 87) " " + IDENT@[87; 92) "ident" + WHITESPACE@[92; 93) " " + EQ@[93; 94) "=" + WHITESPACE@[94; 95) " " + STRING@[95; 102) "\"hello\"" + COMMA@[102; 103) "," + WHITESPACE@[103; 104) " " + IDENT@[104; 109) "ident" + TOKEN_TREE@[109; 114) + L_PAREN@[109; 110) "(" + INT_NUMBER@[110; 113) "100" + R_PAREN@[113; 114) ")" + R_PAREN@[114; 115) ")" + R_BRACK@[115; 116) "]" + WHITESPACE@[116; 117) "\n" + ATTR@[117; 130) + POUND@[117; 118) "#" + EXCL@[118; 119) "!" + L_BRACK@[119; 120) "[" + PATH@[120; 124) + PATH_SEGMENT@[120; 124) + NAME_REF@[120; 124) + IDENT@[120; 124) "attr" + TOKEN_TREE@[124; 129) + L_PAREN@[124; 125) "(" + INT_NUMBER@[125; 128) "100" + R_PAREN@[128; 129) ")" + R_BRACK@[129; 130) "]" + WHITESPACE@[130; 131) "\n" + ATTR@[131; 155) + POUND@[131; 132) "#" + EXCL@[132; 133) "!" + L_BRACK@[133; 134) "[" + PATH@[134; 138) + PATH_SEGMENT@[134; 138) + NAME_REF@[134; 138) + IDENT@[134; 138) "attr" + TOKEN_TREE@[138; 154) + L_PAREN@[138; 139) "(" + IDENT@[139; 146) "enabled" + WHITESPACE@[146; 147) " " + EQ@[147; 148) "=" + WHITESPACE@[148; 149) " " + TRUE_KW@[149; 153) "true" + R_PAREN@[153; 154) ")" + R_BRACK@[154; 155) "]" + WHITESPACE@[155; 156) "\n" + ATTR@[156; 173) + POUND@[156; 157) "#" + EXCL@[157; 158) "!" + L_BRACK@[158; 159) "[" + PATH@[159; 166) + PATH_SEGMENT@[159; 166) + NAME_REF@[159; 166) + IDENT@[159; 166) "enabled" + TOKEN_TREE@[166; 172) + L_PAREN@[166; 167) "(" + TRUE_KW@[167; 171) "true" + R_PAREN@[171; 172) ")" + R_BRACK@[172; 173) "]" + WHITESPACE@[173; 174) "\n" + ATTR@[174; 191) + POUND@[174; 175) "#" + EXCL@[175; 176) "!" + L_BRACK@[176; 177) "[" + PATH@[177; 181) + PATH_SEGMENT@[177; 181) + NAME_REF@[177; 181) + IDENT@[177; 181) "attr" + TOKEN_TREE@[181; 190) + L_PAREN@[181; 182) "(" + STRING@[182; 189) "\"hello\"" + R_PAREN@[189; 190) ")" + R_BRACK@[190; 191) "]" + WHITESPACE@[191; 192) "\n" + ATTR@[192; 214) + POUND@[192; 193) "#" + EXCL@[193; 194) "!" + L_BRACK@[194; 195) "[" + PATH@[195; 199) + PATH_SEGMENT@[195; 199) + NAME_REF@[195; 199) + IDENT@[195; 199) "repr" + TOKEN_TREE@[199; 213) + L_PAREN@[199; 200) "(" + IDENT@[200; 201) "C" + COMMA@[201; 202) "," + WHITESPACE@[202; 203) " " + IDENT@[203; 208) "align" + WHITESPACE@[208; 209) " " + EQ@[209; 210) "=" + WHITESPACE@[210; 211) " " + INT_NUMBER@[211; 212) "4" + R_PAREN@[212; 213) ")" + R_BRACK@[213; 214) "]" + WHITESPACE@[214; 215) "\n" + ATTR@[215; 236) + POUND@[215; 216) "#" + EXCL@[216; 217) "!" + L_BRACK@[217; 218) "[" + PATH@[218; 222) + PATH_SEGMENT@[218; 222) + NAME_REF@[218; 222) + IDENT@[218; 222) "repr" + TOKEN_TREE@[222; 235) + L_PAREN@[222; 223) "(" + IDENT@[223; 224) "C" + COMMA@[224; 225) "," + WHITESPACE@[225; 226) " " + IDENT@[226; 231) "align" + TOKEN_TREE@[231; 234) + L_PAREN@[231; 232) "(" + INT_NUMBER@[232; 233) "4" + R_PAREN@[233; 234) ")" + R_PAREN@[234; 235) ")" + R_BRACK@[235; 236) "]" diff --git a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt deleted file mode 100644 index d72b72561..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.txt +++ /dev/null @@ -1,184 +0,0 @@ -SOURCE_FILE@[0; 236) - ATTR@[0; 8) - POUND@[0; 1) "#" - EXCL@[1; 2) "!" - L_BRACK@[2; 3) "[" - PATH@[3; 7) - PATH_SEGMENT@[3; 7) - NAME_REF@[3; 7) - IDENT@[3; 7) "attr" - R_BRACK@[7; 8) "]" - WHITESPACE@[8; 9) "\n" - ATTR@[9; 23) - POUND@[9; 10) "#" - EXCL@[10; 11) "!" - L_BRACK@[11; 12) "[" - PATH@[12; 16) - PATH_SEGMENT@[12; 16) - NAME_REF@[12; 16) - IDENT@[12; 16) "attr" - TOKEN_TREE@[16; 22) - L_PAREN@[16; 17) "(" - TRUE_KW@[17; 21) "true" - R_PAREN@[21; 22) ")" - R_BRACK@[22; 23) "]" - WHITESPACE@[23; 24) "\n" - ATTR@[24; 39) - POUND@[24; 25) "#" - EXCL@[25; 26) "!" - L_BRACK@[26; 27) "[" - PATH@[27; 31) - PATH_SEGMENT@[27; 31) - NAME_REF@[27; 31) - IDENT@[27; 31) "attr" - TOKEN_TREE@[31; 38) - L_PAREN@[31; 32) "(" - IDENT@[32; 37) "ident" - R_PAREN@[37; 38) ")" - R_BRACK@[38; 39) "]" - WHITESPACE@[39; 40) "\n" - ATTR@[40; 116) - POUND@[40; 41) "#" - EXCL@[41; 42) "!" - L_BRACK@[42; 43) "[" - PATH@[43; 47) - PATH_SEGMENT@[43; 47) - NAME_REF@[43; 47) - IDENT@[43; 47) "attr" - TOKEN_TREE@[47; 115) - L_PAREN@[47; 48) "(" - IDENT@[48; 53) "ident" - COMMA@[53; 54) "," - WHITESPACE@[54; 55) " " - INT_NUMBER@[55; 58) "100" - COMMA@[58; 59) "," - WHITESPACE@[59; 60) " " - TRUE_KW@[60; 64) "true" - COMMA@[64; 65) "," - WHITESPACE@[65; 66) " " - STRING@[66; 72) "\"true\"" - COMMA@[72; 73) "," - WHITESPACE@[73; 74) " " - IDENT@[74; 79) "ident" - WHITESPACE@[79; 80) " " - EQ@[80; 81) "=" - WHITESPACE@[81; 82) " " - INT_NUMBER@[82; 85) "100" - COMMA@[85; 86) "," - WHITESPACE@[86; 87) " " - IDENT@[87; 92) "ident" - WHITESPACE@[92; 93) " " - EQ@[93; 94) "=" - WHITESPACE@[94; 95) " " - STRING@[95; 102) "\"hello\"" - COMMA@[102; 103) "," - WHITESPACE@[103; 104) " " - IDENT@[104; 109) "ident" - TOKEN_TREE@[109; 114) - L_PAREN@[109; 110) "(" - INT_NUMBER@[110; 113) "100" - R_PAREN@[113; 114) ")" - R_PAREN@[114; 115) ")" - R_BRACK@[115; 116) "]" - WHITESPACE@[116; 117) "\n" - ATTR@[117; 130) - POUND@[117; 118) "#" - EXCL@[118; 119) "!" - L_BRACK@[119; 120) "[" - PATH@[120; 124) - PATH_SEGMENT@[120; 124) - NAME_REF@[120; 124) - IDENT@[120; 124) "attr" - TOKEN_TREE@[124; 129) - L_PAREN@[124; 125) "(" - INT_NUMBER@[125; 128) "100" - R_PAREN@[128; 129) ")" - R_BRACK@[129; 130) "]" - WHITESPACE@[130; 131) "\n" - ATTR@[131; 155) - POUND@[131; 132) "#" - EXCL@[132; 133) "!" - L_BRACK@[133; 134) "[" - PATH@[134; 138) - PATH_SEGMENT@[134; 138) - NAME_REF@[134; 138) - IDENT@[134; 138) "attr" - TOKEN_TREE@[138; 154) - L_PAREN@[138; 139) "(" - IDENT@[139; 146) "enabled" - WHITESPACE@[146; 147) " " - EQ@[147; 148) "=" - WHITESPACE@[148; 149) " " - TRUE_KW@[149; 153) "true" - R_PAREN@[153; 154) ")" - R_BRACK@[154; 155) "]" - WHITESPACE@[155; 156) "\n" - ATTR@[156; 173) - POUND@[156; 157) "#" - EXCL@[157; 158) "!" - L_BRACK@[158; 159) "[" - PATH@[159; 166) - PATH_SEGMENT@[159; 166) - NAME_REF@[159; 166) - IDENT@[159; 166) "enabled" - TOKEN_TREE@[166; 172) - L_PAREN@[166; 167) "(" - TRUE_KW@[167; 171) "true" - R_PAREN@[171; 172) ")" - R_BRACK@[172; 173) "]" - WHITESPACE@[173; 174) "\n" - ATTR@[174; 191) - POUND@[174; 175) "#" - EXCL@[175; 176) "!" - L_BRACK@[176; 177) "[" - PATH@[177; 181) - PATH_SEGMENT@[177; 181) - NAME_REF@[177; 181) - IDENT@[177; 181) "attr" - TOKEN_TREE@[181; 190) - L_PAREN@[181; 182) "(" - STRING@[182; 189) "\"hello\"" - R_PAREN@[189; 190) ")" - R_BRACK@[190; 191) "]" - WHITESPACE@[191; 192) "\n" - ATTR@[192; 214) - POUND@[192; 193) "#" - EXCL@[193; 194) "!" - L_BRACK@[194; 195) "[" - PATH@[195; 199) - PATH_SEGMENT@[195; 199) - NAME_REF@[195; 199) - IDENT@[195; 199) "repr" - TOKEN_TREE@[199; 213) - L_PAREN@[199; 200) "(" - IDENT@[200; 201) "C" - COMMA@[201; 202) "," - WHITESPACE@[202; 203) " " - IDENT@[203; 208) "align" - WHITESPACE@[208; 209) " " - EQ@[209; 210) "=" - WHITESPACE@[210; 211) " " - INT_NUMBER@[211; 212) "4" - R_PAREN@[212; 213) ")" - R_BRACK@[213; 214) "]" - WHITESPACE@[214; 215) "\n" - ATTR@[215; 236) - POUND@[215; 216) "#" - EXCL@[216; 217) "!" - L_BRACK@[217; 218) "[" - PATH@[218; 222) - PATH_SEGMENT@[218; 222) - NAME_REF@[218; 222) - IDENT@[218; 222) "repr" - TOKEN_TREE@[222; 235) - L_PAREN@[222; 223) "(" - IDENT@[223; 224) "C" - COMMA@[224; 225) "," - WHITESPACE@[225; 226) " " - IDENT@[226; 231) "align" - TOKEN_TREE@[231; 234) - L_PAREN@[231; 232) "(" - INT_NUMBER@[232; 233) "4" - R_PAREN@[233; 234) ")" - R_PAREN@[234; 235) ")" - R_BRACK@[235; 236) "]" diff --git a/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast b/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast new file mode 100644 index 000000000..1ffa36c7e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast @@ -0,0 +1,40 @@ +SOURCE_FILE@[0; 69) + EXTERN_CRATE_ITEM@[0; 17) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + CRATE_KW@[7; 12) "crate" + WHITESPACE@[12; 13) " " + NAME_REF@[13; 16) + IDENT@[13; 16) "foo" + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" + EXTERN_CRATE_ITEM@[18; 42) + EXTERN_KW@[18; 24) "extern" + WHITESPACE@[24; 25) " " + CRATE_KW@[25; 30) "crate" + WHITESPACE@[30; 31) " " + NAME_REF@[31; 34) + IDENT@[31; 34) "foo" + WHITESPACE@[34; 35) " " + ALIAS@[35; 41) + AS_KW@[35; 37) "as" + WHITESPACE@[37; 38) " " + NAME@[38; 41) + IDENT@[38; 41) "bar" + SEMI@[41; 42) ";" + WHITESPACE@[42; 43) "\n" + EXTERN_CRATE_ITEM@[43; 68) + EXTERN_KW@[43; 49) "extern" + WHITESPACE@[49; 50) " " + CRATE_KW@[50; 55) "crate" + WHITESPACE@[55; 56) " " + SELF_KW@[56; 60) + SELF_KW@[56; 60) "self" + WHITESPACE@[60; 61) " " + ALIAS@[61; 67) + AS_KW@[61; 63) "as" + WHITESPACE@[63; 64) " " + NAME@[64; 67) + IDENT@[64; 67) "baz" + SEMI@[67; 68) ";" + WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.txt b/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.txt deleted file mode 100644 index 1ffa36c7e..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.txt +++ /dev/null @@ -1,40 +0,0 @@ -SOURCE_FILE@[0; 69) - EXTERN_CRATE_ITEM@[0; 17) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - CRATE_KW@[7; 12) "crate" - WHITESPACE@[12; 13) " " - NAME_REF@[13; 16) - IDENT@[13; 16) "foo" - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) "\n" - EXTERN_CRATE_ITEM@[18; 42) - EXTERN_KW@[18; 24) "extern" - WHITESPACE@[24; 25) " " - CRATE_KW@[25; 30) "crate" - WHITESPACE@[30; 31) " " - NAME_REF@[31; 34) - IDENT@[31; 34) "foo" - WHITESPACE@[34; 35) " " - ALIAS@[35; 41) - AS_KW@[35; 37) "as" - WHITESPACE@[37; 38) " " - NAME@[38; 41) - IDENT@[38; 41) "bar" - SEMI@[41; 42) ";" - WHITESPACE@[42; 43) "\n" - EXTERN_CRATE_ITEM@[43; 68) - EXTERN_KW@[43; 49) "extern" - WHITESPACE@[49; 50) " " - CRATE_KW@[50; 55) "crate" - WHITESPACE@[55; 56) " " - SELF_KW@[56; 60) - SELF_KW@[56; 60) "self" - WHITESPACE@[60; 61) " " - ALIAS@[61; 67) - AS_KW@[61; 63) "as" - WHITESPACE@[63; 64) " " - NAME@[64; 67) - IDENT@[64; 67) "baz" - SEMI@[67; 68) ";" - WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast new file mode 100644 index 000000000..061019a73 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast @@ -0,0 +1,93 @@ +SOURCE_FILE@[0; 118) + MODULE@[0; 6) + MOD_KW@[0; 3) "mod" + WHITESPACE@[3; 4) " " + NAME@[4; 5) + IDENT@[4; 5) "a" + SEMI@[5; 6) ";" + WHITESPACE@[6; 8) "\n\n" + MODULE@[8; 17) + MOD_KW@[8; 11) "mod" + WHITESPACE@[11; 12) " " + NAME@[12; 13) + IDENT@[12; 13) "b" + WHITESPACE@[13; 14) " " + ITEM_LIST@[14; 17) + L_CURLY@[14; 15) "{" + WHITESPACE@[15; 16) "\n" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 19) "\n\n" + MODULE@[19; 65) + MOD_KW@[19; 22) "mod" + WHITESPACE@[22; 23) " " + NAME@[23; 24) + IDENT@[23; 24) "c" + WHITESPACE@[24; 25) " " + ITEM_LIST@[25; 65) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 31) "\n " + FN_DEF@[31; 47) + FN_KW@[31; 33) "fn" + WHITESPACE@[33; 34) " " + NAME@[34; 37) + IDENT@[34; 37) "foo" + PARAM_LIST@[37; 39) + L_PAREN@[37; 38) "(" + R_PAREN@[38; 39) ")" + WHITESPACE@[39; 40) " " + BLOCK_EXPR@[40; 47) + BLOCK@[40; 47) + L_CURLY@[40; 41) "{" + WHITESPACE@[41; 46) "\n " + R_CURLY@[46; 47) "}" + WHITESPACE@[47; 52) "\n " + STRUCT_DEF@[52; 63) + STRUCT_KW@[52; 58) "struct" + WHITESPACE@[58; 59) " " + NAME@[59; 60) + IDENT@[59; 60) "S" + WHITESPACE@[60; 61) " " + RECORD_FIELD_DEF_LIST@[61; 63) + L_CURLY@[61; 62) "{" + R_CURLY@[62; 63) "}" + WHITESPACE@[63; 64) "\n" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 67) "\n\n" + MODULE@[67; 118) + MOD_KW@[67; 70) "mod" + WHITESPACE@[70; 71) " " + NAME@[71; 72) + IDENT@[71; 72) "d" + WHITESPACE@[72; 73) " " + ITEM_LIST@[73; 118) + L_CURLY@[73; 74) "{" + WHITESPACE@[74; 79) "\n " + ATTR@[79; 87) + POUND@[79; 80) "#" + EXCL@[80; 81) "!" + L_BRACK@[81; 82) "[" + PATH@[82; 86) + PATH_SEGMENT@[82; 86) + NAME_REF@[82; 86) + IDENT@[82; 86) "attr" + R_BRACK@[86; 87) "]" + WHITESPACE@[87; 92) "\n " + MODULE@[92; 98) + MOD_KW@[92; 95) "mod" + WHITESPACE@[95; 96) " " + NAME@[96; 97) + IDENT@[96; 97) "e" + SEMI@[97; 98) ";" + WHITESPACE@[98; 103) "\n " + MODULE@[103; 116) + MOD_KW@[103; 106) "mod" + WHITESPACE@[106; 107) " " + NAME@[107; 108) + IDENT@[107; 108) "f" + WHITESPACE@[108; 109) " " + ITEM_LIST@[109; 116) + L_CURLY@[109; 110) "{" + WHITESPACE@[110; 115) "\n " + R_CURLY@[115; 116) "}" + WHITESPACE@[116; 117) "\n" + R_CURLY@[117; 118) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt deleted file mode 100644 index 061019a73..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt +++ /dev/null @@ -1,93 +0,0 @@ -SOURCE_FILE@[0; 118) - MODULE@[0; 6) - MOD_KW@[0; 3) "mod" - WHITESPACE@[3; 4) " " - NAME@[4; 5) - IDENT@[4; 5) "a" - SEMI@[5; 6) ";" - WHITESPACE@[6; 8) "\n\n" - MODULE@[8; 17) - MOD_KW@[8; 11) "mod" - WHITESPACE@[11; 12) " " - NAME@[12; 13) - IDENT@[12; 13) "b" - WHITESPACE@[13; 14) " " - ITEM_LIST@[14; 17) - L_CURLY@[14; 15) "{" - WHITESPACE@[15; 16) "\n" - R_CURLY@[16; 17) "}" - WHITESPACE@[17; 19) "\n\n" - MODULE@[19; 65) - MOD_KW@[19; 22) "mod" - WHITESPACE@[22; 23) " " - NAME@[23; 24) - IDENT@[23; 24) "c" - WHITESPACE@[24; 25) " " - ITEM_LIST@[25; 65) - L_CURLY@[25; 26) "{" - WHITESPACE@[26; 31) "\n " - FN_DEF@[31; 47) - FN_KW@[31; 33) "fn" - WHITESPACE@[33; 34) " " - NAME@[34; 37) - IDENT@[34; 37) "foo" - PARAM_LIST@[37; 39) - L_PAREN@[37; 38) "(" - R_PAREN@[38; 39) ")" - WHITESPACE@[39; 40) " " - BLOCK_EXPR@[40; 47) - BLOCK@[40; 47) - L_CURLY@[40; 41) "{" - WHITESPACE@[41; 46) "\n " - R_CURLY@[46; 47) "}" - WHITESPACE@[47; 52) "\n " - STRUCT_DEF@[52; 63) - STRUCT_KW@[52; 58) "struct" - WHITESPACE@[58; 59) " " - NAME@[59; 60) - IDENT@[59; 60) "S" - WHITESPACE@[60; 61) " " - RECORD_FIELD_DEF_LIST@[61; 63) - L_CURLY@[61; 62) "{" - R_CURLY@[62; 63) "}" - WHITESPACE@[63; 64) "\n" - R_CURLY@[64; 65) "}" - WHITESPACE@[65; 67) "\n\n" - MODULE@[67; 118) - MOD_KW@[67; 70) "mod" - WHITESPACE@[70; 71) " " - NAME@[71; 72) - IDENT@[71; 72) "d" - WHITESPACE@[72; 73) " " - ITEM_LIST@[73; 118) - L_CURLY@[73; 74) "{" - WHITESPACE@[74; 79) "\n " - ATTR@[79; 87) - POUND@[79; 80) "#" - EXCL@[80; 81) "!" - L_BRACK@[81; 82) "[" - PATH@[82; 86) - PATH_SEGMENT@[82; 86) - NAME_REF@[82; 86) - IDENT@[82; 86) "attr" - R_BRACK@[86; 87) "]" - WHITESPACE@[87; 92) "\n " - MODULE@[92; 98) - MOD_KW@[92; 95) "mod" - WHITESPACE@[95; 96) " " - NAME@[96; 97) - IDENT@[96; 97) "e" - SEMI@[97; 98) ";" - WHITESPACE@[98; 103) "\n " - MODULE@[103; 116) - MOD_KW@[103; 106) "mod" - WHITESPACE@[106; 107) " " - NAME@[107; 108) - IDENT@[107; 108) "f" - WHITESPACE@[108; 109) " " - ITEM_LIST@[109; 116) - L_CURLY@[109; 110) "{" - WHITESPACE@[110; 115) "\n " - R_CURLY@[115; 116) "}" - WHITESPACE@[116; 117) "\n" - R_CURLY@[117; 118) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast b/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast new file mode 100644 index 000000000..41db9dbb7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 19) + USE_ITEM@[0; 8) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 7) + PATH@[4; 7) + PATH_SEGMENT@[4; 7) + NAME_REF@[4; 7) + IDENT@[4; 7) "foo" + SEMI@[7; 8) ";" + WHITESPACE@[8; 9) "\n" + USE_ITEM@[9; 19) + USE_KW@[9; 12) "use" + WHITESPACE@[12; 13) " " + USE_TREE@[13; 18) + PATH@[13; 18) + PATH_SEGMENT@[13; 18) + COLONCOLON@[13; 15) "::" + NAME_REF@[15; 18) + IDENT@[15; 18) "bar" + SEMI@[18; 19) ";" diff --git a/crates/ra_syntax/test_data/parser/ok/0009_use_item.txt b/crates/ra_syntax/test_data/parser/ok/0009_use_item.txt deleted file mode 100644 index 41db9dbb7..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0009_use_item.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 19) - USE_ITEM@[0; 8) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 7) - PATH@[4; 7) - PATH_SEGMENT@[4; 7) - NAME_REF@[4; 7) - IDENT@[4; 7) "foo" - SEMI@[7; 8) ";" - WHITESPACE@[8; 9) "\n" - USE_ITEM@[9; 19) - USE_KW@[9; 12) "use" - WHITESPACE@[12; 13) " " - USE_TREE@[13; 18) - PATH@[13; 18) - PATH_SEGMENT@[13; 18) - COLONCOLON@[13; 15) "::" - NAME_REF@[15; 18) - IDENT@[15; 18) "bar" - SEMI@[18; 19) ";" diff --git a/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast b/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast new file mode 100644 index 000000000..09871b84d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast @@ -0,0 +1,42 @@ +SOURCE_FILE@[0; 40) + USE_ITEM@[0; 20) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 19) + PATH@[4; 19) + PATH@[4; 14) + PATH@[4; 9) + PATH_SEGMENT@[4; 9) + COLONCOLON@[4; 6) "::" + NAME_REF@[6; 9) + IDENT@[6; 9) "foo" + COLONCOLON@[9; 11) "::" + PATH_SEGMENT@[11; 14) + NAME_REF@[11; 14) + IDENT@[11; 14) "bar" + COLONCOLON@[14; 16) "::" + PATH_SEGMENT@[16; 19) + NAME_REF@[16; 19) + IDENT@[16; 19) "baz" + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" + USE_ITEM@[21; 39) + USE_KW@[21; 24) "use" + WHITESPACE@[24; 25) " " + USE_TREE@[25; 38) + PATH@[25; 38) + PATH@[25; 33) + PATH@[25; 28) + PATH_SEGMENT@[25; 28) + NAME_REF@[25; 28) + IDENT@[25; 28) "foo" + COLONCOLON@[28; 30) "::" + PATH_SEGMENT@[30; 33) + NAME_REF@[30; 33) + IDENT@[30; 33) "bar" + COLONCOLON@[33; 35) "::" + PATH_SEGMENT@[35; 38) + NAME_REF@[35; 38) + IDENT@[35; 38) "baz" + SEMI@[38; 39) ";" + WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.txt b/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.txt deleted file mode 100644 index 09871b84d..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.txt +++ /dev/null @@ -1,42 +0,0 @@ -SOURCE_FILE@[0; 40) - USE_ITEM@[0; 20) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 19) - PATH@[4; 19) - PATH@[4; 14) - PATH@[4; 9) - PATH_SEGMENT@[4; 9) - COLONCOLON@[4; 6) "::" - NAME_REF@[6; 9) - IDENT@[6; 9) "foo" - COLONCOLON@[9; 11) "::" - PATH_SEGMENT@[11; 14) - NAME_REF@[11; 14) - IDENT@[11; 14) "bar" - COLONCOLON@[14; 16) "::" - PATH_SEGMENT@[16; 19) - NAME_REF@[16; 19) - IDENT@[16; 19) "baz" - SEMI@[19; 20) ";" - WHITESPACE@[20; 21) "\n" - USE_ITEM@[21; 39) - USE_KW@[21; 24) "use" - WHITESPACE@[24; 25) " " - USE_TREE@[25; 38) - PATH@[25; 38) - PATH@[25; 33) - PATH@[25; 28) - PATH_SEGMENT@[25; 28) - NAME_REF@[25; 28) - IDENT@[25; 28) "foo" - COLONCOLON@[28; 30) "::" - PATH_SEGMENT@[30; 33) - NAME_REF@[30; 33) - IDENT@[30; 33) "bar" - COLONCOLON@[33; 35) "::" - PATH_SEGMENT@[35; 38) - NAME_REF@[35; 38) - IDENT@[35; 38) "baz" - SEMI@[38; 39) ";" - WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast new file mode 100644 index 000000000..f7aa8afe4 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast @@ -0,0 +1,58 @@ +SOURCE_FILE@[0; 60) + FN_DEF@[0; 34) + ATTR@[0; 12) + POUND@[0; 1) "#" + L_BRACK@[1; 2) "[" + PATH@[2; 5) + PATH_SEGMENT@[2; 5) + NAME_REF@[2; 5) + IDENT@[2; 5) "cfg" + TOKEN_TREE@[5; 11) + L_PAREN@[5; 6) "(" + IDENT@[6; 10) "test" + R_PAREN@[10; 11) ")" + R_BRACK@[11; 12) "]" + WHITESPACE@[12; 13) "\n" + ATTR@[13; 22) + POUND@[13; 14) "#" + L_BRACK@[14; 15) "[" + PATH@[15; 21) + PATH_SEGMENT@[15; 21) + NAME_REF@[15; 21) + IDENT@[15; 21) "ignore" + R_BRACK@[21; 22) "]" + WHITESPACE@[22; 23) "\n" + FN_KW@[23; 25) "fn" + WHITESPACE@[25; 26) " " + NAME@[26; 29) + IDENT@[26; 29) "foo" + PARAM_LIST@[29; 31) + L_PAREN@[29; 30) "(" + R_PAREN@[30; 31) ")" + WHITESPACE@[31; 32) " " + BLOCK_EXPR@[32; 34) + BLOCK@[32; 34) + L_CURLY@[32; 33) "{" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 36) "\n\n" + MODULE@[36; 59) + ATTR@[36; 52) + POUND@[36; 37) "#" + L_BRACK@[37; 38) "[" + PATH@[38; 42) + PATH_SEGMENT@[38; 42) + NAME_REF@[38; 42) + IDENT@[38; 42) "path" + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " + LITERAL@[45; 51) + STRING@[45; 51) "\"a.rs\"" + R_BRACK@[51; 52) "]" + WHITESPACE@[52; 53) "\n" + MOD_KW@[53; 56) "mod" + WHITESPACE@[56; 57) " " + NAME@[57; 58) + IDENT@[57; 58) "b" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt deleted file mode 100644 index f7aa8afe4..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt +++ /dev/null @@ -1,58 +0,0 @@ -SOURCE_FILE@[0; 60) - FN_DEF@[0; 34) - ATTR@[0; 12) - POUND@[0; 1) "#" - L_BRACK@[1; 2) "[" - PATH@[2; 5) - PATH_SEGMENT@[2; 5) - NAME_REF@[2; 5) - IDENT@[2; 5) "cfg" - TOKEN_TREE@[5; 11) - L_PAREN@[5; 6) "(" - IDENT@[6; 10) "test" - R_PAREN@[10; 11) ")" - R_BRACK@[11; 12) "]" - WHITESPACE@[12; 13) "\n" - ATTR@[13; 22) - POUND@[13; 14) "#" - L_BRACK@[14; 15) "[" - PATH@[15; 21) - PATH_SEGMENT@[15; 21) - NAME_REF@[15; 21) - IDENT@[15; 21) "ignore" - R_BRACK@[21; 22) "]" - WHITESPACE@[22; 23) "\n" - FN_KW@[23; 25) "fn" - WHITESPACE@[25; 26) " " - NAME@[26; 29) - IDENT@[26; 29) "foo" - PARAM_LIST@[29; 31) - L_PAREN@[29; 30) "(" - R_PAREN@[30; 31) ")" - WHITESPACE@[31; 32) " " - BLOCK_EXPR@[32; 34) - BLOCK@[32; 34) - L_CURLY@[32; 33) "{" - R_CURLY@[33; 34) "}" - WHITESPACE@[34; 36) "\n\n" - MODULE@[36; 59) - ATTR@[36; 52) - POUND@[36; 37) "#" - L_BRACK@[37; 38) "[" - PATH@[38; 42) - PATH_SEGMENT@[38; 42) - NAME_REF@[38; 42) - IDENT@[38; 42) "path" - WHITESPACE@[42; 43) " " - EQ@[43; 44) "=" - WHITESPACE@[44; 45) " " - LITERAL@[45; 51) - STRING@[45; 51) "\"a.rs\"" - R_BRACK@[51; 52) "]" - WHITESPACE@[52; 53) "\n" - MOD_KW@[53; 56) "mod" - WHITESPACE@[56; 57) " " - NAME@[57; 58) - IDENT@[57; 58) "b" - SEMI@[58; 59) ";" - WHITESPACE@[59; 60) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast b/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast new file mode 100644 index 000000000..68e692fd0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast @@ -0,0 +1,107 @@ +SOURCE_FILE@[0; 98) + FN_DEF@[0; 9) + 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; 9) + BLOCK@[7; 9) + L_CURLY@[7; 8) "{" + R_CURLY@[8; 9) "}" + WHITESPACE@[9; 10) "\n" + FN_DEF@[10; 23) + VISIBILITY@[10; 13) + PUB_KW@[10; 13) "pub" + WHITESPACE@[13; 14) " " + FN_KW@[14; 16) "fn" + WHITESPACE@[16; 17) " " + NAME@[17; 18) + IDENT@[17; 18) "b" + PARAM_LIST@[18; 20) + L_PAREN@[18; 19) "(" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " + BLOCK_EXPR@[21; 23) + BLOCK@[21; 23) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + WHITESPACE@[23; 24) "\n" + FN_DEF@[24; 44) + VISIBILITY@[24; 34) + PUB_KW@[24; 27) "pub" + L_PAREN@[27; 28) "(" + CRATE_KW@[28; 33) "crate" + R_PAREN@[33; 34) ")" + WHITESPACE@[34; 35) " " + FN_KW@[35; 37) "fn" + WHITESPACE@[37; 38) " " + NAME@[38; 39) + IDENT@[38; 39) "c" + PARAM_LIST@[39; 41) + L_PAREN@[39; 40) "(" + R_PAREN@[40; 41) ")" + WHITESPACE@[41; 42) " " + BLOCK_EXPR@[42; 44) + BLOCK@[42; 44) + L_CURLY@[42; 43) "{" + R_CURLY@[43; 44) "}" + WHITESPACE@[44; 45) "\n" + FN_DEF@[45; 65) + VISIBILITY@[45; 55) + PUB_KW@[45; 48) "pub" + L_PAREN@[48; 49) "(" + SUPER_KW@[49; 54) "super" + R_PAREN@[54; 55) ")" + WHITESPACE@[55; 56) " " + FN_KW@[56; 58) "fn" + WHITESPACE@[58; 59) " " + NAME@[59; 60) + IDENT@[59; 60) "d" + PARAM_LIST@[60; 62) + L_PAREN@[60; 61) "(" + R_PAREN@[61; 62) ")" + WHITESPACE@[62; 63) " " + BLOCK_EXPR@[63; 65) + BLOCK@[63; 65) + L_CURLY@[63; 64) "{" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 66) "\n" + FN_DEF@[66; 97) + VISIBILITY@[66; 87) + PUB_KW@[66; 69) "pub" + L_PAREN@[69; 70) "(" + IN_KW@[70; 72) "in" + WHITESPACE@[72; 73) " " + PATH@[73; 86) + PATH@[73; 81) + PATH@[73; 76) + PATH_SEGMENT@[73; 76) + NAME_REF@[73; 76) + IDENT@[73; 76) "foo" + COLONCOLON@[76; 78) "::" + PATH_SEGMENT@[78; 81) + NAME_REF@[78; 81) + IDENT@[78; 81) "bar" + COLONCOLON@[81; 83) "::" + PATH_SEGMENT@[83; 86) + NAME_REF@[83; 86) + IDENT@[83; 86) "baz" + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " + FN_KW@[88; 90) "fn" + WHITESPACE@[90; 91) " " + NAME@[91; 92) + IDENT@[91; 92) "e" + PARAM_LIST@[92; 94) + L_PAREN@[92; 93) "(" + R_PAREN@[93; 94) ")" + WHITESPACE@[94; 95) " " + BLOCK_EXPR@[95; 97) + BLOCK@[95; 97) + L_CURLY@[95; 96) "{" + R_CURLY@[96; 97) "}" + WHITESPACE@[97; 98) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt b/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt deleted file mode 100644 index 68e692fd0..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt +++ /dev/null @@ -1,107 +0,0 @@ -SOURCE_FILE@[0; 98) - FN_DEF@[0; 9) - 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; 9) - BLOCK@[7; 9) - L_CURLY@[7; 8) "{" - R_CURLY@[8; 9) "}" - WHITESPACE@[9; 10) "\n" - FN_DEF@[10; 23) - VISIBILITY@[10; 13) - PUB_KW@[10; 13) "pub" - WHITESPACE@[13; 14) " " - FN_KW@[14; 16) "fn" - WHITESPACE@[16; 17) " " - NAME@[17; 18) - IDENT@[17; 18) "b" - PARAM_LIST@[18; 20) - L_PAREN@[18; 19) "(" - R_PAREN@[19; 20) ")" - WHITESPACE@[20; 21) " " - BLOCK_EXPR@[21; 23) - BLOCK@[21; 23) - L_CURLY@[21; 22) "{" - R_CURLY@[22; 23) "}" - WHITESPACE@[23; 24) "\n" - FN_DEF@[24; 44) - VISIBILITY@[24; 34) - PUB_KW@[24; 27) "pub" - L_PAREN@[27; 28) "(" - CRATE_KW@[28; 33) "crate" - R_PAREN@[33; 34) ")" - WHITESPACE@[34; 35) " " - FN_KW@[35; 37) "fn" - WHITESPACE@[37; 38) " " - NAME@[38; 39) - IDENT@[38; 39) "c" - PARAM_LIST@[39; 41) - L_PAREN@[39; 40) "(" - R_PAREN@[40; 41) ")" - WHITESPACE@[41; 42) " " - BLOCK_EXPR@[42; 44) - BLOCK@[42; 44) - L_CURLY@[42; 43) "{" - R_CURLY@[43; 44) "}" - WHITESPACE@[44; 45) "\n" - FN_DEF@[45; 65) - VISIBILITY@[45; 55) - PUB_KW@[45; 48) "pub" - L_PAREN@[48; 49) "(" - SUPER_KW@[49; 54) "super" - R_PAREN@[54; 55) ")" - WHITESPACE@[55; 56) " " - FN_KW@[56; 58) "fn" - WHITESPACE@[58; 59) " " - NAME@[59; 60) - IDENT@[59; 60) "d" - PARAM_LIST@[60; 62) - L_PAREN@[60; 61) "(" - R_PAREN@[61; 62) ")" - WHITESPACE@[62; 63) " " - BLOCK_EXPR@[63; 65) - BLOCK@[63; 65) - L_CURLY@[63; 64) "{" - R_CURLY@[64; 65) "}" - WHITESPACE@[65; 66) "\n" - FN_DEF@[66; 97) - VISIBILITY@[66; 87) - PUB_KW@[66; 69) "pub" - L_PAREN@[69; 70) "(" - IN_KW@[70; 72) "in" - WHITESPACE@[72; 73) " " - PATH@[73; 86) - PATH@[73; 81) - PATH@[73; 76) - PATH_SEGMENT@[73; 76) - NAME_REF@[73; 76) - IDENT@[73; 76) "foo" - COLONCOLON@[76; 78) "::" - PATH_SEGMENT@[78; 81) - NAME_REF@[78; 81) - IDENT@[78; 81) "bar" - COLONCOLON@[81; 83) "::" - PATH_SEGMENT@[83; 86) - NAME_REF@[83; 86) - IDENT@[83; 86) "baz" - R_PAREN@[86; 87) ")" - WHITESPACE@[87; 88) " " - FN_KW@[88; 90) "fn" - WHITESPACE@[90; 91) " " - NAME@[91; 92) - IDENT@[91; 92) "e" - PARAM_LIST@[92; 94) - L_PAREN@[92; 93) "(" - R_PAREN@[93; 94) ")" - WHITESPACE@[94; 95) " " - BLOCK_EXPR@[95; 97) - BLOCK@[95; 97) - L_CURLY@[95; 96) "{" - R_CURLY@[96; 97) "}" - WHITESPACE@[97; 98) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast new file mode 100644 index 000000000..50730e958 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast @@ -0,0 +1,57 @@ +SOURCE_FILE@[0; 65) + USE_ITEM@[0; 14) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 13) + PATH@[4; 13) + PATH@[4; 8) + PATH_SEGMENT@[4; 8) + SELF_KW@[4; 8) "self" + COLONCOLON@[8; 10) "::" + PATH_SEGMENT@[10; 13) + NAME_REF@[10; 13) + IDENT@[10; 13) "foo" + SEMI@[13; 14) ";" + WHITESPACE@[14; 15) "\n" + USE_ITEM@[15; 37) + USE_KW@[15; 18) "use" + WHITESPACE@[18; 19) " " + USE_TREE@[19; 36) + PATH@[19; 36) + PATH@[19; 31) + PATH@[19; 24) + PATH_SEGMENT@[19; 24) + SUPER_KW@[19; 24) "super" + COLONCOLON@[24; 26) "::" + PATH_SEGMENT@[26; 31) + SUPER_KW@[26; 31) "super" + COLONCOLON@[31; 33) "::" + PATH_SEGMENT@[33; 36) + NAME_REF@[33; 36) + IDENT@[33; 36) "bar" + SEMI@[36; 37) ";" + WHITESPACE@[37; 38) "\n" + USE_ITEM@[38; 64) + USE_KW@[38; 41) "use" + WHITESPACE@[41; 42) " " + USE_TREE@[42; 63) + PATH@[42; 63) + PATH@[42; 58) + PATH@[42; 51) + PATH@[42; 48) + PATH_SEGMENT@[42; 48) + COLONCOLON@[42; 44) "::" + SELF_KW@[44; 48) "self" + COLONCOLON@[48; 50) "::" + PATH_SEGMENT@[50; 51) + NAME_REF@[50; 51) + IDENT@[50; 51) "a" + COLONCOLON@[51; 53) "::" + PATH_SEGMENT@[53; 58) + SUPER_KW@[53; 58) "super" + COLONCOLON@[58; 60) "::" + PATH_SEGMENT@[60; 63) + NAME_REF@[60; 63) + IDENT@[60; 63) "bar" + SEMI@[63; 64) ";" + WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.txt b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.txt deleted file mode 100644 index 50730e958..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.txt +++ /dev/null @@ -1,57 +0,0 @@ -SOURCE_FILE@[0; 65) - USE_ITEM@[0; 14) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 13) - PATH@[4; 13) - PATH@[4; 8) - PATH_SEGMENT@[4; 8) - SELF_KW@[4; 8) "self" - COLONCOLON@[8; 10) "::" - PATH_SEGMENT@[10; 13) - NAME_REF@[10; 13) - IDENT@[10; 13) "foo" - SEMI@[13; 14) ";" - WHITESPACE@[14; 15) "\n" - USE_ITEM@[15; 37) - USE_KW@[15; 18) "use" - WHITESPACE@[18; 19) " " - USE_TREE@[19; 36) - PATH@[19; 36) - PATH@[19; 31) - PATH@[19; 24) - PATH_SEGMENT@[19; 24) - SUPER_KW@[19; 24) "super" - COLONCOLON@[24; 26) "::" - PATH_SEGMENT@[26; 31) - SUPER_KW@[26; 31) "super" - COLONCOLON@[31; 33) "::" - PATH_SEGMENT@[33; 36) - NAME_REF@[33; 36) - IDENT@[33; 36) "bar" - SEMI@[36; 37) ";" - WHITESPACE@[37; 38) "\n" - USE_ITEM@[38; 64) - USE_KW@[38; 41) "use" - WHITESPACE@[41; 42) " " - USE_TREE@[42; 63) - PATH@[42; 63) - PATH@[42; 58) - PATH@[42; 51) - PATH@[42; 48) - PATH_SEGMENT@[42; 48) - COLONCOLON@[42; 44) "::" - SELF_KW@[44; 48) "self" - COLONCOLON@[48; 50) "::" - PATH_SEGMENT@[50; 51) - NAME_REF@[50; 51) - IDENT@[50; 51) "a" - COLONCOLON@[51; 53) "::" - PATH_SEGMENT@[53; 58) - SUPER_KW@[53; 58) "super" - COLONCOLON@[58; 60) "::" - PATH_SEGMENT@[60; 63) - NAME_REF@[60; 63) - IDENT@[60; 63) "bar" - SEMI@[63; 64) ";" - WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast b/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast new file mode 100644 index 000000000..3fe34d001 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast @@ -0,0 +1,95 @@ +SOURCE_FILE@[0; 81) + USE_ITEM@[0; 6) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 5) + STAR@[4; 5) "*" + SEMI@[5; 6) ";" + WHITESPACE@[6; 7) "\n" + USE_ITEM@[7; 15) + USE_KW@[7; 10) "use" + WHITESPACE@[10; 11) " " + USE_TREE@[11; 14) + COLONCOLON@[11; 13) "::" + STAR@[13; 14) "*" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" + USE_ITEM@[16; 25) + USE_KW@[16; 19) "use" + WHITESPACE@[19; 20) " " + USE_TREE@[20; 24) + COLONCOLON@[20; 22) "::" + USE_TREE_LIST@[22; 24) + L_CURLY@[22; 23) "{" + R_CURLY@[23; 24) "}" + SEMI@[24; 25) ";" + WHITESPACE@[25; 26) "\n" + USE_ITEM@[26; 33) + USE_KW@[26; 29) "use" + WHITESPACE@[29; 30) " " + USE_TREE@[30; 32) + USE_TREE_LIST@[30; 32) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + SEMI@[32; 33) ";" + WHITESPACE@[33; 34) "\n" + USE_ITEM@[34; 45) + USE_KW@[34; 37) "use" + WHITESPACE@[37; 38) " " + USE_TREE@[38; 44) + PATH@[38; 41) + PATH_SEGMENT@[38; 41) + NAME_REF@[38; 41) + IDENT@[38; 41) "foo" + COLONCOLON@[41; 43) "::" + STAR@[43; 44) "*" + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" + USE_ITEM@[46; 58) + USE_KW@[46; 49) "use" + WHITESPACE@[49; 50) " " + USE_TREE@[50; 57) + PATH@[50; 53) + PATH_SEGMENT@[50; 53) + NAME_REF@[50; 53) + IDENT@[50; 53) "foo" + COLONCOLON@[53; 55) "::" + USE_TREE_LIST@[55; 57) + L_CURLY@[55; 56) "{" + R_CURLY@[56; 57) "}" + SEMI@[57; 58) ";" + WHITESPACE@[58; 59) "\n" + USE_ITEM@[59; 80) + USE_KW@[59; 62) "use" + WHITESPACE@[62; 63) " " + USE_TREE@[63; 79) + PATH@[63; 68) + PATH_SEGMENT@[63; 68) + COLONCOLON@[63; 65) "::" + NAME_REF@[65; 68) + IDENT@[65; 68) "foo" + COLONCOLON@[68; 70) "::" + USE_TREE_LIST@[70; 79) + L_CURLY@[70; 71) "{" + USE_TREE@[71; 72) + PATH@[71; 72) + PATH_SEGMENT@[71; 72) + NAME_REF@[71; 72) + IDENT@[71; 72) "a" + COMMA@[72; 73) "," + WHITESPACE@[73; 74) " " + USE_TREE@[74; 75) + PATH@[74; 75) + PATH_SEGMENT@[74; 75) + NAME_REF@[74; 75) + IDENT@[74; 75) "b" + COMMA@[75; 76) "," + WHITESPACE@[76; 77) " " + USE_TREE@[77; 78) + PATH@[77; 78) + PATH_SEGMENT@[77; 78) + NAME_REF@[77; 78) + IDENT@[77; 78) "c" + R_CURLY@[78; 79) "}" + SEMI@[79; 80) ";" + WHITESPACE@[80; 81) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0014_use_tree.txt b/crates/ra_syntax/test_data/parser/ok/0014_use_tree.txt deleted file mode 100644 index 3fe34d001..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0014_use_tree.txt +++ /dev/null @@ -1,95 +0,0 @@ -SOURCE_FILE@[0; 81) - USE_ITEM@[0; 6) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 5) - STAR@[4; 5) "*" - SEMI@[5; 6) ";" - WHITESPACE@[6; 7) "\n" - USE_ITEM@[7; 15) - USE_KW@[7; 10) "use" - WHITESPACE@[10; 11) " " - USE_TREE@[11; 14) - COLONCOLON@[11; 13) "::" - STAR@[13; 14) "*" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" - USE_ITEM@[16; 25) - USE_KW@[16; 19) "use" - WHITESPACE@[19; 20) " " - USE_TREE@[20; 24) - COLONCOLON@[20; 22) "::" - USE_TREE_LIST@[22; 24) - L_CURLY@[22; 23) "{" - R_CURLY@[23; 24) "}" - SEMI@[24; 25) ";" - WHITESPACE@[25; 26) "\n" - USE_ITEM@[26; 33) - USE_KW@[26; 29) "use" - WHITESPACE@[29; 30) " " - USE_TREE@[30; 32) - USE_TREE_LIST@[30; 32) - L_CURLY@[30; 31) "{" - R_CURLY@[31; 32) "}" - SEMI@[32; 33) ";" - WHITESPACE@[33; 34) "\n" - USE_ITEM@[34; 45) - USE_KW@[34; 37) "use" - WHITESPACE@[37; 38) " " - USE_TREE@[38; 44) - PATH@[38; 41) - PATH_SEGMENT@[38; 41) - NAME_REF@[38; 41) - IDENT@[38; 41) "foo" - COLONCOLON@[41; 43) "::" - STAR@[43; 44) "*" - SEMI@[44; 45) ";" - WHITESPACE@[45; 46) "\n" - USE_ITEM@[46; 58) - USE_KW@[46; 49) "use" - WHITESPACE@[49; 50) " " - USE_TREE@[50; 57) - PATH@[50; 53) - PATH_SEGMENT@[50; 53) - NAME_REF@[50; 53) - IDENT@[50; 53) "foo" - COLONCOLON@[53; 55) "::" - USE_TREE_LIST@[55; 57) - L_CURLY@[55; 56) "{" - R_CURLY@[56; 57) "}" - SEMI@[57; 58) ";" - WHITESPACE@[58; 59) "\n" - USE_ITEM@[59; 80) - USE_KW@[59; 62) "use" - WHITESPACE@[62; 63) " " - USE_TREE@[63; 79) - PATH@[63; 68) - PATH_SEGMENT@[63; 68) - COLONCOLON@[63; 65) "::" - NAME_REF@[65; 68) - IDENT@[65; 68) "foo" - COLONCOLON@[68; 70) "::" - USE_TREE_LIST@[70; 79) - L_CURLY@[70; 71) "{" - USE_TREE@[71; 72) - PATH@[71; 72) - PATH_SEGMENT@[71; 72) - NAME_REF@[71; 72) - IDENT@[71; 72) "a" - COMMA@[72; 73) "," - WHITESPACE@[73; 74) " " - USE_TREE@[74; 75) - PATH@[74; 75) - PATH_SEGMENT@[74; 75) - NAME_REF@[74; 75) - IDENT@[74; 75) "b" - COMMA@[75; 76) "," - WHITESPACE@[76; 77) " " - USE_TREE@[77; 78) - PATH@[77; 78) - PATH_SEGMENT@[77; 78) - NAME_REF@[77; 78) - IDENT@[77; 78) "c" - R_CURLY@[78; 79) "}" - SEMI@[79; 80) ";" - WHITESPACE@[80; 81) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast b/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast new file mode 100644 index 000000000..e63f14253 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast @@ -0,0 +1,65 @@ +SOURCE_FILE@[0; 55) + USE_ITEM@[0; 15) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " + USE_TREE@[4; 14) + PATH@[4; 7) + PATH_SEGMENT@[4; 7) + NAME_REF@[4; 7) + IDENT@[4; 7) "foo" + WHITESPACE@[7; 8) " " + ALIAS@[8; 14) + AS_KW@[8; 10) "as" + WHITESPACE@[10; 11) " " + NAME@[11; 14) + IDENT@[11; 14) "bar" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" + USE_ITEM@[16; 54) + USE_KW@[16; 19) "use" + WHITESPACE@[19; 20) " " + USE_TREE@[20; 53) + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "foo" + COLONCOLON@[23; 25) "::" + USE_TREE_LIST@[25; 53) + L_CURLY@[25; 26) "{" + USE_TREE@[26; 32) + PATH@[26; 27) + PATH_SEGMENT@[26; 27) + NAME_REF@[26; 27) + IDENT@[26; 27) "a" + WHITESPACE@[27; 28) " " + ALIAS@[28; 32) + AS_KW@[28; 30) "as" + WHITESPACE@[30; 31) " " + NAME@[31; 32) + IDENT@[31; 32) "b" + COMMA@[32; 33) "," + WHITESPACE@[33; 34) " " + USE_TREE@[34; 35) + STAR@[34; 35) "*" + COMMA@[35; 36) "," + WHITESPACE@[36; 37) " " + USE_TREE@[37; 40) + COLONCOLON@[37; 39) "::" + STAR@[39; 40) "*" + COMMA@[40; 41) "," + WHITESPACE@[41; 42) " " + USE_TREE@[42; 52) + PATH@[42; 47) + PATH_SEGMENT@[42; 47) + COLONCOLON@[42; 44) "::" + NAME_REF@[44; 47) + IDENT@[44; 47) "foo" + WHITESPACE@[47; 48) " " + ALIAS@[48; 52) + AS_KW@[48; 50) "as" + WHITESPACE@[50; 51) " " + NAME@[51; 52) + IDENT@[51; 52) "x" + R_CURLY@[52; 53) "}" + SEMI@[53; 54) ";" + WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0015_use_tree.txt b/crates/ra_syntax/test_data/parser/ok/0015_use_tree.txt deleted file mode 100644 index e63f14253..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0015_use_tree.txt +++ /dev/null @@ -1,65 +0,0 @@ -SOURCE_FILE@[0; 55) - USE_ITEM@[0; 15) - USE_KW@[0; 3) "use" - WHITESPACE@[3; 4) " " - USE_TREE@[4; 14) - PATH@[4; 7) - PATH_SEGMENT@[4; 7) - NAME_REF@[4; 7) - IDENT@[4; 7) "foo" - WHITESPACE@[7; 8) " " - ALIAS@[8; 14) - AS_KW@[8; 10) "as" - WHITESPACE@[10; 11) " " - NAME@[11; 14) - IDENT@[11; 14) "bar" - SEMI@[14; 15) ";" - WHITESPACE@[15; 16) "\n" - USE_ITEM@[16; 54) - USE_KW@[16; 19) "use" - WHITESPACE@[19; 20) " " - USE_TREE@[20; 53) - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "foo" - COLONCOLON@[23; 25) "::" - USE_TREE_LIST@[25; 53) - L_CURLY@[25; 26) "{" - USE_TREE@[26; 32) - PATH@[26; 27) - PATH_SEGMENT@[26; 27) - NAME_REF@[26; 27) - IDENT@[26; 27) "a" - WHITESPACE@[27; 28) " " - ALIAS@[28; 32) - AS_KW@[28; 30) "as" - WHITESPACE@[30; 31) " " - NAME@[31; 32) - IDENT@[31; 32) "b" - COMMA@[32; 33) "," - WHITESPACE@[33; 34) " " - USE_TREE@[34; 35) - STAR@[34; 35) "*" - COMMA@[35; 36) "," - WHITESPACE@[36; 37) " " - USE_TREE@[37; 40) - COLONCOLON@[37; 39) "::" - STAR@[39; 40) "*" - COMMA@[40; 41) "," - WHITESPACE@[41; 42) " " - USE_TREE@[42; 52) - PATH@[42; 47) - PATH_SEGMENT@[42; 47) - COLONCOLON@[42; 44) "::" - NAME_REF@[44; 47) - IDENT@[44; 47) "foo" - WHITESPACE@[47; 48) " " - ALIAS@[48; 52) - AS_KW@[48; 50) "as" - WHITESPACE@[50; 51) " " - NAME@[51; 52) - IDENT@[51; 52) "x" - R_CURLY@[52; 53) "}" - SEMI@[53; 54) ";" - WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast b/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast new file mode 100644 index 000000000..3fbd14d7b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast @@ -0,0 +1,93 @@ +SOURCE_FILE@[0; 97) + STRUCT_DEF@[0; 9) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "A" + SEMI@[8; 9) ";" + WHITESPACE@[9; 10) "\n" + STRUCT_DEF@[10; 21) + STRUCT_KW@[10; 16) "struct" + WHITESPACE@[16; 17) " " + NAME@[17; 18) + IDENT@[17; 18) "B" + WHITESPACE@[18; 19) " " + RECORD_FIELD_DEF_LIST@[19; 21) + L_CURLY@[19; 20) "{" + R_CURLY@[20; 21) "}" + WHITESPACE@[21; 22) "\n" + STRUCT_DEF@[22; 33) + STRUCT_KW@[22; 28) "struct" + WHITESPACE@[28; 29) " " + NAME@[29; 30) + IDENT@[29; 30) "C" + TUPLE_FIELD_DEF_LIST@[30; 32) + L_PAREN@[30; 31) "(" + R_PAREN@[31; 32) ")" + SEMI@[32; 33) ";" + WHITESPACE@[33; 35) "\n\n" + STRUCT_DEF@[35; 74) + STRUCT_KW@[35; 41) "struct" + WHITESPACE@[41; 42) " " + NAME@[42; 43) + IDENT@[42; 43) "D" + WHITESPACE@[43; 44) " " + RECORD_FIELD_DEF_LIST@[44; 74) + L_CURLY@[44; 45) "{" + WHITESPACE@[45; 50) "\n " + RECORD_FIELD_DEF@[50; 56) + NAME@[50; 51) + IDENT@[50; 51) "a" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + PATH_TYPE@[53; 56) + PATH@[53; 56) + PATH_SEGMENT@[53; 56) + NAME_REF@[53; 56) + IDENT@[53; 56) "u32" + COMMA@[56; 57) "," + WHITESPACE@[57; 62) "\n " + RECORD_FIELD_DEF@[62; 72) + VISIBILITY@[62; 65) + PUB_KW@[62; 65) "pub" + WHITESPACE@[65; 66) " " + NAME@[66; 67) + IDENT@[66; 67) "b" + COLON@[67; 68) ":" + WHITESPACE@[68; 69) " " + PATH_TYPE@[69; 72) + PATH@[69; 72) + PATH_SEGMENT@[69; 72) + NAME_REF@[69; 72) + IDENT@[69; 72) "u32" + WHITESPACE@[72; 73) "\n" + R_CURLY@[73; 74) "}" + WHITESPACE@[74; 76) "\n\n" + STRUCT_DEF@[76; 96) + STRUCT_KW@[76; 82) "struct" + WHITESPACE@[82; 83) " " + NAME@[83; 84) + IDENT@[83; 84) "E" + TUPLE_FIELD_DEF_LIST@[84; 95) + L_PAREN@[84; 85) "(" + TUPLE_FIELD_DEF@[85; 90) + VISIBILITY@[85; 88) + PUB_KW@[85; 88) "pub" + WHITESPACE@[88; 89) " " + PATH_TYPE@[89; 90) + PATH@[89; 90) + PATH_SEGMENT@[89; 90) + NAME_REF@[89; 90) + IDENT@[89; 90) "x" + COMMA@[90; 91) "," + WHITESPACE@[91; 92) " " + TUPLE_FIELD_DEF@[92; 93) + PATH_TYPE@[92; 93) + PATH@[92; 93) + PATH_SEGMENT@[92; 93) + NAME_REF@[92; 93) + IDENT@[92; 93) "y" + COMMA@[93; 94) "," + R_PAREN@[94; 95) ")" + SEMI@[95; 96) ";" + WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.txt b/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.txt deleted file mode 100644 index 3fbd14d7b..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.txt +++ /dev/null @@ -1,93 +0,0 @@ -SOURCE_FILE@[0; 97) - STRUCT_DEF@[0; 9) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "A" - SEMI@[8; 9) ";" - WHITESPACE@[9; 10) "\n" - STRUCT_DEF@[10; 21) - STRUCT_KW@[10; 16) "struct" - WHITESPACE@[16; 17) " " - NAME@[17; 18) - IDENT@[17; 18) "B" - WHITESPACE@[18; 19) " " - RECORD_FIELD_DEF_LIST@[19; 21) - L_CURLY@[19; 20) "{" - R_CURLY@[20; 21) "}" - WHITESPACE@[21; 22) "\n" - STRUCT_DEF@[22; 33) - STRUCT_KW@[22; 28) "struct" - WHITESPACE@[28; 29) " " - NAME@[29; 30) - IDENT@[29; 30) "C" - TUPLE_FIELD_DEF_LIST@[30; 32) - L_PAREN@[30; 31) "(" - R_PAREN@[31; 32) ")" - SEMI@[32; 33) ";" - WHITESPACE@[33; 35) "\n\n" - STRUCT_DEF@[35; 74) - STRUCT_KW@[35; 41) "struct" - WHITESPACE@[41; 42) " " - NAME@[42; 43) - IDENT@[42; 43) "D" - WHITESPACE@[43; 44) " " - RECORD_FIELD_DEF_LIST@[44; 74) - L_CURLY@[44; 45) "{" - WHITESPACE@[45; 50) "\n " - RECORD_FIELD_DEF@[50; 56) - NAME@[50; 51) - IDENT@[50; 51) "a" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - PATH_TYPE@[53; 56) - PATH@[53; 56) - PATH_SEGMENT@[53; 56) - NAME_REF@[53; 56) - IDENT@[53; 56) "u32" - COMMA@[56; 57) "," - WHITESPACE@[57; 62) "\n " - RECORD_FIELD_DEF@[62; 72) - VISIBILITY@[62; 65) - PUB_KW@[62; 65) "pub" - WHITESPACE@[65; 66) " " - NAME@[66; 67) - IDENT@[66; 67) "b" - COLON@[67; 68) ":" - WHITESPACE@[68; 69) " " - PATH_TYPE@[69; 72) - PATH@[69; 72) - PATH_SEGMENT@[69; 72) - NAME_REF@[69; 72) - IDENT@[69; 72) "u32" - WHITESPACE@[72; 73) "\n" - R_CURLY@[73; 74) "}" - WHITESPACE@[74; 76) "\n\n" - STRUCT_DEF@[76; 96) - STRUCT_KW@[76; 82) "struct" - WHITESPACE@[82; 83) " " - NAME@[83; 84) - IDENT@[83; 84) "E" - TUPLE_FIELD_DEF_LIST@[84; 95) - L_PAREN@[84; 85) "(" - TUPLE_FIELD_DEF@[85; 90) - VISIBILITY@[85; 88) - PUB_KW@[85; 88) "pub" - WHITESPACE@[88; 89) " " - PATH_TYPE@[89; 90) - PATH@[89; 90) - PATH_SEGMENT@[89; 90) - NAME_REF@[89; 90) - IDENT@[89; 90) "x" - COMMA@[90; 91) "," - WHITESPACE@[91; 92) " " - TUPLE_FIELD_DEF@[92; 93) - PATH_TYPE@[92; 93) - PATH@[92; 93) - PATH_SEGMENT@[92; 93) - NAME_REF@[92; 93) - IDENT@[92; 93) "y" - COMMA@[93; 94) "," - R_PAREN@[94; 95) ")" - SEMI@[95; 96) ";" - WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast new file mode 100644 index 000000000..1d65b0d6e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast @@ -0,0 +1,29 @@ +SOURCE_FILE@[0; 23) + FN_DEF@[0; 22) + ATTR@[0; 10) + 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; 9) + L_PAREN@[5; 6) "(" + IDENT@[6; 7) "a" + COMMA@[7; 8) "," + R_PAREN@[8; 9) ")" + R_BRACK@[9; 10) "]" + WHITESPACE@[10; 11) "\n" + FN_KW@[11; 13) "fn" + WHITESPACE@[13; 14) " " + NAME@[14; 17) + IDENT@[14; 17) "foo" + PARAM_LIST@[17; 19) + L_PAREN@[17; 18) "(" + R_PAREN@[18; 19) ")" + WHITESPACE@[19; 20) " " + BLOCK_EXPR@[20; 22) + BLOCK@[20; 22) + L_CURLY@[20; 21) "{" + R_CURLY@[21; 22) "}" + WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt deleted file mode 100644 index 1d65b0d6e..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt +++ /dev/null @@ -1,29 +0,0 @@ -SOURCE_FILE@[0; 23) - FN_DEF@[0; 22) - ATTR@[0; 10) - 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; 9) - L_PAREN@[5; 6) "(" - IDENT@[6; 7) "a" - COMMA@[7; 8) "," - R_PAREN@[8; 9) ")" - R_BRACK@[9; 10) "]" - WHITESPACE@[10; 11) "\n" - FN_KW@[11; 13) "fn" - WHITESPACE@[13; 14) " " - NAME@[14; 17) - IDENT@[14; 17) "foo" - PARAM_LIST@[17; 19) - L_PAREN@[17; 18) "(" - R_PAREN@[18; 19) ")" - WHITESPACE@[19; 20) " " - BLOCK_EXPR@[20; 22) - BLOCK@[20; 22) - L_CURLY@[20; 21) "{" - R_CURLY@[21; 22) "}" - WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast b/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast new file mode 100644 index 000000000..1e4e58dd3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast @@ -0,0 +1,257 @@ +SOURCE_FILE@[0; 290) + STRUCT_DEF@[0; 13) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 9) + IDENT@[7; 9) "S1" + TYPE_PARAM_LIST@[9; 12) + L_ANGLE@[9; 10) "<" + TYPE_PARAM@[10; 11) + NAME@[10; 11) + IDENT@[10; 11) "T" + R_ANGLE@[11; 12) ">" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" + STRUCT_DEF@[14; 32) + STRUCT_KW@[14; 20) "struct" + WHITESPACE@[20; 21) " " + NAME@[21; 23) + IDENT@[21; 23) "S2" + TYPE_PARAM_LIST@[23; 26) + L_ANGLE@[23; 24) "<" + TYPE_PARAM@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "T" + R_ANGLE@[25; 26) ">" + TUPLE_FIELD_DEF_LIST@[26; 31) + L_PAREN@[26; 27) "(" + TUPLE_FIELD_DEF@[27; 30) + PATH_TYPE@[27; 30) + PATH@[27; 30) + PATH_SEGMENT@[27; 30) + NAME_REF@[27; 30) + IDENT@[27; 30) "u32" + R_PAREN@[30; 31) ")" + SEMI@[31; 32) ";" + WHITESPACE@[32; 33) "\n" + STRUCT_DEF@[33; 56) + STRUCT_KW@[33; 39) "struct" + WHITESPACE@[39; 40) " " + NAME@[40; 42) + IDENT@[40; 42) "S3" + TYPE_PARAM_LIST@[42; 45) + L_ANGLE@[42; 43) "<" + TYPE_PARAM@[43; 44) + NAME@[43; 44) + IDENT@[43; 44) "T" + R_ANGLE@[44; 45) ">" + WHITESPACE@[45; 46) " " + RECORD_FIELD_DEF_LIST@[46; 56) + L_CURLY@[46; 47) "{" + WHITESPACE@[47; 48) " " + RECORD_FIELD_DEF@[48; 54) + NAME@[48; 49) + IDENT@[48; 49) "u" + COLON@[49; 50) ":" + WHITESPACE@[50; 51) " " + PATH_TYPE@[51; 54) + PATH@[51; 54) + PATH_SEGMENT@[51; 54) + NAME_REF@[51; 54) + IDENT@[51; 54) "u32" + WHITESPACE@[54; 55) " " + R_CURLY@[55; 56) "}" + WHITESPACE@[56; 58) "\n\n" + STRUCT_DEF@[58; 70) + STRUCT_KW@[58; 64) "struct" + WHITESPACE@[64; 65) " " + NAME@[65; 67) + IDENT@[65; 67) "S4" + TYPE_PARAM_LIST@[67; 69) + L_ANGLE@[67; 68) "<" + R_ANGLE@[68; 69) ">" + SEMI@[69; 70) ";" + WHITESPACE@[70; 71) "\n" + STRUCT_DEF@[71; 85) + STRUCT_KW@[71; 77) "struct" + WHITESPACE@[77; 78) " " + NAME@[78; 80) + IDENT@[78; 80) "S5" + TYPE_PARAM_LIST@[80; 84) + L_ANGLE@[80; 81) "<" + LIFETIME_PARAM@[81; 83) + LIFETIME@[81; 83) "\'a" + R_ANGLE@[83; 84) ">" + SEMI@[84; 85) ";" + WHITESPACE@[85; 86) "\n" + STRUCT_DEF@[86; 101) + STRUCT_KW@[86; 92) "struct" + WHITESPACE@[92; 93) " " + NAME@[93; 95) + IDENT@[93; 95) "S6" + TYPE_PARAM_LIST@[95; 100) + L_ANGLE@[95; 96) "<" + LIFETIME_PARAM@[96; 99) + LIFETIME@[96; 98) "\'a" + COLON@[98; 99) ":" + R_ANGLE@[99; 100) ">" + SEMI@[100; 101) ";" + WHITESPACE@[101; 102) "\n" + STRUCT_DEF@[102; 120) + STRUCT_KW@[102; 108) "struct" + WHITESPACE@[108; 109) " " + NAME@[109; 111) + IDENT@[109; 111) "S7" + TYPE_PARAM_LIST@[111; 119) + L_ANGLE@[111; 112) "<" + LIFETIME_PARAM@[112; 118) + LIFETIME@[112; 114) "\'a" + COLON@[114; 115) ":" + WHITESPACE@[115; 116) " " + LIFETIME@[116; 118) "\'b" + R_ANGLE@[118; 119) ">" + SEMI@[119; 120) ";" + WHITESPACE@[120; 121) "\n" + STRUCT_DEF@[121; 142) + STRUCT_KW@[121; 127) "struct" + WHITESPACE@[127; 128) " " + NAME@[128; 130) + IDENT@[128; 130) "S8" + TYPE_PARAM_LIST@[130; 141) + L_ANGLE@[130; 131) "<" + LIFETIME_PARAM@[131; 139) + LIFETIME@[131; 133) "\'a" + COLON@[133; 134) ":" + WHITESPACE@[134; 135) " " + LIFETIME@[135; 137) "\'b" + WHITESPACE@[137; 138) " " + PLUS@[138; 139) "+" + WHITESPACE@[139; 140) " " + R_ANGLE@[140; 141) ">" + SEMI@[141; 142) ";" + WHITESPACE@[142; 143) "\n" + STRUCT_DEF@[143; 166) + STRUCT_KW@[143; 149) "struct" + WHITESPACE@[149; 150) " " + NAME@[150; 152) + IDENT@[150; 152) "S9" + TYPE_PARAM_LIST@[152; 165) + L_ANGLE@[152; 153) "<" + LIFETIME_PARAM@[153; 164) + LIFETIME@[153; 155) "\'a" + COLON@[155; 156) ":" + WHITESPACE@[156; 157) " " + LIFETIME@[157; 159) "\'b" + WHITESPACE@[159; 160) " " + PLUS@[160; 161) "+" + WHITESPACE@[161; 162) " " + LIFETIME@[162; 164) "\'c" + R_ANGLE@[164; 165) ">" + SEMI@[165; 166) ";" + WHITESPACE@[166; 167) "\n" + STRUCT_DEF@[167; 183) + STRUCT_KW@[167; 173) "struct" + WHITESPACE@[173; 174) " " + NAME@[174; 177) + IDENT@[174; 177) "S10" + TYPE_PARAM_LIST@[177; 182) + L_ANGLE@[177; 178) "<" + LIFETIME_PARAM@[178; 180) + LIFETIME@[178; 180) "\'a" + COMMA@[180; 181) "," + R_ANGLE@[181; 182) ">" + SEMI@[182; 183) ";" + WHITESPACE@[183; 184) "\n" + STRUCT_DEF@[184; 203) + STRUCT_KW@[184; 190) "struct" + WHITESPACE@[190; 191) " " + NAME@[191; 194) + IDENT@[191; 194) "S11" + TYPE_PARAM_LIST@[194; 202) + L_ANGLE@[194; 195) "<" + LIFETIME_PARAM@[195; 197) + LIFETIME@[195; 197) "\'a" + COMMA@[197; 198) "," + WHITESPACE@[198; 199) " " + LIFETIME_PARAM@[199; 201) + LIFETIME@[199; 201) "\'b" + R_ANGLE@[201; 202) ">" + SEMI@[202; 203) ";" + WHITESPACE@[203; 204) "\n" + STRUCT_DEF@[204; 233) + STRUCT_KW@[204; 210) "struct" + WHITESPACE@[210; 211) " " + NAME@[211; 214) + IDENT@[211; 214) "S12" + TYPE_PARAM_LIST@[214; 232) + L_ANGLE@[214; 215) "<" + LIFETIME_PARAM@[215; 222) + LIFETIME@[215; 217) "\'a" + COLON@[217; 218) ":" + WHITESPACE@[218; 219) " " + LIFETIME@[219; 221) "\'b" + PLUS@[221; 222) "+" + COMMA@[222; 223) "," + WHITESPACE@[223; 224) " " + LIFETIME_PARAM@[224; 230) + LIFETIME@[224; 226) "\'b" + COLON@[226; 227) ":" + WHITESPACE@[227; 228) " " + LIFETIME@[228; 230) "\'c" + COMMA@[230; 231) "," + R_ANGLE@[231; 232) ">" + SEMI@[232; 233) ";" + WHITESPACE@[233; 235) "\n\n" + STRUCT_DEF@[235; 249) + STRUCT_KW@[235; 241) "struct" + WHITESPACE@[241; 242) " " + NAME@[242; 245) + IDENT@[242; 245) "S13" + TYPE_PARAM_LIST@[245; 248) + L_ANGLE@[245; 246) "<" + TYPE_PARAM@[246; 247) + NAME@[246; 247) + IDENT@[246; 247) "T" + R_ANGLE@[247; 248) ">" + SEMI@[248; 249) ";" + WHITESPACE@[249; 250) "\n" + STRUCT_DEF@[250; 267) + STRUCT_KW@[250; 256) "struct" + WHITESPACE@[256; 257) " " + NAME@[257; 260) + IDENT@[257; 260) "S14" + TYPE_PARAM_LIST@[260; 266) + L_ANGLE@[260; 261) "<" + TYPE_PARAM@[261; 262) + NAME@[261; 262) + IDENT@[261; 262) "T" + COMMA@[262; 263) "," + WHITESPACE@[263; 264) " " + TYPE_PARAM@[264; 265) + NAME@[264; 265) + IDENT@[264; 265) "U" + R_ANGLE@[265; 266) ">" + SEMI@[266; 267) ";" + WHITESPACE@[267; 268) "\n" + STRUCT_DEF@[268; 289) + STRUCT_KW@[268; 274) "struct" + WHITESPACE@[274; 275) " " + NAME@[275; 278) + IDENT@[275; 278) "S15" + TYPE_PARAM_LIST@[278; 288) + L_ANGLE@[278; 279) "<" + LIFETIME_PARAM@[279; 281) + LIFETIME@[279; 281) "\'a" + COMMA@[281; 282) "," + WHITESPACE@[282; 283) " " + TYPE_PARAM@[283; 284) + NAME@[283; 284) + IDENT@[283; 284) "T" + COMMA@[284; 285) "," + WHITESPACE@[285; 286) " " + TYPE_PARAM@[286; 287) + NAME@[286; 287) + IDENT@[286; 287) "U" + R_ANGLE@[287; 288) ">" + SEMI@[288; 289) ";" + WHITESPACE@[289; 290) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.txt b/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.txt deleted file mode 100644 index 1e4e58dd3..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.txt +++ /dev/null @@ -1,257 +0,0 @@ -SOURCE_FILE@[0; 290) - STRUCT_DEF@[0; 13) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 9) - IDENT@[7; 9) "S1" - TYPE_PARAM_LIST@[9; 12) - L_ANGLE@[9; 10) "<" - TYPE_PARAM@[10; 11) - NAME@[10; 11) - IDENT@[10; 11) "T" - R_ANGLE@[11; 12) ">" - SEMI@[12; 13) ";" - WHITESPACE@[13; 14) "\n" - STRUCT_DEF@[14; 32) - STRUCT_KW@[14; 20) "struct" - WHITESPACE@[20; 21) " " - NAME@[21; 23) - IDENT@[21; 23) "S2" - TYPE_PARAM_LIST@[23; 26) - L_ANGLE@[23; 24) "<" - TYPE_PARAM@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "T" - R_ANGLE@[25; 26) ">" - TUPLE_FIELD_DEF_LIST@[26; 31) - L_PAREN@[26; 27) "(" - TUPLE_FIELD_DEF@[27; 30) - PATH_TYPE@[27; 30) - PATH@[27; 30) - PATH_SEGMENT@[27; 30) - NAME_REF@[27; 30) - IDENT@[27; 30) "u32" - R_PAREN@[30; 31) ")" - SEMI@[31; 32) ";" - WHITESPACE@[32; 33) "\n" - STRUCT_DEF@[33; 56) - STRUCT_KW@[33; 39) "struct" - WHITESPACE@[39; 40) " " - NAME@[40; 42) - IDENT@[40; 42) "S3" - TYPE_PARAM_LIST@[42; 45) - L_ANGLE@[42; 43) "<" - TYPE_PARAM@[43; 44) - NAME@[43; 44) - IDENT@[43; 44) "T" - R_ANGLE@[44; 45) ">" - WHITESPACE@[45; 46) " " - RECORD_FIELD_DEF_LIST@[46; 56) - L_CURLY@[46; 47) "{" - WHITESPACE@[47; 48) " " - RECORD_FIELD_DEF@[48; 54) - NAME@[48; 49) - IDENT@[48; 49) "u" - COLON@[49; 50) ":" - WHITESPACE@[50; 51) " " - PATH_TYPE@[51; 54) - PATH@[51; 54) - PATH_SEGMENT@[51; 54) - NAME_REF@[51; 54) - IDENT@[51; 54) "u32" - WHITESPACE@[54; 55) " " - R_CURLY@[55; 56) "}" - WHITESPACE@[56; 58) "\n\n" - STRUCT_DEF@[58; 70) - STRUCT_KW@[58; 64) "struct" - WHITESPACE@[64; 65) " " - NAME@[65; 67) - IDENT@[65; 67) "S4" - TYPE_PARAM_LIST@[67; 69) - L_ANGLE@[67; 68) "<" - R_ANGLE@[68; 69) ">" - SEMI@[69; 70) ";" - WHITESPACE@[70; 71) "\n" - STRUCT_DEF@[71; 85) - STRUCT_KW@[71; 77) "struct" - WHITESPACE@[77; 78) " " - NAME@[78; 80) - IDENT@[78; 80) "S5" - TYPE_PARAM_LIST@[80; 84) - L_ANGLE@[80; 81) "<" - LIFETIME_PARAM@[81; 83) - LIFETIME@[81; 83) "\'a" - R_ANGLE@[83; 84) ">" - SEMI@[84; 85) ";" - WHITESPACE@[85; 86) "\n" - STRUCT_DEF@[86; 101) - STRUCT_KW@[86; 92) "struct" - WHITESPACE@[92; 93) " " - NAME@[93; 95) - IDENT@[93; 95) "S6" - TYPE_PARAM_LIST@[95; 100) - L_ANGLE@[95; 96) "<" - LIFETIME_PARAM@[96; 99) - LIFETIME@[96; 98) "\'a" - COLON@[98; 99) ":" - R_ANGLE@[99; 100) ">" - SEMI@[100; 101) ";" - WHITESPACE@[101; 102) "\n" - STRUCT_DEF@[102; 120) - STRUCT_KW@[102; 108) "struct" - WHITESPACE@[108; 109) " " - NAME@[109; 111) - IDENT@[109; 111) "S7" - TYPE_PARAM_LIST@[111; 119) - L_ANGLE@[111; 112) "<" - LIFETIME_PARAM@[112; 118) - LIFETIME@[112; 114) "\'a" - COLON@[114; 115) ":" - WHITESPACE@[115; 116) " " - LIFETIME@[116; 118) "\'b" - R_ANGLE@[118; 119) ">" - SEMI@[119; 120) ";" - WHITESPACE@[120; 121) "\n" - STRUCT_DEF@[121; 142) - STRUCT_KW@[121; 127) "struct" - WHITESPACE@[127; 128) " " - NAME@[128; 130) - IDENT@[128; 130) "S8" - TYPE_PARAM_LIST@[130; 141) - L_ANGLE@[130; 131) "<" - LIFETIME_PARAM@[131; 139) - LIFETIME@[131; 133) "\'a" - COLON@[133; 134) ":" - WHITESPACE@[134; 135) " " - LIFETIME@[135; 137) "\'b" - WHITESPACE@[137; 138) " " - PLUS@[138; 139) "+" - WHITESPACE@[139; 140) " " - R_ANGLE@[140; 141) ">" - SEMI@[141; 142) ";" - WHITESPACE@[142; 143) "\n" - STRUCT_DEF@[143; 166) - STRUCT_KW@[143; 149) "struct" - WHITESPACE@[149; 150) " " - NAME@[150; 152) - IDENT@[150; 152) "S9" - TYPE_PARAM_LIST@[152; 165) - L_ANGLE@[152; 153) "<" - LIFETIME_PARAM@[153; 164) - LIFETIME@[153; 155) "\'a" - COLON@[155; 156) ":" - WHITESPACE@[156; 157) " " - LIFETIME@[157; 159) "\'b" - WHITESPACE@[159; 160) " " - PLUS@[160; 161) "+" - WHITESPACE@[161; 162) " " - LIFETIME@[162; 164) "\'c" - R_ANGLE@[164; 165) ">" - SEMI@[165; 166) ";" - WHITESPACE@[166; 167) "\n" - STRUCT_DEF@[167; 183) - STRUCT_KW@[167; 173) "struct" - WHITESPACE@[173; 174) " " - NAME@[174; 177) - IDENT@[174; 177) "S10" - TYPE_PARAM_LIST@[177; 182) - L_ANGLE@[177; 178) "<" - LIFETIME_PARAM@[178; 180) - LIFETIME@[178; 180) "\'a" - COMMA@[180; 181) "," - R_ANGLE@[181; 182) ">" - SEMI@[182; 183) ";" - WHITESPACE@[183; 184) "\n" - STRUCT_DEF@[184; 203) - STRUCT_KW@[184; 190) "struct" - WHITESPACE@[190; 191) " " - NAME@[191; 194) - IDENT@[191; 194) "S11" - TYPE_PARAM_LIST@[194; 202) - L_ANGLE@[194; 195) "<" - LIFETIME_PARAM@[195; 197) - LIFETIME@[195; 197) "\'a" - COMMA@[197; 198) "," - WHITESPACE@[198; 199) " " - LIFETIME_PARAM@[199; 201) - LIFETIME@[199; 201) "\'b" - R_ANGLE@[201; 202) ">" - SEMI@[202; 203) ";" - WHITESPACE@[203; 204) "\n" - STRUCT_DEF@[204; 233) - STRUCT_KW@[204; 210) "struct" - WHITESPACE@[210; 211) " " - NAME@[211; 214) - IDENT@[211; 214) "S12" - TYPE_PARAM_LIST@[214; 232) - L_ANGLE@[214; 215) "<" - LIFETIME_PARAM@[215; 222) - LIFETIME@[215; 217) "\'a" - COLON@[217; 218) ":" - WHITESPACE@[218; 219) " " - LIFETIME@[219; 221) "\'b" - PLUS@[221; 222) "+" - COMMA@[222; 223) "," - WHITESPACE@[223; 224) " " - LIFETIME_PARAM@[224; 230) - LIFETIME@[224; 226) "\'b" - COLON@[226; 227) ":" - WHITESPACE@[227; 228) " " - LIFETIME@[228; 230) "\'c" - COMMA@[230; 231) "," - R_ANGLE@[231; 232) ">" - SEMI@[232; 233) ";" - WHITESPACE@[233; 235) "\n\n" - STRUCT_DEF@[235; 249) - STRUCT_KW@[235; 241) "struct" - WHITESPACE@[241; 242) " " - NAME@[242; 245) - IDENT@[242; 245) "S13" - TYPE_PARAM_LIST@[245; 248) - L_ANGLE@[245; 246) "<" - TYPE_PARAM@[246; 247) - NAME@[246; 247) - IDENT@[246; 247) "T" - R_ANGLE@[247; 248) ">" - SEMI@[248; 249) ";" - WHITESPACE@[249; 250) "\n" - STRUCT_DEF@[250; 267) - STRUCT_KW@[250; 256) "struct" - WHITESPACE@[256; 257) " " - NAME@[257; 260) - IDENT@[257; 260) "S14" - TYPE_PARAM_LIST@[260; 266) - L_ANGLE@[260; 261) "<" - TYPE_PARAM@[261; 262) - NAME@[261; 262) - IDENT@[261; 262) "T" - COMMA@[262; 263) "," - WHITESPACE@[263; 264) " " - TYPE_PARAM@[264; 265) - NAME@[264; 265) - IDENT@[264; 265) "U" - R_ANGLE@[265; 266) ">" - SEMI@[266; 267) ";" - WHITESPACE@[267; 268) "\n" - STRUCT_DEF@[268; 289) - STRUCT_KW@[268; 274) "struct" - WHITESPACE@[274; 275) " " - NAME@[275; 278) - IDENT@[275; 278) "S15" - TYPE_PARAM_LIST@[278; 288) - L_ANGLE@[278; 279) "<" - LIFETIME_PARAM@[279; 281) - LIFETIME@[279; 281) "\'a" - COMMA@[281; 282) "," - WHITESPACE@[282; 283) " " - TYPE_PARAM@[283; 284) - NAME@[283; 284) - IDENT@[283; 284) "T" - COMMA@[284; 285) "," - WHITESPACE@[285; 286) " " - TYPE_PARAM@[286; 287) - NAME@[286; 287) - IDENT@[286; 287) "U" - R_ANGLE@[287; 288) ">" - SEMI@[288; 289) ";" - WHITESPACE@[289; 290) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0019_enums.rast b/crates/ra_syntax/test_data/parser/ok/0019_enums.rast new file mode 100644 index 000000000..9d4a47a51 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0019_enums.rast @@ -0,0 +1,155 @@ +SOURCE_FILE@[0; 182) + ENUM_DEF@[0; 11) + ENUM_KW@[0; 4) "enum" + WHITESPACE@[4; 5) " " + NAME@[5; 7) + IDENT@[5; 7) "E1" + WHITESPACE@[7; 8) " " + ENUM_VARIANT_LIST@[8; 11) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 10) "\n" + R_CURLY@[10; 11) "}" + WHITESPACE@[11; 13) "\n\n" + ENUM_DEF@[13; 27) + ENUM_KW@[13; 17) "enum" + WHITESPACE@[17; 18) " " + NAME@[18; 20) + IDENT@[18; 20) "E2" + TYPE_PARAM_LIST@[20; 23) + L_ANGLE@[20; 21) "<" + TYPE_PARAM@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "T" + R_ANGLE@[22; 23) ">" + WHITESPACE@[23; 24) " " + ENUM_VARIANT_LIST@[24; 27) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 26) "\n" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 29) "\n\n" + ENUM_DEF@[29; 46) + ENUM_KW@[29; 33) "enum" + WHITESPACE@[33; 34) " " + NAME@[34; 36) + IDENT@[34; 36) "E3" + WHITESPACE@[36; 37) " " + ENUM_VARIANT_LIST@[37; 46) + L_CURLY@[37; 38) "{" + WHITESPACE@[38; 43) "\n " + ENUM_VARIANT@[43; 44) + NAME@[43; 44) + IDENT@[43; 44) "X" + WHITESPACE@[44; 45) "\n" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 48) "\n\n" + ENUM_DEF@[48; 66) + ENUM_KW@[48; 52) "enum" + WHITESPACE@[52; 53) " " + NAME@[53; 55) + IDENT@[53; 55) "E4" + WHITESPACE@[55; 56) " " + ENUM_VARIANT_LIST@[56; 66) + L_CURLY@[56; 57) "{" + WHITESPACE@[57; 62) "\n " + ENUM_VARIANT@[62; 63) + NAME@[62; 63) + IDENT@[62; 63) "X" + COMMA@[63; 64) "," + WHITESPACE@[64; 65) "\n" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 68) "\n\n" + ENUM_DEF@[68; 181) + ENUM_KW@[68; 72) "enum" + WHITESPACE@[72; 73) " " + NAME@[73; 75) + IDENT@[73; 75) "E5" + WHITESPACE@[75; 76) " " + ENUM_VARIANT_LIST@[76; 181) + L_CURLY@[76; 77) "{" + WHITESPACE@[77; 82) "\n " + ENUM_VARIANT@[82; 83) + NAME@[82; 83) + IDENT@[82; 83) "A" + COMMA@[83; 84) "," + WHITESPACE@[84; 89) "\n " + ENUM_VARIANT@[89; 95) + NAME@[89; 90) + IDENT@[89; 90) "B" + WHITESPACE@[90; 91) " " + EQ@[91; 92) "=" + WHITESPACE@[92; 93) " " + LITERAL@[93; 95) + INT_NUMBER@[93; 95) "92" + COMMA@[95; 96) "," + WHITESPACE@[96; 101) "\n " + ENUM_VARIANT@[101; 146) + NAME@[101; 102) + IDENT@[101; 102) "C" + WHITESPACE@[102; 103) " " + RECORD_FIELD_DEF_LIST@[103; 146) + L_CURLY@[103; 104) "{" + WHITESPACE@[104; 113) "\n " + RECORD_FIELD_DEF@[113; 119) + NAME@[113; 114) + IDENT@[113; 114) "a" + COLON@[114; 115) ":" + WHITESPACE@[115; 116) " " + PATH_TYPE@[116; 119) + PATH@[116; 119) + PATH_SEGMENT@[116; 119) + NAME_REF@[116; 119) + IDENT@[116; 119) "u32" + COMMA@[119; 120) "," + WHITESPACE@[120; 129) "\n " + RECORD_FIELD_DEF@[129; 139) + VISIBILITY@[129; 132) + PUB_KW@[129; 132) "pub" + WHITESPACE@[132; 133) " " + NAME@[133; 134) + IDENT@[133; 134) "b" + COLON@[134; 135) ":" + WHITESPACE@[135; 136) " " + PATH_TYPE@[136; 139) + PATH@[136; 139) + PATH_SEGMENT@[136; 139) + NAME_REF@[136; 139) + IDENT@[136; 139) "f64" + COMMA@[139; 140) "," + WHITESPACE@[140; 145) "\n " + R_CURLY@[145; 146) "}" + COMMA@[146; 147) "," + WHITESPACE@[147; 152) "\n " + ENUM_VARIANT@[152; 156) + NAME@[152; 153) + IDENT@[152; 153) "F" + WHITESPACE@[153; 154) " " + RECORD_FIELD_DEF_LIST@[154; 156) + L_CURLY@[154; 155) "{" + R_CURLY@[155; 156) "}" + COMMA@[156; 157) "," + WHITESPACE@[157; 162) "\n " + ENUM_VARIANT@[162; 169) + NAME@[162; 163) + IDENT@[162; 163) "D" + TUPLE_FIELD_DEF_LIST@[163; 169) + L_PAREN@[163; 164) "(" + TUPLE_FIELD_DEF@[164; 167) + PATH_TYPE@[164; 167) + PATH@[164; 167) + PATH_SEGMENT@[164; 167) + NAME_REF@[164; 167) + IDENT@[164; 167) "u32" + COMMA@[167; 168) "," + R_PAREN@[168; 169) ")" + COMMA@[169; 170) "," + WHITESPACE@[170; 175) "\n " + ENUM_VARIANT@[175; 178) + NAME@[175; 176) + IDENT@[175; 176) "E" + TUPLE_FIELD_DEF_LIST@[176; 178) + L_PAREN@[176; 177) "(" + R_PAREN@[177; 178) ")" + COMMA@[178; 179) "," + WHITESPACE@[179; 180) "\n" + R_CURLY@[180; 181) "}" + WHITESPACE@[181; 182) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0019_enums.txt b/crates/ra_syntax/test_data/parser/ok/0019_enums.txt deleted file mode 100644 index 9d4a47a51..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0019_enums.txt +++ /dev/null @@ -1,155 +0,0 @@ -SOURCE_FILE@[0; 182) - ENUM_DEF@[0; 11) - ENUM_KW@[0; 4) "enum" - WHITESPACE@[4; 5) " " - NAME@[5; 7) - IDENT@[5; 7) "E1" - WHITESPACE@[7; 8) " " - ENUM_VARIANT_LIST@[8; 11) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 10) "\n" - R_CURLY@[10; 11) "}" - WHITESPACE@[11; 13) "\n\n" - ENUM_DEF@[13; 27) - ENUM_KW@[13; 17) "enum" - WHITESPACE@[17; 18) " " - NAME@[18; 20) - IDENT@[18; 20) "E2" - TYPE_PARAM_LIST@[20; 23) - L_ANGLE@[20; 21) "<" - TYPE_PARAM@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "T" - R_ANGLE@[22; 23) ">" - WHITESPACE@[23; 24) " " - ENUM_VARIANT_LIST@[24; 27) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 26) "\n" - R_CURLY@[26; 27) "}" - WHITESPACE@[27; 29) "\n\n" - ENUM_DEF@[29; 46) - ENUM_KW@[29; 33) "enum" - WHITESPACE@[33; 34) " " - NAME@[34; 36) - IDENT@[34; 36) "E3" - WHITESPACE@[36; 37) " " - ENUM_VARIANT_LIST@[37; 46) - L_CURLY@[37; 38) "{" - WHITESPACE@[38; 43) "\n " - ENUM_VARIANT@[43; 44) - NAME@[43; 44) - IDENT@[43; 44) "X" - WHITESPACE@[44; 45) "\n" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 48) "\n\n" - ENUM_DEF@[48; 66) - ENUM_KW@[48; 52) "enum" - WHITESPACE@[52; 53) " " - NAME@[53; 55) - IDENT@[53; 55) "E4" - WHITESPACE@[55; 56) " " - ENUM_VARIANT_LIST@[56; 66) - L_CURLY@[56; 57) "{" - WHITESPACE@[57; 62) "\n " - ENUM_VARIANT@[62; 63) - NAME@[62; 63) - IDENT@[62; 63) "X" - COMMA@[63; 64) "," - WHITESPACE@[64; 65) "\n" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 68) "\n\n" - ENUM_DEF@[68; 181) - ENUM_KW@[68; 72) "enum" - WHITESPACE@[72; 73) " " - NAME@[73; 75) - IDENT@[73; 75) "E5" - WHITESPACE@[75; 76) " " - ENUM_VARIANT_LIST@[76; 181) - L_CURLY@[76; 77) "{" - WHITESPACE@[77; 82) "\n " - ENUM_VARIANT@[82; 83) - NAME@[82; 83) - IDENT@[82; 83) "A" - COMMA@[83; 84) "," - WHITESPACE@[84; 89) "\n " - ENUM_VARIANT@[89; 95) - NAME@[89; 90) - IDENT@[89; 90) "B" - WHITESPACE@[90; 91) " " - EQ@[91; 92) "=" - WHITESPACE@[92; 93) " " - LITERAL@[93; 95) - INT_NUMBER@[93; 95) "92" - COMMA@[95; 96) "," - WHITESPACE@[96; 101) "\n " - ENUM_VARIANT@[101; 146) - NAME@[101; 102) - IDENT@[101; 102) "C" - WHITESPACE@[102; 103) " " - RECORD_FIELD_DEF_LIST@[103; 146) - L_CURLY@[103; 104) "{" - WHITESPACE@[104; 113) "\n " - RECORD_FIELD_DEF@[113; 119) - NAME@[113; 114) - IDENT@[113; 114) "a" - COLON@[114; 115) ":" - WHITESPACE@[115; 116) " " - PATH_TYPE@[116; 119) - PATH@[116; 119) - PATH_SEGMENT@[116; 119) - NAME_REF@[116; 119) - IDENT@[116; 119) "u32" - COMMA@[119; 120) "," - WHITESPACE@[120; 129) "\n " - RECORD_FIELD_DEF@[129; 139) - VISIBILITY@[129; 132) - PUB_KW@[129; 132) "pub" - WHITESPACE@[132; 133) " " - NAME@[133; 134) - IDENT@[133; 134) "b" - COLON@[134; 135) ":" - WHITESPACE@[135; 136) " " - PATH_TYPE@[136; 139) - PATH@[136; 139) - PATH_SEGMENT@[136; 139) - NAME_REF@[136; 139) - IDENT@[136; 139) "f64" - COMMA@[139; 140) "," - WHITESPACE@[140; 145) "\n " - R_CURLY@[145; 146) "}" - COMMA@[146; 147) "," - WHITESPACE@[147; 152) "\n " - ENUM_VARIANT@[152; 156) - NAME@[152; 153) - IDENT@[152; 153) "F" - WHITESPACE@[153; 154) " " - RECORD_FIELD_DEF_LIST@[154; 156) - L_CURLY@[154; 155) "{" - R_CURLY@[155; 156) "}" - COMMA@[156; 157) "," - WHITESPACE@[157; 162) "\n " - ENUM_VARIANT@[162; 169) - NAME@[162; 163) - IDENT@[162; 163) "D" - TUPLE_FIELD_DEF_LIST@[163; 169) - L_PAREN@[163; 164) "(" - TUPLE_FIELD_DEF@[164; 167) - PATH_TYPE@[164; 167) - PATH@[164; 167) - PATH_SEGMENT@[164; 167) - NAME_REF@[164; 167) - IDENT@[164; 167) "u32" - COMMA@[167; 168) "," - R_PAREN@[168; 169) ")" - COMMA@[169; 170) "," - WHITESPACE@[170; 175) "\n " - ENUM_VARIANT@[175; 178) - NAME@[175; 176) - IDENT@[175; 176) "E" - TUPLE_FIELD_DEF_LIST@[176; 178) - L_PAREN@[176; 177) "(" - R_PAREN@[177; 178) ")" - COMMA@[178; 179) "," - WHITESPACE@[179; 180) "\n" - R_CURLY@[180; 181) "}" - WHITESPACE@[181; 182) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast new file mode 100644 index 000000000..18a5fd784 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast @@ -0,0 +1,268 @@ +SOURCE_FILE@[0; 250) + STRUCT_DEF@[0; 12) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "A" + TYPE_PARAM_LIST@[8; 11) + L_ANGLE@[8; 9) "<" + TYPE_PARAM@[9; 10) + NAME@[9; 10) + IDENT@[9; 10) "T" + R_ANGLE@[10; 11) ">" + SEMI@[11; 12) ";" + WHITESPACE@[12; 13) "\n" + STRUCT_DEF@[13; 26) + STRUCT_KW@[13; 19) "struct" + WHITESPACE@[19; 20) " " + NAME@[20; 21) + IDENT@[20; 21) "B" + TYPE_PARAM_LIST@[21; 25) + L_ANGLE@[21; 22) "<" + TYPE_PARAM@[22; 24) + NAME@[22; 23) + IDENT@[22; 23) "T" + COLON@[23; 24) ":" + TYPE_BOUND_LIST@[24; 24) + R_ANGLE@[24; 25) ">" + SEMI@[25; 26) ";" + WHITESPACE@[26; 27) "\n" + STRUCT_DEF@[27; 43) + STRUCT_KW@[27; 33) "struct" + WHITESPACE@[33; 34) " " + NAME@[34; 35) + IDENT@[34; 35) "C" + TYPE_PARAM_LIST@[35; 42) + L_ANGLE@[35; 36) "<" + TYPE_PARAM@[36; 41) + NAME@[36; 37) + IDENT@[36; 37) "T" + COLON@[37; 38) ":" + WHITESPACE@[38; 39) " " + TYPE_BOUND_LIST@[39; 41) + TYPE_BOUND@[39; 41) + LIFETIME@[39; 41) "\'a" + R_ANGLE@[41; 42) ">" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) "\n" + STRUCT_DEF@[44; 63) + STRUCT_KW@[44; 50) "struct" + WHITESPACE@[50; 51) " " + NAME@[51; 52) + IDENT@[51; 52) "D" + TYPE_PARAM_LIST@[52; 62) + L_ANGLE@[52; 53) "<" + TYPE_PARAM@[53; 60) + NAME@[53; 54) + IDENT@[53; 54) "T" + COLON@[54; 55) ":" + WHITESPACE@[55; 56) " " + TYPE_BOUND_LIST@[56; 60) + TYPE_BOUND@[56; 58) + LIFETIME@[56; 58) "\'a" + WHITESPACE@[58; 59) " " + PLUS@[59; 60) "+" + WHITESPACE@[60; 61) " " + R_ANGLE@[61; 62) ">" + SEMI@[62; 63) ";" + WHITESPACE@[63; 64) "\n" + STRUCT_DEF@[64; 86) + STRUCT_KW@[64; 70) "struct" + WHITESPACE@[70; 71) " " + NAME@[71; 72) + IDENT@[71; 72) "E" + TYPE_PARAM_LIST@[72; 85) + L_ANGLE@[72; 73) "<" + TYPE_PARAM@[73; 83) + NAME@[73; 74) + IDENT@[73; 74) "T" + COLON@[74; 75) ":" + WHITESPACE@[75; 76) " " + TYPE_BOUND_LIST@[76; 83) + TYPE_BOUND@[76; 78) + LIFETIME@[76; 78) "\'a" + WHITESPACE@[78; 79) " " + PLUS@[79; 80) "+" + WHITESPACE@[80; 81) " " + TYPE_BOUND@[81; 83) + LIFETIME@[81; 83) "\'d" + WHITESPACE@[83; 84) " " + R_ANGLE@[84; 85) ">" + SEMI@[85; 86) ";" + WHITESPACE@[86; 87) "\n" + STRUCT_DEF@[87; 116) + STRUCT_KW@[87; 93) "struct" + WHITESPACE@[93; 94) " " + NAME@[94; 95) + IDENT@[94; 95) "F" + TYPE_PARAM_LIST@[95; 115) + L_ANGLE@[95; 96) "<" + TYPE_PARAM@[96; 114) + NAME@[96; 97) + IDENT@[96; 97) "T" + COLON@[97; 98) ":" + WHITESPACE@[98; 99) " " + TYPE_BOUND_LIST@[99; 114) + TYPE_BOUND@[99; 101) + LIFETIME@[99; 101) "\'a" + WHITESPACE@[101; 102) " " + PLUS@[102; 103) "+" + WHITESPACE@[103; 104) " " + TYPE_BOUND@[104; 106) + LIFETIME@[104; 106) "\'d" + WHITESPACE@[106; 107) " " + PLUS@[107; 108) "+" + WHITESPACE@[108; 109) " " + TYPE_BOUND@[109; 114) + PATH_TYPE@[109; 114) + PATH@[109; 114) + PATH_SEGMENT@[109; 114) + NAME_REF@[109; 114) + IDENT@[109; 114) "Clone" + R_ANGLE@[114; 115) ">" + SEMI@[115; 116) ";" + WHITESPACE@[116; 117) "\n" + STRUCT_DEF@[117; 143) + STRUCT_KW@[117; 123) "struct" + WHITESPACE@[123; 124) " " + NAME@[124; 125) + IDENT@[124; 125) "G" + TYPE_PARAM_LIST@[125; 142) + L_ANGLE@[125; 126) "<" + TYPE_PARAM@[126; 141) + NAME@[126; 127) + IDENT@[126; 127) "T" + COLON@[127; 128) ":" + WHITESPACE@[128; 129) " " + TYPE_BOUND_LIST@[129; 141) + TYPE_BOUND@[129; 134) + PATH_TYPE@[129; 134) + PATH@[129; 134) + PATH_SEGMENT@[129; 134) + NAME_REF@[129; 134) + IDENT@[129; 134) "Clone" + WHITESPACE@[134; 135) " " + PLUS@[135; 136) "+" + WHITESPACE@[136; 137) " " + TYPE_BOUND@[137; 141) + PATH_TYPE@[137; 141) + PATH@[137; 141) + PATH_SEGMENT@[137; 141) + NAME_REF@[137; 141) + IDENT@[137; 141) "Copy" + R_ANGLE@[141; 142) ">" + SEMI@[142; 143) ";" + WHITESPACE@[143; 144) "\n" + STRUCT_DEF@[144; 180) + STRUCT_KW@[144; 150) "struct" + WHITESPACE@[150; 151) " " + NAME@[151; 152) + IDENT@[151; 152) "H" + TYPE_PARAM_LIST@[152; 179) + L_ANGLE@[152; 153) "<" + TYPE_PARAM@[153; 178) + NAME@[153; 154) + IDENT@[153; 154) "T" + COLON@[154; 155) ":" + WHITESPACE@[155; 156) " " + TYPE_BOUND_LIST@[156; 178) + TYPE_BOUND@[156; 161) + PATH_TYPE@[156; 161) + PATH@[156; 161) + PATH_SEGMENT@[156; 161) + COLONCOLON@[156; 158) "::" + NAME_REF@[158; 161) + IDENT@[158; 161) "Foo" + WHITESPACE@[161; 162) " " + PLUS@[162; 163) "+" + WHITESPACE@[163; 164) " " + TYPE_BOUND@[164; 173) + PATH_TYPE@[164; 173) + PATH@[164; 173) + PATH@[164; 168) + PATH_SEGMENT@[164; 168) + SELF_KW@[164; 168) "self" + COLONCOLON@[168; 170) "::" + PATH_SEGMENT@[170; 173) + NAME_REF@[170; 173) + IDENT@[170; 173) "Bar" + WHITESPACE@[173; 174) " " + PLUS@[174; 175) "+" + WHITESPACE@[175; 176) " " + TYPE_BOUND@[176; 178) + LIFETIME@[176; 178) "\'a" + R_ANGLE@[178; 179) ">" + SEMI@[179; 180) ";" + WHITESPACE@[180; 181) "\n" + STRUCT_DEF@[181; 199) + STRUCT_KW@[181; 187) "struct" + WHITESPACE@[187; 188) " " + NAME@[188; 189) + IDENT@[188; 189) "I" + TYPE_PARAM_LIST@[189; 198) + L_ANGLE@[189; 190) "<" + TYPE_PARAM@[190; 192) + NAME@[190; 191) + IDENT@[190; 191) "T" + COLON@[191; 192) ":" + TYPE_BOUND_LIST@[192; 192) + COMMA@[192; 193) "," + WHITESPACE@[193; 194) " " + TYPE_PARAM@[194; 196) + NAME@[194; 195) + IDENT@[194; 195) "U" + COLON@[195; 196) ":" + TYPE_BOUND_LIST@[196; 196) + COMMA@[196; 197) "," + R_ANGLE@[197; 198) ">" + SEMI@[198; 199) ";" + WHITESPACE@[199; 200) "\n" + STRUCT_DEF@[200; 250) + STRUCT_KW@[200; 206) "struct" + WHITESPACE@[206; 207) " " + NAME@[207; 208) + IDENT@[207; 208) "K" + TYPE_PARAM_LIST@[208; 249) + L_ANGLE@[208; 209) "<" + LIFETIME_PARAM@[209; 215) + LIFETIME@[209; 211) "\'a" + COLON@[211; 212) ":" + WHITESPACE@[212; 213) " " + LIFETIME@[213; 215) "\'d" + COMMA@[215; 216) "," + WHITESPACE@[216; 217) " " + LIFETIME_PARAM@[217; 228) + LIFETIME@[217; 219) "\'d" + COLON@[219; 220) ":" + WHITESPACE@[220; 221) " " + LIFETIME@[221; 223) "\'a" + WHITESPACE@[223; 224) " " + PLUS@[224; 225) "+" + WHITESPACE@[225; 226) " " + LIFETIME@[226; 228) "\'b" + COMMA@[228; 229) "," + WHITESPACE@[229; 230) " " + TYPE_PARAM@[230; 248) + NAME@[230; 231) + IDENT@[230; 231) "T" + COLON@[231; 232) ":" + WHITESPACE@[232; 233) " " + TYPE_BOUND_LIST@[233; 248) + TYPE_BOUND@[233; 235) + LIFETIME@[233; 235) "\'a" + WHITESPACE@[235; 236) " " + PLUS@[236; 237) "+" + WHITESPACE@[237; 238) " " + TYPE_BOUND@[238; 240) + LIFETIME@[238; 240) "\'d" + WHITESPACE@[240; 241) " " + PLUS@[241; 242) "+" + WHITESPACE@[242; 243) " " + TYPE_BOUND@[243; 248) + PATH_TYPE@[243; 248) + PATH@[243; 248) + PATH_SEGMENT@[243; 248) + NAME_REF@[243; 248) + IDENT@[243; 248) "Clone" + R_ANGLE@[248; 249) ">" + SEMI@[249; 250) ";" diff --git a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.txt b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.txt deleted file mode 100644 index 18a5fd784..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.txt +++ /dev/null @@ -1,268 +0,0 @@ -SOURCE_FILE@[0; 250) - STRUCT_DEF@[0; 12) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "A" - TYPE_PARAM_LIST@[8; 11) - L_ANGLE@[8; 9) "<" - TYPE_PARAM@[9; 10) - NAME@[9; 10) - IDENT@[9; 10) "T" - R_ANGLE@[10; 11) ">" - SEMI@[11; 12) ";" - WHITESPACE@[12; 13) "\n" - STRUCT_DEF@[13; 26) - STRUCT_KW@[13; 19) "struct" - WHITESPACE@[19; 20) " " - NAME@[20; 21) - IDENT@[20; 21) "B" - TYPE_PARAM_LIST@[21; 25) - L_ANGLE@[21; 22) "<" - TYPE_PARAM@[22; 24) - NAME@[22; 23) - IDENT@[22; 23) "T" - COLON@[23; 24) ":" - TYPE_BOUND_LIST@[24; 24) - R_ANGLE@[24; 25) ">" - SEMI@[25; 26) ";" - WHITESPACE@[26; 27) "\n" - STRUCT_DEF@[27; 43) - STRUCT_KW@[27; 33) "struct" - WHITESPACE@[33; 34) " " - NAME@[34; 35) - IDENT@[34; 35) "C" - TYPE_PARAM_LIST@[35; 42) - L_ANGLE@[35; 36) "<" - TYPE_PARAM@[36; 41) - NAME@[36; 37) - IDENT@[36; 37) "T" - COLON@[37; 38) ":" - WHITESPACE@[38; 39) " " - TYPE_BOUND_LIST@[39; 41) - TYPE_BOUND@[39; 41) - LIFETIME@[39; 41) "\'a" - R_ANGLE@[41; 42) ">" - SEMI@[42; 43) ";" - WHITESPACE@[43; 44) "\n" - STRUCT_DEF@[44; 63) - STRUCT_KW@[44; 50) "struct" - WHITESPACE@[50; 51) " " - NAME@[51; 52) - IDENT@[51; 52) "D" - TYPE_PARAM_LIST@[52; 62) - L_ANGLE@[52; 53) "<" - TYPE_PARAM@[53; 60) - NAME@[53; 54) - IDENT@[53; 54) "T" - COLON@[54; 55) ":" - WHITESPACE@[55; 56) " " - TYPE_BOUND_LIST@[56; 60) - TYPE_BOUND@[56; 58) - LIFETIME@[56; 58) "\'a" - WHITESPACE@[58; 59) " " - PLUS@[59; 60) "+" - WHITESPACE@[60; 61) " " - R_ANGLE@[61; 62) ">" - SEMI@[62; 63) ";" - WHITESPACE@[63; 64) "\n" - STRUCT_DEF@[64; 86) - STRUCT_KW@[64; 70) "struct" - WHITESPACE@[70; 71) " " - NAME@[71; 72) - IDENT@[71; 72) "E" - TYPE_PARAM_LIST@[72; 85) - L_ANGLE@[72; 73) "<" - TYPE_PARAM@[73; 83) - NAME@[73; 74) - IDENT@[73; 74) "T" - COLON@[74; 75) ":" - WHITESPACE@[75; 76) " " - TYPE_BOUND_LIST@[76; 83) - TYPE_BOUND@[76; 78) - LIFETIME@[76; 78) "\'a" - WHITESPACE@[78; 79) " " - PLUS@[79; 80) "+" - WHITESPACE@[80; 81) " " - TYPE_BOUND@[81; 83) - LIFETIME@[81; 83) "\'d" - WHITESPACE@[83; 84) " " - R_ANGLE@[84; 85) ">" - SEMI@[85; 86) ";" - WHITESPACE@[86; 87) "\n" - STRUCT_DEF@[87; 116) - STRUCT_KW@[87; 93) "struct" - WHITESPACE@[93; 94) " " - NAME@[94; 95) - IDENT@[94; 95) "F" - TYPE_PARAM_LIST@[95; 115) - L_ANGLE@[95; 96) "<" - TYPE_PARAM@[96; 114) - NAME@[96; 97) - IDENT@[96; 97) "T" - COLON@[97; 98) ":" - WHITESPACE@[98; 99) " " - TYPE_BOUND_LIST@[99; 114) - TYPE_BOUND@[99; 101) - LIFETIME@[99; 101) "\'a" - WHITESPACE@[101; 102) " " - PLUS@[102; 103) "+" - WHITESPACE@[103; 104) " " - TYPE_BOUND@[104; 106) - LIFETIME@[104; 106) "\'d" - WHITESPACE@[106; 107) " " - PLUS@[107; 108) "+" - WHITESPACE@[108; 109) " " - TYPE_BOUND@[109; 114) - PATH_TYPE@[109; 114) - PATH@[109; 114) - PATH_SEGMENT@[109; 114) - NAME_REF@[109; 114) - IDENT@[109; 114) "Clone" - R_ANGLE@[114; 115) ">" - SEMI@[115; 116) ";" - WHITESPACE@[116; 117) "\n" - STRUCT_DEF@[117; 143) - STRUCT_KW@[117; 123) "struct" - WHITESPACE@[123; 124) " " - NAME@[124; 125) - IDENT@[124; 125) "G" - TYPE_PARAM_LIST@[125; 142) - L_ANGLE@[125; 126) "<" - TYPE_PARAM@[126; 141) - NAME@[126; 127) - IDENT@[126; 127) "T" - COLON@[127; 128) ":" - WHITESPACE@[128; 129) " " - TYPE_BOUND_LIST@[129; 141) - TYPE_BOUND@[129; 134) - PATH_TYPE@[129; 134) - PATH@[129; 134) - PATH_SEGMENT@[129; 134) - NAME_REF@[129; 134) - IDENT@[129; 134) "Clone" - WHITESPACE@[134; 135) " " - PLUS@[135; 136) "+" - WHITESPACE@[136; 137) " " - TYPE_BOUND@[137; 141) - PATH_TYPE@[137; 141) - PATH@[137; 141) - PATH_SEGMENT@[137; 141) - NAME_REF@[137; 141) - IDENT@[137; 141) "Copy" - R_ANGLE@[141; 142) ">" - SEMI@[142; 143) ";" - WHITESPACE@[143; 144) "\n" - STRUCT_DEF@[144; 180) - STRUCT_KW@[144; 150) "struct" - WHITESPACE@[150; 151) " " - NAME@[151; 152) - IDENT@[151; 152) "H" - TYPE_PARAM_LIST@[152; 179) - L_ANGLE@[152; 153) "<" - TYPE_PARAM@[153; 178) - NAME@[153; 154) - IDENT@[153; 154) "T" - COLON@[154; 155) ":" - WHITESPACE@[155; 156) " " - TYPE_BOUND_LIST@[156; 178) - TYPE_BOUND@[156; 161) - PATH_TYPE@[156; 161) - PATH@[156; 161) - PATH_SEGMENT@[156; 161) - COLONCOLON@[156; 158) "::" - NAME_REF@[158; 161) - IDENT@[158; 161) "Foo" - WHITESPACE@[161; 162) " " - PLUS@[162; 163) "+" - WHITESPACE@[163; 164) " " - TYPE_BOUND@[164; 173) - PATH_TYPE@[164; 173) - PATH@[164; 173) - PATH@[164; 168) - PATH_SEGMENT@[164; 168) - SELF_KW@[164; 168) "self" - COLONCOLON@[168; 170) "::" - PATH_SEGMENT@[170; 173) - NAME_REF@[170; 173) - IDENT@[170; 173) "Bar" - WHITESPACE@[173; 174) " " - PLUS@[174; 175) "+" - WHITESPACE@[175; 176) " " - TYPE_BOUND@[176; 178) - LIFETIME@[176; 178) "\'a" - R_ANGLE@[178; 179) ">" - SEMI@[179; 180) ";" - WHITESPACE@[180; 181) "\n" - STRUCT_DEF@[181; 199) - STRUCT_KW@[181; 187) "struct" - WHITESPACE@[187; 188) " " - NAME@[188; 189) - IDENT@[188; 189) "I" - TYPE_PARAM_LIST@[189; 198) - L_ANGLE@[189; 190) "<" - TYPE_PARAM@[190; 192) - NAME@[190; 191) - IDENT@[190; 191) "T" - COLON@[191; 192) ":" - TYPE_BOUND_LIST@[192; 192) - COMMA@[192; 193) "," - WHITESPACE@[193; 194) " " - TYPE_PARAM@[194; 196) - NAME@[194; 195) - IDENT@[194; 195) "U" - COLON@[195; 196) ":" - TYPE_BOUND_LIST@[196; 196) - COMMA@[196; 197) "," - R_ANGLE@[197; 198) ">" - SEMI@[198; 199) ";" - WHITESPACE@[199; 200) "\n" - STRUCT_DEF@[200; 250) - STRUCT_KW@[200; 206) "struct" - WHITESPACE@[206; 207) " " - NAME@[207; 208) - IDENT@[207; 208) "K" - TYPE_PARAM_LIST@[208; 249) - L_ANGLE@[208; 209) "<" - LIFETIME_PARAM@[209; 215) - LIFETIME@[209; 211) "\'a" - COLON@[211; 212) ":" - WHITESPACE@[212; 213) " " - LIFETIME@[213; 215) "\'d" - COMMA@[215; 216) "," - WHITESPACE@[216; 217) " " - LIFETIME_PARAM@[217; 228) - LIFETIME@[217; 219) "\'d" - COLON@[219; 220) ":" - WHITESPACE@[220; 221) " " - LIFETIME@[221; 223) "\'a" - WHITESPACE@[223; 224) " " - PLUS@[224; 225) "+" - WHITESPACE@[225; 226) " " - LIFETIME@[226; 228) "\'b" - COMMA@[228; 229) "," - WHITESPACE@[229; 230) " " - TYPE_PARAM@[230; 248) - NAME@[230; 231) - IDENT@[230; 231) "T" - COLON@[231; 232) ":" - WHITESPACE@[232; 233) " " - TYPE_BOUND_LIST@[233; 248) - TYPE_BOUND@[233; 235) - LIFETIME@[233; 235) "\'a" - WHITESPACE@[235; 236) " " - PLUS@[236; 237) "+" - WHITESPACE@[237; 238) " " - TYPE_BOUND@[238; 240) - LIFETIME@[238; 240) "\'d" - WHITESPACE@[240; 241) " " - PLUS@[241; 242) "+" - WHITESPACE@[242; 243) " " - TYPE_BOUND@[243; 248) - PATH_TYPE@[243; 248) - PATH@[243; 248) - PATH_SEGMENT@[243; 248) - NAME_REF@[243; 248) - IDENT@[243; 248) "Clone" - R_ANGLE@[248; 249) ">" - SEMI@[249; 250) ";" diff --git a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast new file mode 100644 index 000000000..974fb9c44 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast @@ -0,0 +1,59 @@ +SOURCE_FILE@[0; 71) + FN_DEF@[0; 19) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + FN_KW@[7; 9) "fn" + WHITESPACE@[9; 10) " " + NAME@[10; 13) + IDENT@[10; 13) "foo" + PARAM_LIST@[13; 15) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " + BLOCK_EXPR@[16; 19) + BLOCK@[16; 19) + L_CURLY@[16; 17) "{" + WHITESPACE@[17; 18) "\n" + R_CURLY@[18; 19) "}" + WHITESPACE@[19; 21) "\n\n" + FN_DEF@[21; 44) + ABI@[21; 31) + EXTERN_KW@[21; 27) "extern" + WHITESPACE@[27; 28) " " + STRING@[28; 31) "\"C\"" + WHITESPACE@[31; 32) " " + FN_KW@[32; 34) "fn" + WHITESPACE@[34; 35) " " + NAME@[35; 38) + IDENT@[35; 38) "bar" + PARAM_LIST@[38; 40) + L_PAREN@[38; 39) "(" + R_PAREN@[39; 40) ")" + WHITESPACE@[40; 41) " " + BLOCK_EXPR@[41; 44) + BLOCK@[41; 44) + L_CURLY@[41; 42) "{" + WHITESPACE@[42; 43) "\n" + R_CURLY@[43; 44) "}" + WHITESPACE@[44; 46) "\n\n" + FN_DEF@[46; 70) + ABI@[46; 57) + EXTERN_KW@[46; 52) "extern" + WHITESPACE@[52; 53) " " + RAW_STRING@[53; 57) "r\"D\"" + WHITESPACE@[57; 58) " " + FN_KW@[58; 60) "fn" + WHITESPACE@[60; 61) " " + NAME@[61; 64) + IDENT@[61; 64) "baz" + PARAM_LIST@[64; 66) + L_PAREN@[64; 65) "(" + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " + BLOCK_EXPR@[67; 70) + BLOCK@[67; 70) + L_CURLY@[67; 68) "{" + WHITESPACE@[68; 69) "\n" + R_CURLY@[69; 70) "}" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt deleted file mode 100644 index 974fb9c44..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt +++ /dev/null @@ -1,59 +0,0 @@ -SOURCE_FILE@[0; 71) - FN_DEF@[0; 19) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - FN_KW@[7; 9) "fn" - WHITESPACE@[9; 10) " " - NAME@[10; 13) - IDENT@[10; 13) "foo" - PARAM_LIST@[13; 15) - L_PAREN@[13; 14) "(" - R_PAREN@[14; 15) ")" - WHITESPACE@[15; 16) " " - BLOCK_EXPR@[16; 19) - BLOCK@[16; 19) - L_CURLY@[16; 17) "{" - WHITESPACE@[17; 18) "\n" - R_CURLY@[18; 19) "}" - WHITESPACE@[19; 21) "\n\n" - FN_DEF@[21; 44) - ABI@[21; 31) - EXTERN_KW@[21; 27) "extern" - WHITESPACE@[27; 28) " " - STRING@[28; 31) "\"C\"" - WHITESPACE@[31; 32) " " - FN_KW@[32; 34) "fn" - WHITESPACE@[34; 35) " " - NAME@[35; 38) - IDENT@[35; 38) "bar" - PARAM_LIST@[38; 40) - L_PAREN@[38; 39) "(" - R_PAREN@[39; 40) ")" - WHITESPACE@[40; 41) " " - BLOCK_EXPR@[41; 44) - BLOCK@[41; 44) - L_CURLY@[41; 42) "{" - WHITESPACE@[42; 43) "\n" - R_CURLY@[43; 44) "}" - WHITESPACE@[44; 46) "\n\n" - FN_DEF@[46; 70) - ABI@[46; 57) - EXTERN_KW@[46; 52) "extern" - WHITESPACE@[52; 53) " " - RAW_STRING@[53; 57) "r\"D\"" - WHITESPACE@[57; 58) " " - FN_KW@[58; 60) "fn" - WHITESPACE@[60; 61) " " - NAME@[61; 64) - IDENT@[61; 64) "baz" - PARAM_LIST@[64; 66) - L_PAREN@[64; 65) "(" - R_PAREN@[65; 66) ")" - WHITESPACE@[66; 67) " " - BLOCK_EXPR@[67; 70) - BLOCK@[67; 70) - L_CURLY@[67; 68) "{" - WHITESPACE@[68; 69) "\n" - R_CURLY@[69; 70) "}" - WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.rast b/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.rast new file mode 100644 index 000000000..bbbd95fd9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.rast @@ -0,0 +1,21 @@ +SOURCE_FILE@[0; 27) + EXTERN_BLOCK@[0; 10) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + EXTERN_ITEM_LIST@[7; 10) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 9) "\n" + R_CURLY@[9; 10) "}" + WHITESPACE@[10; 12) "\n\n" + EXTERN_BLOCK@[12; 26) + ABI@[12; 22) + EXTERN_KW@[12; 18) "extern" + WHITESPACE@[18; 19) " " + STRING@[19; 22) "\"C\"" + WHITESPACE@[22; 23) " " + EXTERN_ITEM_LIST@[23; 26) + L_CURLY@[23; 24) "{" + WHITESPACE@[24; 25) "\n" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.txt b/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.txt deleted file mode 100644 index bbbd95fd9..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0022_empty_extern_block.txt +++ /dev/null @@ -1,21 +0,0 @@ -SOURCE_FILE@[0; 27) - EXTERN_BLOCK@[0; 10) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - EXTERN_ITEM_LIST@[7; 10) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 9) "\n" - R_CURLY@[9; 10) "}" - WHITESPACE@[10; 12) "\n\n" - EXTERN_BLOCK@[12; 26) - ABI@[12; 22) - EXTERN_KW@[12; 18) "extern" - WHITESPACE@[18; 19) " " - STRING@[19; 22) "\"C\"" - WHITESPACE@[22; 23) " " - EXTERN_ITEM_LIST@[23; 26) - L_CURLY@[23; 24) "{" - WHITESPACE@[24; 25) "\n" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast b/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast new file mode 100644 index 000000000..5591f95eb --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast @@ -0,0 +1,41 @@ +SOURCE_FILE@[0; 47) + STATIC_DEF@[0; 20) + STATIC_KW@[0; 6) "static" + WHITESPACE@[6; 7) " " + 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) "u32" + WHITESPACE@[15; 16) " " + EQ@[16; 17) "=" + WHITESPACE@[17; 18) " " + LITERAL@[18; 19) + INT_NUMBER@[18; 19) "1" + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" + STATIC_DEF@[21; 46) + STATIC_KW@[21; 27) "static" + WHITESPACE@[27; 28) " " + MUT_KW@[28; 31) "mut" + WHITESPACE@[31; 32) " " + NAME@[32; 35) + IDENT@[32; 35) "BAR" + COLON@[35; 36) ":" + WHITESPACE@[36; 37) " " + PATH_TYPE@[37; 40) + PATH@[37; 40) + PATH_SEGMENT@[37; 40) + NAME_REF@[37; 40) + IDENT@[37; 40) "i32" + WHITESPACE@[40; 41) " " + EQ@[41; 42) "=" + WHITESPACE@[42; 43) " " + LITERAL@[43; 45) + INT_NUMBER@[43; 45) "92" + SEMI@[45; 46) ";" + WHITESPACE@[46; 47) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0023_static_items.txt b/crates/ra_syntax/test_data/parser/ok/0023_static_items.txt deleted file mode 100644 index 5591f95eb..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0023_static_items.txt +++ /dev/null @@ -1,41 +0,0 @@ -SOURCE_FILE@[0; 47) - STATIC_DEF@[0; 20) - STATIC_KW@[0; 6) "static" - WHITESPACE@[6; 7) " " - 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) "u32" - WHITESPACE@[15; 16) " " - EQ@[16; 17) "=" - WHITESPACE@[17; 18) " " - LITERAL@[18; 19) - INT_NUMBER@[18; 19) "1" - SEMI@[19; 20) ";" - WHITESPACE@[20; 21) "\n" - STATIC_DEF@[21; 46) - STATIC_KW@[21; 27) "static" - WHITESPACE@[27; 28) " " - MUT_KW@[28; 31) "mut" - WHITESPACE@[31; 32) " " - NAME@[32; 35) - IDENT@[32; 35) "BAR" - COLON@[35; 36) ":" - WHITESPACE@[36; 37) " " - PATH_TYPE@[37; 40) - PATH@[37; 40) - PATH_SEGMENT@[37; 40) - NAME_REF@[37; 40) - IDENT@[37; 40) "i32" - WHITESPACE@[40; 41) " " - EQ@[41; 42) "=" - WHITESPACE@[42; 43) " " - LITERAL@[43; 45) - INT_NUMBER@[43; 45) "92" - SEMI@[45; 46) ";" - WHITESPACE@[46; 47) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast b/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast new file mode 100644 index 000000000..abe9f851b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast @@ -0,0 +1,59 @@ +SOURCE_FILE@[0; 64) + CONST_DEF@[0; 17) + CONST_KW@[0; 5) "const" + WHITESPACE@[5; 6) " " + UNDERSCORE@[6; 7) "_" + COLON@[7; 8) ":" + WHITESPACE@[8; 9) " " + PATH_TYPE@[9; 12) + PATH@[9; 12) + PATH_SEGMENT@[9; 12) + NAME_REF@[9; 12) + IDENT@[9; 12) "u32" + WHITESPACE@[12; 13) " " + EQ@[13; 14) "=" + WHITESPACE@[14; 15) " " + LITERAL@[15; 16) + INT_NUMBER@[15; 16) "0" + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" + CONST_DEF@[18; 38) + CONST_KW@[18; 23) "const" + WHITESPACE@[23; 24) " " + NAME@[24; 27) + IDENT@[24; 27) "FOO" + 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) " " + EQ@[33; 34) "=" + WHITESPACE@[34; 35) " " + LITERAL@[35; 37) + INT_NUMBER@[35; 37) "92" + SEMI@[37; 38) ";" + WHITESPACE@[38; 39) "\n" + CONST_DEF@[39; 63) + CONST_KW@[39; 44) "const" + WHITESPACE@[44; 45) " " + MUT_KW@[45; 48) "mut" + WHITESPACE@[48; 49) " " + NAME@[49; 52) + IDENT@[49; 52) "BAR" + COLON@[52; 53) ":" + WHITESPACE@[53; 54) " " + PATH_TYPE@[54; 57) + PATH@[54; 57) + PATH_SEGMENT@[54; 57) + NAME_REF@[54; 57) + IDENT@[54; 57) "u32" + WHITESPACE@[57; 58) " " + EQ@[58; 59) "=" + WHITESPACE@[59; 60) " " + LITERAL@[60; 62) + INT_NUMBER@[60; 62) "62" + SEMI@[62; 63) ";" + WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0024_const_item.txt b/crates/ra_syntax/test_data/parser/ok/0024_const_item.txt deleted file mode 100644 index abe9f851b..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0024_const_item.txt +++ /dev/null @@ -1,59 +0,0 @@ -SOURCE_FILE@[0; 64) - CONST_DEF@[0; 17) - CONST_KW@[0; 5) "const" - WHITESPACE@[5; 6) " " - UNDERSCORE@[6; 7) "_" - COLON@[7; 8) ":" - WHITESPACE@[8; 9) " " - PATH_TYPE@[9; 12) - PATH@[9; 12) - PATH_SEGMENT@[9; 12) - NAME_REF@[9; 12) - IDENT@[9; 12) "u32" - WHITESPACE@[12; 13) " " - EQ@[13; 14) "=" - WHITESPACE@[14; 15) " " - LITERAL@[15; 16) - INT_NUMBER@[15; 16) "0" - SEMI@[16; 17) ";" - WHITESPACE@[17; 18) "\n" - CONST_DEF@[18; 38) - CONST_KW@[18; 23) "const" - WHITESPACE@[23; 24) " " - NAME@[24; 27) - IDENT@[24; 27) "FOO" - 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) " " - EQ@[33; 34) "=" - WHITESPACE@[34; 35) " " - LITERAL@[35; 37) - INT_NUMBER@[35; 37) "92" - SEMI@[37; 38) ";" - WHITESPACE@[38; 39) "\n" - CONST_DEF@[39; 63) - CONST_KW@[39; 44) "const" - WHITESPACE@[44; 45) " " - MUT_KW@[45; 48) "mut" - WHITESPACE@[48; 49) " " - NAME@[49; 52) - IDENT@[49; 52) "BAR" - COLON@[52; 53) ":" - WHITESPACE@[53; 54) " " - PATH_TYPE@[54; 57) - PATH@[54; 57) - PATH_SEGMENT@[54; 57) - NAME_REF@[54; 57) - IDENT@[54; 57) "u32" - WHITESPACE@[57; 58) " " - EQ@[58; 59) "=" - WHITESPACE@[59; 60) " " - LITERAL@[60; 62) - INT_NUMBER@[60; 62) "62" - SEMI@[62; 63) ";" - WHITESPACE@[63; 64) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast new file mode 100644 index 000000000..f5a7a1a5a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast @@ -0,0 +1,33 @@ +SOURCE_FILE@[0; 35) + FN_DEF@[0; 34) + 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; 34) + BLOCK@[10; 34) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + FN_DEF@[16; 32) + ABI@[16; 22) + EXTERN_KW@[16; 22) "extern" + WHITESPACE@[22; 23) " " + FN_KW@[23; 25) "fn" + WHITESPACE@[25; 26) " " + NAME@[26; 27) + IDENT@[26; 27) "f" + PARAM_LIST@[27; 29) + L_PAREN@[27; 28) "(" + R_PAREN@[28; 29) ")" + WHITESPACE@[29; 30) " " + BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt deleted file mode 100644 index f5a7a1a5a..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt +++ /dev/null @@ -1,33 +0,0 @@ -SOURCE_FILE@[0; 35) - FN_DEF@[0; 34) - 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; 34) - BLOCK@[10; 34) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - FN_DEF@[16; 32) - ABI@[16; 22) - EXTERN_KW@[16; 22) "extern" - WHITESPACE@[22; 23) " " - FN_KW@[23; 25) "fn" - WHITESPACE@[25; 26) " " - NAME@[26; 27) - IDENT@[26; 27) "f" - PARAM_LIST@[27; 29) - L_PAREN@[27; 28) "(" - R_PAREN@[28; 29) ")" - WHITESPACE@[29; 30) " " - BLOCK_EXPR@[30; 32) - BLOCK@[30; 32) - L_CURLY@[30; 31) "{" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" - R_CURLY@[33; 34) "}" - WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast new file mode 100644 index 000000000..f9b1dcf1a --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast @@ -0,0 +1,32 @@ +SOURCE_FILE@[0; 34) + FN_DEF@[0; 33) + 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; 33) + BLOCK@[10; 33) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + FN_DEF@[16; 31) + CONST_KW@[16; 21) "const" + WHITESPACE@[21; 22) " " + FN_KW@[22; 24) "fn" + WHITESPACE@[24; 25) " " + NAME@[25; 26) + IDENT@[25; 26) "f" + 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; 32) "\n" + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt deleted file mode 100644 index f9b1dcf1a..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt +++ /dev/null @@ -1,32 +0,0 @@ -SOURCE_FILE@[0; 34) - FN_DEF@[0; 33) - 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; 33) - BLOCK@[10; 33) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - FN_DEF@[16; 31) - CONST_KW@[16; 21) "const" - WHITESPACE@[21; 22) " " - FN_KW@[22; 24) "fn" - WHITESPACE@[24; 25) " " - NAME@[25; 26) - IDENT@[25; 26) "f" - 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; 32) "\n" - R_CURLY@[32; 33) "}" - WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast new file mode 100644 index 000000000..9fb7b70a0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 53) + FN_DEF@[0; 52) + 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; 52) + BLOCK@[10; 52) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + FN_DEF@[16; 32) + UNSAFE_KW@[16; 22) "unsafe" + WHITESPACE@[22; 23) " " + FN_KW@[23; 25) "fn" + WHITESPACE@[25; 26) " " + NAME@[26; 27) + IDENT@[26; 27) "f" + PARAM_LIST@[27; 29) + L_PAREN@[27; 28) "(" + R_PAREN@[28; 29) ")" + WHITESPACE@[29; 30) " " + BLOCK_EXPR@[30; 32) + BLOCK@[30; 32) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 37) "\n " + BLOCK_EXPR@[37; 50) + UNSAFE_KW@[37; 43) "unsafe" + WHITESPACE@[43; 44) " " + BLOCK@[44; 50) + L_CURLY@[44; 45) "{" + WHITESPACE@[45; 46) " " + LITERAL@[46; 48) + INT_NUMBER@[46; 48) "92" + WHITESPACE@[48; 49) " " + R_CURLY@[49; 50) "}" + WHITESPACE@[50; 51) "\n" + R_CURLY@[51; 52) "}" + WHITESPACE@[52; 53) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt deleted file mode 100644 index 9fb7b70a0..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 53) - FN_DEF@[0; 52) - 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; 52) - BLOCK@[10; 52) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - FN_DEF@[16; 32) - UNSAFE_KW@[16; 22) "unsafe" - WHITESPACE@[22; 23) " " - FN_KW@[23; 25) "fn" - WHITESPACE@[25; 26) " " - NAME@[26; 27) - IDENT@[26; 27) "f" - PARAM_LIST@[27; 29) - L_PAREN@[27; 28) "(" - R_PAREN@[28; 29) ")" - WHITESPACE@[29; 30) " " - BLOCK_EXPR@[30; 32) - BLOCK@[30; 32) - L_CURLY@[30; 31) "{" - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 37) "\n " - BLOCK_EXPR@[37; 50) - UNSAFE_KW@[37; 43) "unsafe" - WHITESPACE@[43; 44) " " - BLOCK@[44; 50) - L_CURLY@[44; 45) "{" - WHITESPACE@[45; 46) " " - LITERAL@[46; 48) - INT_NUMBER@[46; 48) "92" - WHITESPACE@[48; 49) " " - R_CURLY@[49; 50) "}" - WHITESPACE@[50; 51) "\n" - R_CURLY@[51; 52) "}" - WHITESPACE@[52; 53) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast new file mode 100644 index 000000000..afca1fba2 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast @@ -0,0 +1,186 @@ +SOURCE_FILE@[0; 248) + FN_DEF@[0; 247) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 16) + IDENT@[3; 16) "binding_power" + PARAM_LIST@[16; 18) + L_PAREN@[16; 17) "(" + R_PAREN@[17; 18) ")" + WHITESPACE@[18; 19) " " + BLOCK_EXPR@[19; 247) + BLOCK@[19; 247) + L_CURLY@[19; 20) "{" + WHITESPACE@[20; 25) "\n " + LET_STMT@[25; 55) + LET_KW@[25; 28) "let" + WHITESPACE@[28; 29) " " + BIND_PAT@[29; 30) + NAME@[29; 30) + IDENT@[29; 30) "x" + WHITESPACE@[30; 31) " " + EQ@[31; 32) "=" + WHITESPACE@[32; 33) " " + BIN_EXPR@[33; 54) + BIN_EXPR@[33; 46) + LITERAL@[33; 34) + INT_NUMBER@[33; 34) "1" + WHITESPACE@[34; 35) " " + PLUS@[35; 36) "+" + WHITESPACE@[36; 37) " " + BIN_EXPR@[37; 46) + BIN_EXPR@[37; 42) + LITERAL@[37; 38) + INT_NUMBER@[37; 38) "2" + WHITESPACE@[38; 39) " " + STAR@[39; 40) "*" + WHITESPACE@[40; 41) " " + LITERAL@[41; 42) + INT_NUMBER@[41; 42) "3" + WHITESPACE@[42; 43) " " + PERCENT@[43; 44) "%" + WHITESPACE@[44; 45) " " + LITERAL@[45; 46) + INT_NUMBER@[45; 46) "4" + WHITESPACE@[46; 47) " " + MINUS@[47; 48) "-" + WHITESPACE@[48; 49) " " + BIN_EXPR@[49; 54) + LITERAL@[49; 50) + INT_NUMBER@[49; 50) "5" + WHITESPACE@[50; 51) " " + SLASH@[51; 52) "/" + WHITESPACE@[52; 53) " " + LITERAL@[53; 54) + INT_NUMBER@[53; 54) "6" + SEMI@[54; 55) ";" + WHITESPACE@[55; 60) "\n " + EXPR_STMT@[60; 70) + BIN_EXPR@[60; 69) + LITERAL@[60; 61) + INT_NUMBER@[60; 61) "1" + WHITESPACE@[61; 62) " " + PLUS@[62; 63) "+" + WHITESPACE@[63; 64) " " + BIN_EXPR@[64; 69) + LITERAL@[64; 65) + INT_NUMBER@[64; 65) "2" + WHITESPACE@[65; 66) " " + STAR@[66; 67) "*" + WHITESPACE@[67; 68) " " + LITERAL@[68; 69) + INT_NUMBER@[68; 69) "3" + SEMI@[69; 70) ";" + WHITESPACE@[70; 75) "\n " + EXPR_STMT@[75; 86) + BIN_EXPR@[75; 85) + LITERAL@[75; 76) + INT_NUMBER@[75; 76) "1" + WHITESPACE@[76; 77) " " + SHL@[77; 79) "<<" + WHITESPACE@[79; 80) " " + BIN_EXPR@[80; 85) + LITERAL@[80; 81) + INT_NUMBER@[80; 81) "2" + WHITESPACE@[81; 82) " " + PLUS@[82; 83) "+" + WHITESPACE@[83; 84) " " + LITERAL@[84; 85) + INT_NUMBER@[84; 85) "3" + SEMI@[85; 86) ";" + WHITESPACE@[86; 91) "\n " + EXPR_STMT@[91; 102) + BIN_EXPR@[91; 101) + LITERAL@[91; 92) + INT_NUMBER@[91; 92) "1" + WHITESPACE@[92; 93) " " + AMP@[93; 94) "&" + WHITESPACE@[94; 95) " " + BIN_EXPR@[95; 101) + LITERAL@[95; 96) + INT_NUMBER@[95; 96) "2" + WHITESPACE@[96; 97) " " + SHR@[97; 99) ">>" + WHITESPACE@[99; 100) " " + LITERAL@[100; 101) + INT_NUMBER@[100; 101) "3" + SEMI@[101; 102) ";" + WHITESPACE@[102; 107) "\n " + EXPR_STMT@[107; 117) + BIN_EXPR@[107; 116) + LITERAL@[107; 108) + INT_NUMBER@[107; 108) "1" + WHITESPACE@[108; 109) " " + CARET@[109; 110) "^" + WHITESPACE@[110; 111) " " + BIN_EXPR@[111; 116) + LITERAL@[111; 112) + INT_NUMBER@[111; 112) "2" + WHITESPACE@[112; 113) " " + AMP@[113; 114) "&" + WHITESPACE@[114; 115) " " + LITERAL@[115; 116) + INT_NUMBER@[115; 116) "3" + SEMI@[116; 117) ";" + WHITESPACE@[117; 122) "\n " + EXPR_STMT@[122; 132) + BIN_EXPR@[122; 131) + LITERAL@[122; 123) + INT_NUMBER@[122; 123) "1" + WHITESPACE@[123; 124) " " + PIPE@[124; 125) "|" + WHITESPACE@[125; 126) " " + BIN_EXPR@[126; 131) + LITERAL@[126; 127) + INT_NUMBER@[126; 127) "2" + WHITESPACE@[127; 128) " " + CARET@[128; 129) "^" + WHITESPACE@[129; 130) " " + LITERAL@[130; 131) + INT_NUMBER@[130; 131) "3" + SEMI@[131; 132) ";" + WHITESPACE@[132; 137) "\n " + EXPR_STMT@[137; 148) + BIN_EXPR@[137; 147) + LITERAL@[137; 138) + INT_NUMBER@[137; 138) "1" + WHITESPACE@[138; 139) " " + EQEQ@[139; 141) "==" + WHITESPACE@[141; 142) " " + BIN_EXPR@[142; 147) + LITERAL@[142; 143) + INT_NUMBER@[142; 143) "2" + WHITESPACE@[143; 144) " " + PIPE@[144; 145) "|" + WHITESPACE@[145; 146) " " + LITERAL@[146; 147) + INT_NUMBER@[146; 147) "3" + SEMI@[147; 148) ";" + WHITESPACE@[148; 153) "\n " + EXPR_STMT@[153; 165) + BIN_EXPR@[153; 164) + LITERAL@[153; 154) + INT_NUMBER@[153; 154) "1" + WHITESPACE@[154; 155) " " + AMPAMP@[155; 157) "&&" + WHITESPACE@[157; 158) " " + BIN_EXPR@[158; 164) + LITERAL@[158; 159) + INT_NUMBER@[158; 159) "2" + WHITESPACE@[159; 160) " " + EQEQ@[160; 162) "==" + WHITESPACE@[162; 163) " " + LITERAL@[163; 164) + INT_NUMBER@[163; 164) "3" + SEMI@[164; 165) ";" + WHITESPACE@[165; 170) "\n " + COMMENT@[170; 184) "//1 || 2 && 2;" + WHITESPACE@[184; 189) "\n " + COMMENT@[189; 203) "//1 .. 2 || 3;" + WHITESPACE@[203; 208) "\n " + COMMENT@[208; 221) "//1 = 2 .. 3;" + WHITESPACE@[221; 226) "\n " + COMMENT@[226; 245) "//---&*1 - --2 * 9;" + WHITESPACE@[245; 246) "\n" + R_CURLY@[246; 247) "}" + WHITESPACE@[247; 248) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt deleted file mode 100644 index afca1fba2..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt +++ /dev/null @@ -1,186 +0,0 @@ -SOURCE_FILE@[0; 248) - FN_DEF@[0; 247) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 16) - IDENT@[3; 16) "binding_power" - PARAM_LIST@[16; 18) - L_PAREN@[16; 17) "(" - R_PAREN@[17; 18) ")" - WHITESPACE@[18; 19) " " - BLOCK_EXPR@[19; 247) - BLOCK@[19; 247) - L_CURLY@[19; 20) "{" - WHITESPACE@[20; 25) "\n " - LET_STMT@[25; 55) - LET_KW@[25; 28) "let" - WHITESPACE@[28; 29) " " - BIND_PAT@[29; 30) - NAME@[29; 30) - IDENT@[29; 30) "x" - WHITESPACE@[30; 31) " " - EQ@[31; 32) "=" - WHITESPACE@[32; 33) " " - BIN_EXPR@[33; 54) - BIN_EXPR@[33; 46) - LITERAL@[33; 34) - INT_NUMBER@[33; 34) "1" - WHITESPACE@[34; 35) " " - PLUS@[35; 36) "+" - WHITESPACE@[36; 37) " " - BIN_EXPR@[37; 46) - BIN_EXPR@[37; 42) - LITERAL@[37; 38) - INT_NUMBER@[37; 38) "2" - WHITESPACE@[38; 39) " " - STAR@[39; 40) "*" - WHITESPACE@[40; 41) " " - LITERAL@[41; 42) - INT_NUMBER@[41; 42) "3" - WHITESPACE@[42; 43) " " - PERCENT@[43; 44) "%" - WHITESPACE@[44; 45) " " - LITERAL@[45; 46) - INT_NUMBER@[45; 46) "4" - WHITESPACE@[46; 47) " " - MINUS@[47; 48) "-" - WHITESPACE@[48; 49) " " - BIN_EXPR@[49; 54) - LITERAL@[49; 50) - INT_NUMBER@[49; 50) "5" - WHITESPACE@[50; 51) " " - SLASH@[51; 52) "/" - WHITESPACE@[52; 53) " " - LITERAL@[53; 54) - INT_NUMBER@[53; 54) "6" - SEMI@[54; 55) ";" - WHITESPACE@[55; 60) "\n " - EXPR_STMT@[60; 70) - BIN_EXPR@[60; 69) - LITERAL@[60; 61) - INT_NUMBER@[60; 61) "1" - WHITESPACE@[61; 62) " " - PLUS@[62; 63) "+" - WHITESPACE@[63; 64) " " - BIN_EXPR@[64; 69) - LITERAL@[64; 65) - INT_NUMBER@[64; 65) "2" - WHITESPACE@[65; 66) " " - STAR@[66; 67) "*" - WHITESPACE@[67; 68) " " - LITERAL@[68; 69) - INT_NUMBER@[68; 69) "3" - SEMI@[69; 70) ";" - WHITESPACE@[70; 75) "\n " - EXPR_STMT@[75; 86) - BIN_EXPR@[75; 85) - LITERAL@[75; 76) - INT_NUMBER@[75; 76) "1" - WHITESPACE@[76; 77) " " - SHL@[77; 79) "<<" - WHITESPACE@[79; 80) " " - BIN_EXPR@[80; 85) - LITERAL@[80; 81) - INT_NUMBER@[80; 81) "2" - WHITESPACE@[81; 82) " " - PLUS@[82; 83) "+" - WHITESPACE@[83; 84) " " - LITERAL@[84; 85) - INT_NUMBER@[84; 85) "3" - SEMI@[85; 86) ";" - WHITESPACE@[86; 91) "\n " - EXPR_STMT@[91; 102) - BIN_EXPR@[91; 101) - LITERAL@[91; 92) - INT_NUMBER@[91; 92) "1" - WHITESPACE@[92; 93) " " - AMP@[93; 94) "&" - WHITESPACE@[94; 95) " " - BIN_EXPR@[95; 101) - LITERAL@[95; 96) - INT_NUMBER@[95; 96) "2" - WHITESPACE@[96; 97) " " - SHR@[97; 99) ">>" - WHITESPACE@[99; 100) " " - LITERAL@[100; 101) - INT_NUMBER@[100; 101) "3" - SEMI@[101; 102) ";" - WHITESPACE@[102; 107) "\n " - EXPR_STMT@[107; 117) - BIN_EXPR@[107; 116) - LITERAL@[107; 108) - INT_NUMBER@[107; 108) "1" - WHITESPACE@[108; 109) " " - CARET@[109; 110) "^" - WHITESPACE@[110; 111) " " - BIN_EXPR@[111; 116) - LITERAL@[111; 112) - INT_NUMBER@[111; 112) "2" - WHITESPACE@[112; 113) " " - AMP@[113; 114) "&" - WHITESPACE@[114; 115) " " - LITERAL@[115; 116) - INT_NUMBER@[115; 116) "3" - SEMI@[116; 117) ";" - WHITESPACE@[117; 122) "\n " - EXPR_STMT@[122; 132) - BIN_EXPR@[122; 131) - LITERAL@[122; 123) - INT_NUMBER@[122; 123) "1" - WHITESPACE@[123; 124) " " - PIPE@[124; 125) "|" - WHITESPACE@[125; 126) " " - BIN_EXPR@[126; 131) - LITERAL@[126; 127) - INT_NUMBER@[126; 127) "2" - WHITESPACE@[127; 128) " " - CARET@[128; 129) "^" - WHITESPACE@[129; 130) " " - LITERAL@[130; 131) - INT_NUMBER@[130; 131) "3" - SEMI@[131; 132) ";" - WHITESPACE@[132; 137) "\n " - EXPR_STMT@[137; 148) - BIN_EXPR@[137; 147) - LITERAL@[137; 138) - INT_NUMBER@[137; 138) "1" - WHITESPACE@[138; 139) " " - EQEQ@[139; 141) "==" - WHITESPACE@[141; 142) " " - BIN_EXPR@[142; 147) - LITERAL@[142; 143) - INT_NUMBER@[142; 143) "2" - WHITESPACE@[143; 144) " " - PIPE@[144; 145) "|" - WHITESPACE@[145; 146) " " - LITERAL@[146; 147) - INT_NUMBER@[146; 147) "3" - SEMI@[147; 148) ";" - WHITESPACE@[148; 153) "\n " - EXPR_STMT@[153; 165) - BIN_EXPR@[153; 164) - LITERAL@[153; 154) - INT_NUMBER@[153; 154) "1" - WHITESPACE@[154; 155) " " - AMPAMP@[155; 157) "&&" - WHITESPACE@[157; 158) " " - BIN_EXPR@[158; 164) - LITERAL@[158; 159) - INT_NUMBER@[158; 159) "2" - WHITESPACE@[159; 160) " " - EQEQ@[160; 162) "==" - WHITESPACE@[162; 163) " " - LITERAL@[163; 164) - INT_NUMBER@[163; 164) "3" - SEMI@[164; 165) ";" - WHITESPACE@[165; 170) "\n " - COMMENT@[170; 184) "//1 || 2 && 2;" - WHITESPACE@[184; 189) "\n " - COMMENT@[189; 203) "//1 .. 2 || 3;" - WHITESPACE@[203; 208) "\n " - COMMENT@[208; 221) "//1 = 2 .. 3;" - WHITESPACE@[221; 226) "\n " - COMMENT@[226; 245) "//---&*1 - --2 * 9;" - WHITESPACE@[245; 246) "\n" - R_CURLY@[246; 247) "}" - WHITESPACE@[247; 248) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast new file mode 100644 index 000000000..95dae4870 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast @@ -0,0 +1,152 @@ +SOURCE_FILE@[0; 153) + FN_DEF@[0; 152) + 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; 152) + BLOCK@[9; 152) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 23) + RANGE_EXPR@[15; 22) + DOTDOT@[15; 17) ".." + BIN_EXPR@[17; 22) + LITERAL@[17; 18) + INT_NUMBER@[17; 18) "1" + WHITESPACE@[18; 19) " " + PLUS@[19; 20) "+" + WHITESPACE@[20; 21) " " + LITERAL@[21; 22) + INT_NUMBER@[21; 22) "1" + SEMI@[22; 23) ";" + WHITESPACE@[23; 28) "\n " + EXPR_STMT@[28; 36) + BIN_EXPR@[28; 35) + RANGE_EXPR@[28; 31) + DOTDOT@[28; 30) ".." + PATH_EXPR@[30; 31) + PATH@[30; 31) + PATH_SEGMENT@[30; 31) + NAME_REF@[30; 31) + IDENT@[30; 31) "z" + WHITESPACE@[31; 32) " " + EQ@[32; 33) "=" + WHITESPACE@[33; 34) " " + LITERAL@[34; 35) + INT_NUMBER@[34; 35) "2" + SEMI@[35; 36) ";" + WHITESPACE@[36; 41) "\n " + EXPR_STMT@[41; 59) + BIN_EXPR@[41; 58) + PATH_EXPR@[41; 42) + PATH@[41; 42) + PATH_SEGMENT@[41; 42) + NAME_REF@[41; 42) + IDENT@[41; 42) "x" + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " + RANGE_EXPR@[45; 58) + LITERAL@[45; 50) + FALSE_KW@[45; 50) "false" + DOTDOT@[50; 52) ".." + BIN_EXPR@[52; 58) + LITERAL@[52; 53) + INT_NUMBER@[52; 53) "1" + WHITESPACE@[53; 54) " " + EQEQ@[54; 56) "==" + WHITESPACE@[56; 57) " " + LITERAL@[57; 58) + INT_NUMBER@[57; 58) "1" + SEMI@[58; 59) ";" + WHITESPACE@[59; 64) "\n " + LET_STMT@[64; 76) + LET_KW@[64; 67) "let" + WHITESPACE@[67; 68) " " + BIND_PAT@[68; 69) + NAME@[68; 69) + IDENT@[68; 69) "x" + WHITESPACE@[69; 70) " " + EQ@[70; 71) "=" + WHITESPACE@[71; 72) " " + RANGE_EXPR@[72; 75) + LITERAL@[72; 73) + INT_NUMBER@[72; 73) "1" + DOTDOT@[73; 75) ".." + SEMI@[75; 76) ";" + WHITESPACE@[76; 86) "\n \n " + EXPR_STMT@[86; 95) + RANGE_EXPR@[86; 94) + DOTDOTEQ@[86; 89) "..=" + BIN_EXPR@[89; 94) + LITERAL@[89; 90) + INT_NUMBER@[89; 90) "1" + WHITESPACE@[90; 91) " " + PLUS@[91; 92) "+" + WHITESPACE@[92; 93) " " + LITERAL@[93; 94) + INT_NUMBER@[93; 94) "1" + SEMI@[94; 95) ";" + WHITESPACE@[95; 100) "\n " + EXPR_STMT@[100; 109) + BIN_EXPR@[100; 108) + RANGE_EXPR@[100; 104) + DOTDOTEQ@[100; 103) "..=" + PATH_EXPR@[103; 104) + PATH@[103; 104) + PATH_SEGMENT@[103; 104) + NAME_REF@[103; 104) + IDENT@[103; 104) "z" + WHITESPACE@[104; 105) " " + EQ@[105; 106) "=" + WHITESPACE@[106; 107) " " + LITERAL@[107; 108) + INT_NUMBER@[107; 108) "2" + SEMI@[108; 109) ";" + WHITESPACE@[109; 114) "\n " + EXPR_STMT@[114; 133) + BIN_EXPR@[114; 132) + PATH_EXPR@[114; 115) + PATH@[114; 115) + PATH_SEGMENT@[114; 115) + NAME_REF@[114; 115) + IDENT@[114; 115) "x" + WHITESPACE@[115; 116) " " + EQ@[116; 117) "=" + WHITESPACE@[117; 118) " " + RANGE_EXPR@[118; 132) + LITERAL@[118; 123) + FALSE_KW@[118; 123) "false" + DOTDOTEQ@[123; 126) "..=" + BIN_EXPR@[126; 132) + LITERAL@[126; 127) + INT_NUMBER@[126; 127) "1" + WHITESPACE@[127; 128) " " + EQEQ@[128; 130) "==" + WHITESPACE@[130; 131) " " + LITERAL@[131; 132) + INT_NUMBER@[131; 132) "1" + SEMI@[132; 133) ";" + WHITESPACE@[133; 138) "\n " + LET_STMT@[138; 150) + LET_KW@[138; 141) "let" + WHITESPACE@[141; 142) " " + BIND_PAT@[142; 143) + NAME@[142; 143) + IDENT@[142; 143) "x" + WHITESPACE@[143; 144) " " + EQ@[144; 145) "=" + WHITESPACE@[145; 146) " " + RANGE_EXPR@[146; 149) + LITERAL@[146; 147) + INT_NUMBER@[146; 147) "1" + DOTDOT@[147; 149) ".." + SEMI@[149; 150) ";" + WHITESPACE@[150; 151) "\n" + R_CURLY@[151; 152) "}" + WHITESPACE@[152; 153) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt deleted file mode 100644 index 95dae4870..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt +++ /dev/null @@ -1,152 +0,0 @@ -SOURCE_FILE@[0; 153) - FN_DEF@[0; 152) - 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; 152) - BLOCK@[9; 152) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 23) - RANGE_EXPR@[15; 22) - DOTDOT@[15; 17) ".." - BIN_EXPR@[17; 22) - LITERAL@[17; 18) - INT_NUMBER@[17; 18) "1" - WHITESPACE@[18; 19) " " - PLUS@[19; 20) "+" - WHITESPACE@[20; 21) " " - LITERAL@[21; 22) - INT_NUMBER@[21; 22) "1" - SEMI@[22; 23) ";" - WHITESPACE@[23; 28) "\n " - EXPR_STMT@[28; 36) - BIN_EXPR@[28; 35) - RANGE_EXPR@[28; 31) - DOTDOT@[28; 30) ".." - PATH_EXPR@[30; 31) - PATH@[30; 31) - PATH_SEGMENT@[30; 31) - NAME_REF@[30; 31) - IDENT@[30; 31) "z" - WHITESPACE@[31; 32) " " - EQ@[32; 33) "=" - WHITESPACE@[33; 34) " " - LITERAL@[34; 35) - INT_NUMBER@[34; 35) "2" - SEMI@[35; 36) ";" - WHITESPACE@[36; 41) "\n " - EXPR_STMT@[41; 59) - BIN_EXPR@[41; 58) - PATH_EXPR@[41; 42) - PATH@[41; 42) - PATH_SEGMENT@[41; 42) - NAME_REF@[41; 42) - IDENT@[41; 42) "x" - WHITESPACE@[42; 43) " " - EQ@[43; 44) "=" - WHITESPACE@[44; 45) " " - RANGE_EXPR@[45; 58) - LITERAL@[45; 50) - FALSE_KW@[45; 50) "false" - DOTDOT@[50; 52) ".." - BIN_EXPR@[52; 58) - LITERAL@[52; 53) - INT_NUMBER@[52; 53) "1" - WHITESPACE@[53; 54) " " - EQEQ@[54; 56) "==" - WHITESPACE@[56; 57) " " - LITERAL@[57; 58) - INT_NUMBER@[57; 58) "1" - SEMI@[58; 59) ";" - WHITESPACE@[59; 64) "\n " - LET_STMT@[64; 76) - LET_KW@[64; 67) "let" - WHITESPACE@[67; 68) " " - BIND_PAT@[68; 69) - NAME@[68; 69) - IDENT@[68; 69) "x" - WHITESPACE@[69; 70) " " - EQ@[70; 71) "=" - WHITESPACE@[71; 72) " " - RANGE_EXPR@[72; 75) - LITERAL@[72; 73) - INT_NUMBER@[72; 73) "1" - DOTDOT@[73; 75) ".." - SEMI@[75; 76) ";" - WHITESPACE@[76; 86) "\n \n " - EXPR_STMT@[86; 95) - RANGE_EXPR@[86; 94) - DOTDOTEQ@[86; 89) "..=" - BIN_EXPR@[89; 94) - LITERAL@[89; 90) - INT_NUMBER@[89; 90) "1" - WHITESPACE@[90; 91) " " - PLUS@[91; 92) "+" - WHITESPACE@[92; 93) " " - LITERAL@[93; 94) - INT_NUMBER@[93; 94) "1" - SEMI@[94; 95) ";" - WHITESPACE@[95; 100) "\n " - EXPR_STMT@[100; 109) - BIN_EXPR@[100; 108) - RANGE_EXPR@[100; 104) - DOTDOTEQ@[100; 103) "..=" - PATH_EXPR@[103; 104) - PATH@[103; 104) - PATH_SEGMENT@[103; 104) - NAME_REF@[103; 104) - IDENT@[103; 104) "z" - WHITESPACE@[104; 105) " " - EQ@[105; 106) "=" - WHITESPACE@[106; 107) " " - LITERAL@[107; 108) - INT_NUMBER@[107; 108) "2" - SEMI@[108; 109) ";" - WHITESPACE@[109; 114) "\n " - EXPR_STMT@[114; 133) - BIN_EXPR@[114; 132) - PATH_EXPR@[114; 115) - PATH@[114; 115) - PATH_SEGMENT@[114; 115) - NAME_REF@[114; 115) - IDENT@[114; 115) "x" - WHITESPACE@[115; 116) " " - EQ@[116; 117) "=" - WHITESPACE@[117; 118) " " - RANGE_EXPR@[118; 132) - LITERAL@[118; 123) - FALSE_KW@[118; 123) "false" - DOTDOTEQ@[123; 126) "..=" - BIN_EXPR@[126; 132) - LITERAL@[126; 127) - INT_NUMBER@[126; 127) "1" - WHITESPACE@[127; 128) " " - EQEQ@[128; 130) "==" - WHITESPACE@[130; 131) " " - LITERAL@[131; 132) - INT_NUMBER@[131; 132) "1" - SEMI@[132; 133) ";" - WHITESPACE@[133; 138) "\n " - LET_STMT@[138; 150) - LET_KW@[138; 141) "let" - WHITESPACE@[141; 142) " " - BIND_PAT@[142; 143) - NAME@[142; 143) - IDENT@[142; 143) "x" - WHITESPACE@[143; 144) " " - EQ@[144; 145) "=" - WHITESPACE@[145; 146) " " - RANGE_EXPR@[146; 149) - LITERAL@[146; 147) - INT_NUMBER@[146; 147) "1" - DOTDOT@[147; 149) ".." - SEMI@[149; 150) ";" - WHITESPACE@[150; 151) "\n" - R_CURLY@[151; 152) "}" - WHITESPACE@[152; 153) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast new file mode 100644 index 000000000..cdc9f05ae --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast @@ -0,0 +1,64 @@ +SOURCE_FILE@[0; 112) + FN_DEF@[0; 111) + 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; 111) + BLOCK@[10; 111) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + LET_STMT@[16; 31) + LET_KW@[16; 19) "let" + WHITESPACE@[19; 20) " " + PLACEHOLDER_PAT@[20; 21) + UNDERSCORE@[20; 21) "_" + WHITESPACE@[21; 22) " " + EQ@[22; 23) "=" + WHITESPACE@[23; 24) " " + LITERAL@[24; 30) + CHAR@[24; 30) "\'c\'u32" + SEMI@[30; 31) ";" + WHITESPACE@[31; 36) "\n " + LET_STMT@[36; 60) + LET_KW@[36; 39) "let" + WHITESPACE@[39; 40) " " + PLACEHOLDER_PAT@[40; 41) + UNDERSCORE@[40; 41) "_" + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " + LITERAL@[44; 59) + STRING@[44; 59) "\"string\"invalid" + SEMI@[59; 60) ";" + WHITESPACE@[60; 65) "\n " + LET_STMT@[65; 83) + LET_KW@[65; 68) "let" + WHITESPACE@[68; 69) " " + PLACEHOLDER_PAT@[69; 70) + UNDERSCORE@[69; 70) "_" + WHITESPACE@[70; 71) " " + EQ@[71; 72) "=" + WHITESPACE@[72; 73) " " + LITERAL@[73; 82) + BYTE@[73; 82) "b\'b\'_suff" + SEMI@[82; 83) ";" + WHITESPACE@[83; 88) "\n " + LET_STMT@[88; 109) + LET_KW@[88; 91) "let" + WHITESPACE@[91; 92) " " + PLACEHOLDER_PAT@[92; 93) + UNDERSCORE@[92; 93) "_" + WHITESPACE@[93; 94) " " + EQ@[94; 95) "=" + WHITESPACE@[95; 96) " " + LITERAL@[96; 108) + BYTE_STRING@[96; 108) "b\"bs\"invalid" + SEMI@[108; 109) ";" + WHITESPACE@[109; 110) "\n" + R_CURLY@[110; 111) "}" + WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt deleted file mode 100644 index cdc9f05ae..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt +++ /dev/null @@ -1,64 +0,0 @@ -SOURCE_FILE@[0; 112) - FN_DEF@[0; 111) - 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; 111) - BLOCK@[10; 111) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - LET_STMT@[16; 31) - LET_KW@[16; 19) "let" - WHITESPACE@[19; 20) " " - PLACEHOLDER_PAT@[20; 21) - UNDERSCORE@[20; 21) "_" - WHITESPACE@[21; 22) " " - EQ@[22; 23) "=" - WHITESPACE@[23; 24) " " - LITERAL@[24; 30) - CHAR@[24; 30) "\'c\'u32" - SEMI@[30; 31) ";" - WHITESPACE@[31; 36) "\n " - LET_STMT@[36; 60) - LET_KW@[36; 39) "let" - WHITESPACE@[39; 40) " " - PLACEHOLDER_PAT@[40; 41) - UNDERSCORE@[40; 41) "_" - WHITESPACE@[41; 42) " " - EQ@[42; 43) "=" - WHITESPACE@[43; 44) " " - LITERAL@[44; 59) - STRING@[44; 59) "\"string\"invalid" - SEMI@[59; 60) ";" - WHITESPACE@[60; 65) "\n " - LET_STMT@[65; 83) - LET_KW@[65; 68) "let" - WHITESPACE@[68; 69) " " - PLACEHOLDER_PAT@[69; 70) - UNDERSCORE@[69; 70) "_" - WHITESPACE@[70; 71) " " - EQ@[71; 72) "=" - WHITESPACE@[72; 73) " " - LITERAL@[73; 82) - BYTE@[73; 82) "b\'b\'_suff" - SEMI@[82; 83) ";" - WHITESPACE@[83; 88) "\n " - LET_STMT@[88; 109) - LET_KW@[88; 91) "let" - WHITESPACE@[91; 92) " " - PLACEHOLDER_PAT@[92; 93) - UNDERSCORE@[92; 93) "_" - WHITESPACE@[93; 94) " " - EQ@[94; 95) "=" - WHITESPACE@[95; 96) " " - LITERAL@[96; 108) - BYTE_STRING@[96; 108) "b\"bs\"invalid" - SEMI@[108; 109) ";" - WHITESPACE@[109; 110) "\n" - R_CURLY@[110; 111) "}" - WHITESPACE@[111; 112) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0030_traits.rast b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast new file mode 100644 index 000000000..ac314ae50 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast @@ -0,0 +1,61 @@ +SOURCE_FILE@[0; 96) + TRAIT_DEF@[0; 36) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 14) + IDENT@[6; 14) "Runnable" + WHITESPACE@[14; 15) " " + ITEM_LIST@[15; 36) + L_CURLY@[15; 16) "{" + WHITESPACE@[16; 21) "\n " + FN_DEF@[21; 34) + FN_KW@[21; 23) "fn" + WHITESPACE@[23; 24) " " + NAME@[24; 31) + IDENT@[24; 31) "handler" + PARAM_LIST@[31; 33) + L_PAREN@[31; 32) "(" + R_PAREN@[32; 33) ")" + SEMI@[33; 34) ";" + WHITESPACE@[34; 35) "\n" + R_CURLY@[35; 36) "}" + WHITESPACE@[36; 38) "\n\n" + TRAIT_DEF@[38; 95) + TRAIT_KW@[38; 43) "trait" + WHITESPACE@[43; 44) " " + NAME@[44; 57) + IDENT@[44; 57) "TraitWithExpr" + WHITESPACE@[57; 58) " " + ITEM_LIST@[58; 95) + L_CURLY@[58; 59) "{" + WHITESPACE@[59; 64) "\n " + FN_DEF@[64; 93) + FN_KW@[64; 66) "fn" + WHITESPACE@[66; 67) " " + NAME@[67; 79) + IDENT@[67; 79) "fn_with_expr" + PARAM_LIST@[79; 92) + L_PAREN@[79; 80) "(" + PARAM@[80; 91) + BIND_PAT@[80; 81) + NAME@[80; 81) + IDENT@[80; 81) "x" + COLON@[81; 82) ":" + WHITESPACE@[82; 83) " " + ARRAY_TYPE@[83; 91) + L_BRACK@[83; 84) "[" + PATH_TYPE@[84; 87) + PATH@[84; 87) + PATH_SEGMENT@[84; 87) + NAME_REF@[84; 87) + IDENT@[84; 87) "i32" + SEMI@[87; 88) ";" + WHITESPACE@[88; 89) " " + LITERAL@[89; 90) + INT_NUMBER@[89; 90) "1" + R_BRACK@[90; 91) "]" + R_PAREN@[91; 92) ")" + SEMI@[92; 93) ";" + WHITESPACE@[93; 94) "\n" + R_CURLY@[94; 95) "}" + WHITESPACE@[95; 96) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0030_traits.txt b/crates/ra_syntax/test_data/parser/ok/0030_traits.txt deleted file mode 100644 index ac314ae50..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0030_traits.txt +++ /dev/null @@ -1,61 +0,0 @@ -SOURCE_FILE@[0; 96) - TRAIT_DEF@[0; 36) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 14) - IDENT@[6; 14) "Runnable" - WHITESPACE@[14; 15) " " - ITEM_LIST@[15; 36) - L_CURLY@[15; 16) "{" - WHITESPACE@[16; 21) "\n " - FN_DEF@[21; 34) - FN_KW@[21; 23) "fn" - WHITESPACE@[23; 24) " " - NAME@[24; 31) - IDENT@[24; 31) "handler" - PARAM_LIST@[31; 33) - L_PAREN@[31; 32) "(" - R_PAREN@[32; 33) ")" - SEMI@[33; 34) ";" - WHITESPACE@[34; 35) "\n" - R_CURLY@[35; 36) "}" - WHITESPACE@[36; 38) "\n\n" - TRAIT_DEF@[38; 95) - TRAIT_KW@[38; 43) "trait" - WHITESPACE@[43; 44) " " - NAME@[44; 57) - IDENT@[44; 57) "TraitWithExpr" - WHITESPACE@[57; 58) " " - ITEM_LIST@[58; 95) - L_CURLY@[58; 59) "{" - WHITESPACE@[59; 64) "\n " - FN_DEF@[64; 93) - FN_KW@[64; 66) "fn" - WHITESPACE@[66; 67) " " - NAME@[67; 79) - IDENT@[67; 79) "fn_with_expr" - PARAM_LIST@[79; 92) - L_PAREN@[79; 80) "(" - PARAM@[80; 91) - BIND_PAT@[80; 81) - NAME@[80; 81) - IDENT@[80; 81) "x" - COLON@[81; 82) ":" - WHITESPACE@[82; 83) " " - ARRAY_TYPE@[83; 91) - L_BRACK@[83; 84) "[" - PATH_TYPE@[84; 87) - PATH@[84; 87) - PATH_SEGMENT@[84; 87) - NAME_REF@[84; 87) - IDENT@[84; 87) "i32" - SEMI@[87; 88) ";" - WHITESPACE@[88; 89) " " - LITERAL@[89; 90) - INT_NUMBER@[89; 90) "1" - R_BRACK@[90; 91) "]" - R_PAREN@[91; 92) ")" - SEMI@[92; 93) ";" - WHITESPACE@[93; 94) "\n" - R_CURLY@[94; 95) "}" - WHITESPACE@[95; 96) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast new file mode 100644 index 000000000..badbf76c5 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast @@ -0,0 +1,973 @@ +SOURCE_FILE@[0; 1598) + EXTERN_BLOCK@[0; 1597) + ABI@[0; 6) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + EXTERN_ITEM_LIST@[7; 1597) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 87) + VISIBILITY@[13; 16) + PUB_KW@[13; 16) "pub" + WHITESPACE@[16; 17) " " + FN_KW@[17; 19) "fn" + WHITESPACE@[19; 20) " " + NAME@[20; 26) + IDENT@[20; 26) "socket" + PARAM_LIST@[26; 75) + L_PAREN@[26; 27) "(" + PARAM@[27; 42) + BIND_PAT@[27; 33) + NAME@[27; 33) + IDENT@[27; 33) "domain" + COLON@[33; 34) ":" + WHITESPACE@[34; 35) " " + PATH_TYPE@[35; 42) + PATH@[35; 42) + PATH_SEGMENT@[35; 42) + COLONCOLON@[35; 37) "::" + NAME_REF@[37; 42) + IDENT@[37; 42) "c_int" + COMMA@[42; 43) "," + WHITESPACE@[43; 44) " " + PARAM@[44; 55) + BIND_PAT@[44; 46) + NAME@[44; 46) + IDENT@[44; 46) "ty" + COLON@[46; 47) ":" + WHITESPACE@[47; 48) " " + PATH_TYPE@[48; 55) + PATH@[48; 55) + PATH_SEGMENT@[48; 55) + COLONCOLON@[48; 50) "::" + NAME_REF@[50; 55) + IDENT@[50; 55) "c_int" + COMMA@[55; 56) "," + WHITESPACE@[56; 57) " " + PARAM@[57; 74) + BIND_PAT@[57; 65) + NAME@[57; 65) + IDENT@[57; 65) "protocol" + COLON@[65; 66) ":" + WHITESPACE@[66; 67) " " + PATH_TYPE@[67; 74) + PATH@[67; 74) + PATH_SEGMENT@[67; 74) + COLONCOLON@[67; 69) "::" + NAME_REF@[69; 74) + IDENT@[69; 74) "c_int" + R_PAREN@[74; 75) ")" + WHITESPACE@[75; 76) " " + RET_TYPE@[76; 86) + THIN_ARROW@[76; 78) "->" + WHITESPACE@[78; 79) " " + PATH_TYPE@[79; 86) + PATH@[79; 86) + PATH_SEGMENT@[79; 86) + COLONCOLON@[79; 81) "::" + NAME_REF@[81; 86) + IDENT@[81; 86) "c_int" + SEMI@[86; 87) ";" + WHITESPACE@[87; 92) "\n " + FN_DEF@[92; 167) + VISIBILITY@[92; 95) + PUB_KW@[92; 95) "pub" + WHITESPACE@[95; 96) " " + FN_KW@[96; 98) "fn" + WHITESPACE@[98; 99) " " + NAME@[99; 103) + IDENT@[99; 103) "bind" + PARAM_LIST@[103; 155) + L_PAREN@[103; 104) "(" + PARAM@[104; 115) + BIND_PAT@[104; 106) + NAME@[104; 106) + IDENT@[104; 106) "fd" + COLON@[106; 107) ":" + WHITESPACE@[107; 108) " " + PATH_TYPE@[108; 115) + PATH@[108; 115) + PATH_SEGMENT@[108; 115) + COLONCOLON@[108; 110) "::" + NAME_REF@[110; 115) + IDENT@[110; 115) "c_int" + COMMA@[115; 116) "," + WHITESPACE@[116; 117) " " + PARAM@[117; 138) + BIND_PAT@[117; 121) + NAME@[117; 121) + IDENT@[117; 121) "addr" + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " + POINTER_TYPE@[123; 138) + STAR@[123; 124) "*" + CONST_KW@[124; 129) "const" + WHITESPACE@[129; 130) " " + PATH_TYPE@[130; 138) + PATH@[130; 138) + PATH_SEGMENT@[130; 138) + NAME_REF@[130; 138) + IDENT@[130; 138) "sockaddr" + COMMA@[138; 139) "," + WHITESPACE@[139; 140) " " + PARAM@[140; 154) + BIND_PAT@[140; 143) + NAME@[140; 143) + IDENT@[140; 143) "len" + COLON@[143; 144) ":" + WHITESPACE@[144; 145) " " + PATH_TYPE@[145; 154) + PATH@[145; 154) + PATH_SEGMENT@[145; 154) + NAME_REF@[145; 154) + IDENT@[145; 154) "socklen_t" + R_PAREN@[154; 155) ")" + WHITESPACE@[155; 156) " " + RET_TYPE@[156; 166) + THIN_ARROW@[156; 158) "->" + WHITESPACE@[158; 159) " " + PATH_TYPE@[159; 166) + PATH@[159; 166) + PATH_SEGMENT@[159; 166) + COLONCOLON@[159; 161) "::" + NAME_REF@[161; 166) + IDENT@[161; 166) "c_int" + SEMI@[166; 167) ";" + WHITESPACE@[167; 172) "\n " + FN_DEF@[172; 276) + VISIBILITY@[172; 175) + PUB_KW@[172; 175) "pub" + WHITESPACE@[175; 176) " " + FN_KW@[176; 178) "fn" + WHITESPACE@[178; 179) " " + NAME@[179; 186) + IDENT@[179; 186) "connect" + PARAM_LIST@[186; 264) + L_PAREN@[186; 187) "(" + PARAM@[187; 202) + BIND_PAT@[187; 193) + NAME@[187; 193) + IDENT@[187; 193) "socket" + COLON@[193; 194) ":" + WHITESPACE@[194; 195) " " + PATH_TYPE@[195; 202) + PATH@[195; 202) + PATH_SEGMENT@[195; 202) + COLONCOLON@[195; 197) "::" + NAME_REF@[197; 202) + IDENT@[197; 202) "c_int" + COMMA@[202; 203) "," + WHITESPACE@[203; 204) " " + PARAM@[204; 228) + BIND_PAT@[204; 211) + NAME@[204; 211) + IDENT@[204; 211) "address" + COLON@[211; 212) ":" + WHITESPACE@[212; 213) " " + POINTER_TYPE@[213; 228) + STAR@[213; 214) "*" + CONST_KW@[214; 219) "const" + WHITESPACE@[219; 220) " " + PATH_TYPE@[220; 228) + PATH@[220; 228) + PATH_SEGMENT@[220; 228) + NAME_REF@[220; 228) + IDENT@[220; 228) "sockaddr" + COMMA@[228; 229) "," + WHITESPACE@[229; 249) "\n " + PARAM@[249; 263) + BIND_PAT@[249; 252) + NAME@[249; 252) + IDENT@[249; 252) "len" + COLON@[252; 253) ":" + WHITESPACE@[253; 254) " " + PATH_TYPE@[254; 263) + PATH@[254; 263) + PATH_SEGMENT@[254; 263) + NAME_REF@[254; 263) + IDENT@[254; 263) "socklen_t" + R_PAREN@[263; 264) ")" + WHITESPACE@[264; 265) " " + RET_TYPE@[265; 275) + THIN_ARROW@[265; 267) "->" + WHITESPACE@[267; 268) " " + PATH_TYPE@[268; 275) + PATH@[268; 275) + PATH_SEGMENT@[268; 275) + COLONCOLON@[268; 270) "::" + NAME_REF@[270; 275) + IDENT@[270; 275) "c_int" + SEMI@[275; 276) ";" + WHITESPACE@[276; 281) "\n " + FN_DEF@[281; 341) + VISIBILITY@[281; 284) + PUB_KW@[281; 284) "pub" + WHITESPACE@[284; 285) " " + FN_KW@[285; 287) "fn" + WHITESPACE@[287; 288) " " + NAME@[288; 294) + IDENT@[288; 294) "listen" + PARAM_LIST@[294; 329) + L_PAREN@[294; 295) "(" + PARAM@[295; 310) + BIND_PAT@[295; 301) + NAME@[295; 301) + IDENT@[295; 301) "socket" + COLON@[301; 302) ":" + WHITESPACE@[302; 303) " " + PATH_TYPE@[303; 310) + PATH@[303; 310) + PATH_SEGMENT@[303; 310) + COLONCOLON@[303; 305) "::" + NAME_REF@[305; 310) + IDENT@[305; 310) "c_int" + COMMA@[310; 311) "," + WHITESPACE@[311; 312) " " + PARAM@[312; 328) + BIND_PAT@[312; 319) + NAME@[312; 319) + IDENT@[312; 319) "backlog" + COLON@[319; 320) ":" + WHITESPACE@[320; 321) " " + PATH_TYPE@[321; 328) + PATH@[321; 328) + PATH_SEGMENT@[321; 328) + COLONCOLON@[321; 323) "::" + NAME_REF@[323; 328) + IDENT@[323; 328) "c_int" + R_PAREN@[328; 329) ")" + WHITESPACE@[329; 330) " " + RET_TYPE@[330; 340) + THIN_ARROW@[330; 332) "->" + WHITESPACE@[332; 333) " " + PATH_TYPE@[333; 340) + PATH@[333; 340) + PATH_SEGMENT@[333; 340) + COLONCOLON@[333; 335) "::" + NAME_REF@[335; 340) + IDENT@[335; 340) "c_int" + SEMI@[340; 341) ";" + WHITESPACE@[341; 346) "\n " + FN_DEF@[346; 469) + VISIBILITY@[346; 349) + PUB_KW@[346; 349) "pub" + WHITESPACE@[349; 350) " " + FN_KW@[350; 352) "fn" + WHITESPACE@[352; 353) " " + NAME@[353; 364) + IDENT@[353; 364) "getsockname" + PARAM_LIST@[364; 457) + L_PAREN@[364; 365) "(" + PARAM@[365; 380) + BIND_PAT@[365; 371) + NAME@[365; 371) + IDENT@[365; 371) "socket" + COLON@[371; 372) ":" + WHITESPACE@[372; 373) " " + PATH_TYPE@[373; 380) + PATH@[373; 380) + PATH_SEGMENT@[373; 380) + COLONCOLON@[373; 375) "::" + NAME_REF@[375; 380) + IDENT@[375; 380) "c_int" + COMMA@[380; 381) "," + WHITESPACE@[381; 382) " " + PARAM@[382; 404) + BIND_PAT@[382; 389) + NAME@[382; 389) + IDENT@[382; 389) "address" + COLON@[389; 390) ":" + WHITESPACE@[390; 391) " " + POINTER_TYPE@[391; 404) + STAR@[391; 392) "*" + MUT_KW@[392; 395) "mut" + WHITESPACE@[395; 396) " " + PATH_TYPE@[396; 404) + PATH@[396; 404) + PATH_SEGMENT@[396; 404) + NAME_REF@[396; 404) + IDENT@[396; 404) "sockaddr" + COMMA@[404; 405) "," + WHITESPACE@[405; 429) "\n " + PARAM@[429; 456) + BIND_PAT@[429; 440) + NAME@[429; 440) + IDENT@[429; 440) "address_len" + COLON@[440; 441) ":" + WHITESPACE@[441; 442) " " + POINTER_TYPE@[442; 456) + STAR@[442; 443) "*" + MUT_KW@[443; 446) "mut" + WHITESPACE@[446; 447) " " + PATH_TYPE@[447; 456) + PATH@[447; 456) + PATH_SEGMENT@[447; 456) + NAME_REF@[447; 456) + IDENT@[447; 456) "socklen_t" + R_PAREN@[456; 457) ")" + WHITESPACE@[457; 458) " " + RET_TYPE@[458; 468) + THIN_ARROW@[458; 460) "->" + WHITESPACE@[460; 461) " " + PATH_TYPE@[461; 468) + PATH@[461; 468) + PATH_SEGMENT@[461; 468) + COLONCOLON@[461; 463) "::" + NAME_REF@[463; 468) + IDENT@[463; 468) "c_int" + SEMI@[468; 469) ";" + WHITESPACE@[469; 474) "\n " + FN_DEF@[474; 691) + VISIBILITY@[474; 477) + PUB_KW@[474; 477) "pub" + WHITESPACE@[477; 478) " " + FN_KW@[478; 480) "fn" + WHITESPACE@[480; 481) " " + NAME@[481; 491) + IDENT@[481; 491) "getsockopt" + PARAM_LIST@[491; 679) + L_PAREN@[491; 492) "(" + PARAM@[492; 507) + BIND_PAT@[492; 498) + NAME@[492; 498) + IDENT@[492; 498) "sockfd" + COLON@[498; 499) ":" + WHITESPACE@[499; 500) " " + PATH_TYPE@[500; 507) + PATH@[500; 507) + PATH_SEGMENT@[500; 507) + COLONCOLON@[500; 502) "::" + NAME_REF@[502; 507) + IDENT@[502; 507) "c_int" + COMMA@[507; 508) "," + WHITESPACE@[508; 531) "\n " + PARAM@[531; 545) + BIND_PAT@[531; 536) + NAME@[531; 536) + IDENT@[531; 536) "level" + COLON@[536; 537) ":" + WHITESPACE@[537; 538) " " + PATH_TYPE@[538; 545) + PATH@[538; 545) + PATH_SEGMENT@[538; 545) + COLONCOLON@[538; 540) "::" + NAME_REF@[540; 545) + IDENT@[540; 545) "c_int" + COMMA@[545; 546) "," + WHITESPACE@[546; 569) "\n " + PARAM@[569; 585) + BIND_PAT@[569; 576) + NAME@[569; 576) + IDENT@[569; 576) "optname" + COLON@[576; 577) ":" + WHITESPACE@[577; 578) " " + PATH_TYPE@[578; 585) + PATH@[578; 585) + PATH_SEGMENT@[578; 585) + COLONCOLON@[578; 580) "::" + NAME_REF@[580; 585) + IDENT@[580; 585) "c_int" + COMMA@[585; 586) "," + WHITESPACE@[586; 609) "\n " + PARAM@[609; 630) + BIND_PAT@[609; 615) + NAME@[609; 615) + IDENT@[609; 615) "optval" + COLON@[615; 616) ":" + WHITESPACE@[616; 617) " " + POINTER_TYPE@[617; 630) + STAR@[617; 618) "*" + MUT_KW@[618; 621) "mut" + WHITESPACE@[621; 622) " " + PATH_TYPE@[622; 630) + PATH@[622; 630) + PATH_SEGMENT@[622; 630) + COLONCOLON@[622; 624) "::" + NAME_REF@[624; 630) + IDENT@[624; 630) "c_void" + COMMA@[630; 631) "," + WHITESPACE@[631; 654) "\n " + PARAM@[654; 678) + BIND_PAT@[654; 660) + NAME@[654; 660) + IDENT@[654; 660) "optlen" + COLON@[660; 661) ":" + WHITESPACE@[661; 662) " " + POINTER_TYPE@[662; 678) + STAR@[662; 663) "*" + MUT_KW@[663; 666) "mut" + WHITESPACE@[666; 667) " " + PATH_TYPE@[667; 678) + PATH@[667; 678) + PATH_SEGMENT@[667; 678) + COLONCOLON@[667; 669) "::" + NAME_REF@[669; 678) + IDENT@[669; 678) "socklen_t" + R_PAREN@[678; 679) ")" + WHITESPACE@[679; 680) " " + RET_TYPE@[680; 690) + THIN_ARROW@[680; 682) "->" + WHITESPACE@[682; 683) " " + PATH_TYPE@[683; 690) + PATH@[683; 690) + PATH_SEGMENT@[683; 690) + COLONCOLON@[683; 685) "::" + NAME_REF@[685; 690) + IDENT@[685; 690) "c_int" + SEMI@[690; 691) ";" + WHITESPACE@[691; 696) "\n " + FN_DEF@[696; 864) + VISIBILITY@[696; 699) + PUB_KW@[696; 699) "pub" + WHITESPACE@[699; 700) " " + FN_KW@[700; 702) "fn" + WHITESPACE@[702; 703) " " + NAME@[703; 713) + IDENT@[703; 713) "setsockopt" + PARAM_LIST@[713; 852) + L_PAREN@[713; 714) "(" + PARAM@[714; 729) + BIND_PAT@[714; 720) + NAME@[714; 720) + IDENT@[714; 720) "socket" + COLON@[720; 721) ":" + WHITESPACE@[721; 722) " " + PATH_TYPE@[722; 729) + PATH@[722; 729) + PATH_SEGMENT@[722; 729) + COLONCOLON@[722; 724) "::" + NAME_REF@[724; 729) + IDENT@[724; 729) "c_int" + COMMA@[729; 730) "," + WHITESPACE@[730; 731) " " + PARAM@[731; 745) + BIND_PAT@[731; 736) + NAME@[731; 736) + IDENT@[731; 736) "level" + COLON@[736; 737) ":" + WHITESPACE@[737; 738) " " + PATH_TYPE@[738; 745) + PATH@[738; 745) + PATH_SEGMENT@[738; 745) + COLONCOLON@[738; 740) "::" + NAME_REF@[740; 745) + IDENT@[740; 745) "c_int" + COMMA@[745; 746) "," + WHITESPACE@[746; 747) " " + PARAM@[747; 760) + BIND_PAT@[747; 751) + NAME@[747; 751) + IDENT@[747; 751) "name" + COLON@[751; 752) ":" + WHITESPACE@[752; 753) " " + PATH_TYPE@[753; 760) + PATH@[753; 760) + PATH_SEGMENT@[753; 760) + COLONCOLON@[753; 755) "::" + NAME_REF@[755; 760) + IDENT@[755; 760) "c_int" + COMMA@[760; 761) "," + WHITESPACE@[761; 784) "\n " + PARAM@[784; 806) + BIND_PAT@[784; 789) + NAME@[784; 789) + IDENT@[784; 789) "value" + COLON@[789; 790) ":" + WHITESPACE@[790; 791) " " + POINTER_TYPE@[791; 806) + STAR@[791; 792) "*" + CONST_KW@[792; 797) "const" + WHITESPACE@[797; 798) " " + PATH_TYPE@[798; 806) + PATH@[798; 806) + PATH_SEGMENT@[798; 806) + COLONCOLON@[798; 800) "::" + NAME_REF@[800; 806) + IDENT@[800; 806) "c_void" + COMMA@[806; 807) "," + WHITESPACE@[807; 830) "\n " + PARAM@[830; 851) + BIND_PAT@[830; 840) + NAME@[830; 840) + IDENT@[830; 840) "option_len" + COLON@[840; 841) ":" + WHITESPACE@[841; 842) " " + PATH_TYPE@[842; 851) + PATH@[842; 851) + PATH_SEGMENT@[842; 851) + NAME_REF@[842; 851) + IDENT@[842; 851) "socklen_t" + R_PAREN@[851; 852) ")" + WHITESPACE@[852; 853) " " + RET_TYPE@[853; 863) + THIN_ARROW@[853; 855) "->" + WHITESPACE@[855; 856) " " + PATH_TYPE@[856; 863) + PATH@[856; 863) + PATH_SEGMENT@[856; 863) + COLONCOLON@[856; 858) "::" + NAME_REF@[858; 863) + IDENT@[858; 863) "c_int" + SEMI@[863; 864) ";" + WHITESPACE@[864; 869) "\n " + FN_DEF@[869; 992) + VISIBILITY@[869; 872) + PUB_KW@[869; 872) "pub" + WHITESPACE@[872; 873) " " + FN_KW@[873; 875) "fn" + WHITESPACE@[875; 876) " " + NAME@[876; 887) + IDENT@[876; 887) "getpeername" + PARAM_LIST@[887; 980) + L_PAREN@[887; 888) "(" + PARAM@[888; 903) + BIND_PAT@[888; 894) + NAME@[888; 894) + IDENT@[888; 894) "socket" + COLON@[894; 895) ":" + WHITESPACE@[895; 896) " " + PATH_TYPE@[896; 903) + PATH@[896; 903) + PATH_SEGMENT@[896; 903) + COLONCOLON@[896; 898) "::" + NAME_REF@[898; 903) + IDENT@[898; 903) "c_int" + COMMA@[903; 904) "," + WHITESPACE@[904; 905) " " + PARAM@[905; 927) + BIND_PAT@[905; 912) + NAME@[905; 912) + IDENT@[905; 912) "address" + COLON@[912; 913) ":" + WHITESPACE@[913; 914) " " + POINTER_TYPE@[914; 927) + STAR@[914; 915) "*" + MUT_KW@[915; 918) "mut" + WHITESPACE@[918; 919) " " + PATH_TYPE@[919; 927) + PATH@[919; 927) + PATH_SEGMENT@[919; 927) + NAME_REF@[919; 927) + IDENT@[919; 927) "sockaddr" + COMMA@[927; 928) "," + WHITESPACE@[928; 952) "\n " + PARAM@[952; 979) + BIND_PAT@[952; 963) + NAME@[952; 963) + IDENT@[952; 963) "address_len" + COLON@[963; 964) ":" + WHITESPACE@[964; 965) " " + POINTER_TYPE@[965; 979) + STAR@[965; 966) "*" + MUT_KW@[966; 969) "mut" + WHITESPACE@[969; 970) " " + PATH_TYPE@[970; 979) + PATH@[970; 979) + PATH_SEGMENT@[970; 979) + NAME_REF@[970; 979) + IDENT@[970; 979) "socklen_t" + R_PAREN@[979; 980) ")" + WHITESPACE@[980; 981) " " + RET_TYPE@[981; 991) + THIN_ARROW@[981; 983) "->" + WHITESPACE@[983; 984) " " + PATH_TYPE@[984; 991) + PATH@[984; 991) + PATH_SEGMENT@[984; 991) + COLONCOLON@[984; 986) "::" + NAME_REF@[986; 991) + IDENT@[986; 991) "c_int" + SEMI@[991; 992) ";" + WHITESPACE@[992; 997) "\n " + FN_DEF@[997; 1173) + VISIBILITY@[997; 1000) + PUB_KW@[997; 1000) "pub" + WHITESPACE@[1000; 1001) " " + FN_KW@[1001; 1003) "fn" + WHITESPACE@[1003; 1004) " " + NAME@[1004; 1010) + IDENT@[1004; 1010) "sendto" + PARAM_LIST@[1010; 1159) + L_PAREN@[1010; 1011) "(" + PARAM@[1011; 1026) + BIND_PAT@[1011; 1017) + NAME@[1011; 1017) + IDENT@[1011; 1017) "socket" + COLON@[1017; 1018) ":" + WHITESPACE@[1018; 1019) " " + PATH_TYPE@[1019; 1026) + PATH@[1019; 1026) + PATH_SEGMENT@[1019; 1026) + COLONCOLON@[1019; 1021) "::" + NAME_REF@[1021; 1026) + IDENT@[1021; 1026) "c_int" + COMMA@[1026; 1027) "," + WHITESPACE@[1027; 1028) " " + PARAM@[1028; 1048) + BIND_PAT@[1028; 1031) + NAME@[1028; 1031) + IDENT@[1028; 1031) "buf" + COLON@[1031; 1032) ":" + WHITESPACE@[1032; 1033) " " + POINTER_TYPE@[1033; 1048) + STAR@[1033; 1034) "*" + CONST_KW@[1034; 1039) "const" + WHITESPACE@[1039; 1040) " " + PATH_TYPE@[1040; 1048) + PATH@[1040; 1048) + PATH_SEGMENT@[1040; 1048) + COLONCOLON@[1040; 1042) "::" + NAME_REF@[1042; 1048) + IDENT@[1042; 1048) "c_void" + COMMA@[1048; 1049) "," + WHITESPACE@[1049; 1050) " " + PARAM@[1050; 1063) + BIND_PAT@[1050; 1053) + NAME@[1050; 1053) + IDENT@[1050; 1053) "len" + COLON@[1053; 1054) ":" + WHITESPACE@[1054; 1055) " " + PATH_TYPE@[1055; 1063) + PATH@[1055; 1063) + PATH_SEGMENT@[1055; 1063) + COLONCOLON@[1055; 1057) "::" + NAME_REF@[1057; 1063) + IDENT@[1057; 1063) "size_t" + COMMA@[1063; 1064) "," + WHITESPACE@[1064; 1083) "\n " + PARAM@[1083; 1097) + BIND_PAT@[1083; 1088) + NAME@[1083; 1088) + IDENT@[1083; 1088) "flags" + COLON@[1088; 1089) ":" + WHITESPACE@[1089; 1090) " " + PATH_TYPE@[1090; 1097) + PATH@[1090; 1097) + PATH_SEGMENT@[1090; 1097) + COLONCOLON@[1090; 1092) "::" + NAME_REF@[1092; 1097) + IDENT@[1092; 1097) "c_int" + COMMA@[1097; 1098) "," + WHITESPACE@[1098; 1099) " " + PARAM@[1099; 1120) + BIND_PAT@[1099; 1103) + NAME@[1099; 1103) + IDENT@[1099; 1103) "addr" + COLON@[1103; 1104) ":" + WHITESPACE@[1104; 1105) " " + POINTER_TYPE@[1105; 1120) + STAR@[1105; 1106) "*" + CONST_KW@[1106; 1111) "const" + WHITESPACE@[1111; 1112) " " + PATH_TYPE@[1112; 1120) + PATH@[1112; 1120) + PATH_SEGMENT@[1112; 1120) + NAME_REF@[1112; 1120) + IDENT@[1112; 1120) "sockaddr" + COMMA@[1120; 1121) "," + WHITESPACE@[1121; 1140) "\n " + PARAM@[1140; 1158) + BIND_PAT@[1140; 1147) + NAME@[1140; 1147) + IDENT@[1140; 1147) "addrlen" + COLON@[1147; 1148) ":" + WHITESPACE@[1148; 1149) " " + PATH_TYPE@[1149; 1158) + PATH@[1149; 1158) + PATH_SEGMENT@[1149; 1158) + NAME_REF@[1149; 1158) + IDENT@[1149; 1158) "socklen_t" + R_PAREN@[1158; 1159) ")" + WHITESPACE@[1159; 1160) " " + RET_TYPE@[1160; 1172) + THIN_ARROW@[1160; 1162) "->" + WHITESPACE@[1162; 1163) " " + PATH_TYPE@[1163; 1172) + PATH@[1163; 1172) + PATH_SEGMENT@[1163; 1172) + COLONCOLON@[1163; 1165) "::" + NAME_REF@[1165; 1172) + IDENT@[1165; 1172) "ssize_t" + SEMI@[1172; 1173) ";" + WHITESPACE@[1173; 1178) "\n " + FN_DEF@[1178; 1289) + VISIBILITY@[1178; 1181) + PUB_KW@[1178; 1181) "pub" + WHITESPACE@[1181; 1182) " " + FN_KW@[1182; 1184) "fn" + WHITESPACE@[1184; 1185) " " + NAME@[1185; 1189) + IDENT@[1185; 1189) "send" + PARAM_LIST@[1189; 1275) + L_PAREN@[1189; 1190) "(" + PARAM@[1190; 1205) + BIND_PAT@[1190; 1196) + NAME@[1190; 1196) + IDENT@[1190; 1196) "socket" + COLON@[1196; 1197) ":" + WHITESPACE@[1197; 1198) " " + PATH_TYPE@[1198; 1205) + PATH@[1198; 1205) + PATH_SEGMENT@[1198; 1205) + COLONCOLON@[1198; 1200) "::" + NAME_REF@[1200; 1205) + IDENT@[1200; 1205) "c_int" + COMMA@[1205; 1206) "," + WHITESPACE@[1206; 1207) " " + PARAM@[1207; 1227) + BIND_PAT@[1207; 1210) + NAME@[1207; 1210) + IDENT@[1207; 1210) "buf" + COLON@[1210; 1211) ":" + WHITESPACE@[1211; 1212) " " + POINTER_TYPE@[1212; 1227) + STAR@[1212; 1213) "*" + CONST_KW@[1213; 1218) "const" + WHITESPACE@[1218; 1219) " " + PATH_TYPE@[1219; 1227) + PATH@[1219; 1227) + PATH_SEGMENT@[1219; 1227) + COLONCOLON@[1219; 1221) "::" + NAME_REF@[1221; 1227) + IDENT@[1221; 1227) "c_void" + COMMA@[1227; 1228) "," + WHITESPACE@[1228; 1229) " " + PARAM@[1229; 1242) + BIND_PAT@[1229; 1232) + NAME@[1229; 1232) + IDENT@[1229; 1232) "len" + COLON@[1232; 1233) ":" + WHITESPACE@[1233; 1234) " " + PATH_TYPE@[1234; 1242) + PATH@[1234; 1242) + PATH_SEGMENT@[1234; 1242) + COLONCOLON@[1234; 1236) "::" + NAME_REF@[1236; 1242) + IDENT@[1236; 1242) "size_t" + COMMA@[1242; 1243) "," + WHITESPACE@[1243; 1260) "\n " + PARAM@[1260; 1274) + BIND_PAT@[1260; 1265) + NAME@[1260; 1265) + IDENT@[1260; 1265) "flags" + COLON@[1265; 1266) ":" + WHITESPACE@[1266; 1267) " " + PATH_TYPE@[1267; 1274) + PATH@[1267; 1274) + PATH_SEGMENT@[1267; 1274) + COLONCOLON@[1267; 1269) "::" + NAME_REF@[1269; 1274) + IDENT@[1269; 1274) "c_int" + R_PAREN@[1274; 1275) ")" + WHITESPACE@[1275; 1276) " " + RET_TYPE@[1276; 1288) + THIN_ARROW@[1276; 1278) "->" + WHITESPACE@[1278; 1279) " " + PATH_TYPE@[1279; 1288) + PATH@[1279; 1288) + PATH_SEGMENT@[1279; 1288) + COLONCOLON@[1279; 1281) "::" + NAME_REF@[1281; 1288) + IDENT@[1281; 1288) "ssize_t" + SEMI@[1288; 1289) ";" + WHITESPACE@[1289; 1294) "\n " + FN_DEF@[1294; 1481) + VISIBILITY@[1294; 1297) + PUB_KW@[1294; 1297) "pub" + WHITESPACE@[1297; 1298) " " + FN_KW@[1298; 1300) "fn" + WHITESPACE@[1300; 1301) " " + NAME@[1301; 1309) + IDENT@[1301; 1309) "recvfrom" + PARAM_LIST@[1309; 1467) + L_PAREN@[1309; 1310) "(" + PARAM@[1310; 1325) + BIND_PAT@[1310; 1316) + NAME@[1310; 1316) + IDENT@[1310; 1316) "socket" + COLON@[1316; 1317) ":" + WHITESPACE@[1317; 1318) " " + PATH_TYPE@[1318; 1325) + PATH@[1318; 1325) + PATH_SEGMENT@[1318; 1325) + COLONCOLON@[1318; 1320) "::" + NAME_REF@[1320; 1325) + IDENT@[1320; 1325) "c_int" + COMMA@[1325; 1326) "," + WHITESPACE@[1326; 1327) " " + PARAM@[1327; 1345) + BIND_PAT@[1327; 1330) + NAME@[1327; 1330) + IDENT@[1327; 1330) "buf" + COLON@[1330; 1331) ":" + WHITESPACE@[1331; 1332) " " + POINTER_TYPE@[1332; 1345) + STAR@[1332; 1333) "*" + MUT_KW@[1333; 1336) "mut" + WHITESPACE@[1336; 1337) " " + PATH_TYPE@[1337; 1345) + PATH@[1337; 1345) + PATH_SEGMENT@[1337; 1345) + COLONCOLON@[1337; 1339) "::" + NAME_REF@[1339; 1345) + IDENT@[1339; 1345) "c_void" + COMMA@[1345; 1346) "," + WHITESPACE@[1346; 1347) " " + PARAM@[1347; 1360) + BIND_PAT@[1347; 1350) + NAME@[1347; 1350) + IDENT@[1347; 1350) "len" + COLON@[1350; 1351) ":" + WHITESPACE@[1351; 1352) " " + PATH_TYPE@[1352; 1360) + PATH@[1352; 1360) + PATH_SEGMENT@[1352; 1360) + COLONCOLON@[1352; 1354) "::" + NAME_REF@[1354; 1360) + IDENT@[1354; 1360) "size_t" + COMMA@[1360; 1361) "," + WHITESPACE@[1361; 1382) "\n " + PARAM@[1382; 1396) + BIND_PAT@[1382; 1387) + NAME@[1382; 1387) + IDENT@[1382; 1387) "flags" + COLON@[1387; 1388) ":" + WHITESPACE@[1388; 1389) " " + PATH_TYPE@[1389; 1396) + PATH@[1389; 1396) + PATH_SEGMENT@[1389; 1396) + COLONCOLON@[1389; 1391) "::" + NAME_REF@[1391; 1396) + IDENT@[1391; 1396) "c_int" + COMMA@[1396; 1397) "," + WHITESPACE@[1397; 1398) " " + PARAM@[1398; 1419) + BIND_PAT@[1398; 1402) + NAME@[1398; 1402) + IDENT@[1398; 1402) "addr" + COLON@[1402; 1403) ":" + WHITESPACE@[1403; 1404) " " + POINTER_TYPE@[1404; 1419) + STAR@[1404; 1405) "*" + MUT_KW@[1405; 1408) "mut" + WHITESPACE@[1408; 1409) " " + PATH_TYPE@[1409; 1419) + PATH@[1409; 1419) + PATH_SEGMENT@[1409; 1419) + COLONCOLON@[1409; 1411) "::" + NAME_REF@[1411; 1419) + IDENT@[1411; 1419) "sockaddr" + COMMA@[1419; 1420) "," + WHITESPACE@[1420; 1441) "\n " + PARAM@[1441; 1466) + BIND_PAT@[1441; 1448) + NAME@[1441; 1448) + IDENT@[1441; 1448) "addrlen" + COLON@[1448; 1449) ":" + WHITESPACE@[1449; 1450) " " + POINTER_TYPE@[1450; 1466) + STAR@[1450; 1451) "*" + MUT_KW@[1451; 1454) "mut" + WHITESPACE@[1454; 1455) " " + PATH_TYPE@[1455; 1466) + PATH@[1455; 1466) + PATH_SEGMENT@[1455; 1466) + COLONCOLON@[1455; 1457) "::" + NAME_REF@[1457; 1466) + IDENT@[1457; 1466) "socklen_t" + R_PAREN@[1466; 1467) ")" + WHITESPACE@[1467; 1468) " " + RET_TYPE@[1468; 1480) + THIN_ARROW@[1468; 1470) "->" + WHITESPACE@[1470; 1471) " " + PATH_TYPE@[1471; 1480) + PATH@[1471; 1480) + PATH_SEGMENT@[1471; 1480) + COLONCOLON@[1471; 1473) "::" + NAME_REF@[1473; 1480) + IDENT@[1473; 1480) "ssize_t" + SEMI@[1480; 1481) ";" + WHITESPACE@[1481; 1486) "\n " + FN_DEF@[1486; 1595) + VISIBILITY@[1486; 1489) + PUB_KW@[1486; 1489) "pub" + WHITESPACE@[1489; 1490) " " + FN_KW@[1490; 1492) "fn" + WHITESPACE@[1492; 1493) " " + NAME@[1493; 1497) + IDENT@[1493; 1497) "recv" + PARAM_LIST@[1497; 1581) + L_PAREN@[1497; 1498) "(" + PARAM@[1498; 1513) + BIND_PAT@[1498; 1504) + NAME@[1498; 1504) + IDENT@[1498; 1504) "socket" + COLON@[1504; 1505) ":" + WHITESPACE@[1505; 1506) " " + PATH_TYPE@[1506; 1513) + PATH@[1506; 1513) + PATH_SEGMENT@[1506; 1513) + COLONCOLON@[1506; 1508) "::" + NAME_REF@[1508; 1513) + IDENT@[1508; 1513) "c_int" + COMMA@[1513; 1514) "," + WHITESPACE@[1514; 1515) " " + PARAM@[1515; 1533) + BIND_PAT@[1515; 1518) + NAME@[1515; 1518) + IDENT@[1515; 1518) "buf" + COLON@[1518; 1519) ":" + WHITESPACE@[1519; 1520) " " + POINTER_TYPE@[1520; 1533) + STAR@[1520; 1521) "*" + MUT_KW@[1521; 1524) "mut" + WHITESPACE@[1524; 1525) " " + PATH_TYPE@[1525; 1533) + PATH@[1525; 1533) + PATH_SEGMENT@[1525; 1533) + COLONCOLON@[1525; 1527) "::" + NAME_REF@[1527; 1533) + IDENT@[1527; 1533) "c_void" + COMMA@[1533; 1534) "," + WHITESPACE@[1534; 1535) " " + PARAM@[1535; 1548) + BIND_PAT@[1535; 1538) + NAME@[1535; 1538) + IDENT@[1535; 1538) "len" + COLON@[1538; 1539) ":" + WHITESPACE@[1539; 1540) " " + PATH_TYPE@[1540; 1548) + PATH@[1540; 1548) + PATH_SEGMENT@[1540; 1548) + COLONCOLON@[1540; 1542) "::" + NAME_REF@[1542; 1548) + IDENT@[1542; 1548) "size_t" + COMMA@[1548; 1549) "," + WHITESPACE@[1549; 1566) "\n " + PARAM@[1566; 1580) + BIND_PAT@[1566; 1571) + NAME@[1566; 1571) + IDENT@[1566; 1571) "flags" + COLON@[1571; 1572) ":" + WHITESPACE@[1572; 1573) " " + PATH_TYPE@[1573; 1580) + PATH@[1573; 1580) + PATH_SEGMENT@[1573; 1580) + COLONCOLON@[1573; 1575) "::" + NAME_REF@[1575; 1580) + IDENT@[1575; 1580) "c_int" + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " + RET_TYPE@[1582; 1594) + THIN_ARROW@[1582; 1584) "->" + WHITESPACE@[1584; 1585) " " + PATH_TYPE@[1585; 1594) + PATH@[1585; 1594) + PATH_SEGMENT@[1585; 1594) + COLONCOLON@[1585; 1587) "::" + NAME_REF@[1587; 1594) + IDENT@[1587; 1594) "ssize_t" + SEMI@[1594; 1595) ";" + WHITESPACE@[1595; 1596) "\n" + R_CURLY@[1596; 1597) "}" + WHITESPACE@[1597; 1598) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0031_extern.txt b/crates/ra_syntax/test_data/parser/ok/0031_extern.txt deleted file mode 100644 index badbf76c5..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0031_extern.txt +++ /dev/null @@ -1,973 +0,0 @@ -SOURCE_FILE@[0; 1598) - EXTERN_BLOCK@[0; 1597) - ABI@[0; 6) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - EXTERN_ITEM_LIST@[7; 1597) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - FN_DEF@[13; 87) - VISIBILITY@[13; 16) - PUB_KW@[13; 16) "pub" - WHITESPACE@[16; 17) " " - FN_KW@[17; 19) "fn" - WHITESPACE@[19; 20) " " - NAME@[20; 26) - IDENT@[20; 26) "socket" - PARAM_LIST@[26; 75) - L_PAREN@[26; 27) "(" - PARAM@[27; 42) - BIND_PAT@[27; 33) - NAME@[27; 33) - IDENT@[27; 33) "domain" - COLON@[33; 34) ":" - WHITESPACE@[34; 35) " " - PATH_TYPE@[35; 42) - PATH@[35; 42) - PATH_SEGMENT@[35; 42) - COLONCOLON@[35; 37) "::" - NAME_REF@[37; 42) - IDENT@[37; 42) "c_int" - COMMA@[42; 43) "," - WHITESPACE@[43; 44) " " - PARAM@[44; 55) - BIND_PAT@[44; 46) - NAME@[44; 46) - IDENT@[44; 46) "ty" - COLON@[46; 47) ":" - WHITESPACE@[47; 48) " " - PATH_TYPE@[48; 55) - PATH@[48; 55) - PATH_SEGMENT@[48; 55) - COLONCOLON@[48; 50) "::" - NAME_REF@[50; 55) - IDENT@[50; 55) "c_int" - COMMA@[55; 56) "," - WHITESPACE@[56; 57) " " - PARAM@[57; 74) - BIND_PAT@[57; 65) - NAME@[57; 65) - IDENT@[57; 65) "protocol" - COLON@[65; 66) ":" - WHITESPACE@[66; 67) " " - PATH_TYPE@[67; 74) - PATH@[67; 74) - PATH_SEGMENT@[67; 74) - COLONCOLON@[67; 69) "::" - NAME_REF@[69; 74) - IDENT@[69; 74) "c_int" - R_PAREN@[74; 75) ")" - WHITESPACE@[75; 76) " " - RET_TYPE@[76; 86) - THIN_ARROW@[76; 78) "->" - WHITESPACE@[78; 79) " " - PATH_TYPE@[79; 86) - PATH@[79; 86) - PATH_SEGMENT@[79; 86) - COLONCOLON@[79; 81) "::" - NAME_REF@[81; 86) - IDENT@[81; 86) "c_int" - SEMI@[86; 87) ";" - WHITESPACE@[87; 92) "\n " - FN_DEF@[92; 167) - VISIBILITY@[92; 95) - PUB_KW@[92; 95) "pub" - WHITESPACE@[95; 96) " " - FN_KW@[96; 98) "fn" - WHITESPACE@[98; 99) " " - NAME@[99; 103) - IDENT@[99; 103) "bind" - PARAM_LIST@[103; 155) - L_PAREN@[103; 104) "(" - PARAM@[104; 115) - BIND_PAT@[104; 106) - NAME@[104; 106) - IDENT@[104; 106) "fd" - COLON@[106; 107) ":" - WHITESPACE@[107; 108) " " - PATH_TYPE@[108; 115) - PATH@[108; 115) - PATH_SEGMENT@[108; 115) - COLONCOLON@[108; 110) "::" - NAME_REF@[110; 115) - IDENT@[110; 115) "c_int" - COMMA@[115; 116) "," - WHITESPACE@[116; 117) " " - PARAM@[117; 138) - BIND_PAT@[117; 121) - NAME@[117; 121) - IDENT@[117; 121) "addr" - COLON@[121; 122) ":" - WHITESPACE@[122; 123) " " - POINTER_TYPE@[123; 138) - STAR@[123; 124) "*" - CONST_KW@[124; 129) "const" - WHITESPACE@[129; 130) " " - PATH_TYPE@[130; 138) - PATH@[130; 138) - PATH_SEGMENT@[130; 138) - NAME_REF@[130; 138) - IDENT@[130; 138) "sockaddr" - COMMA@[138; 139) "," - WHITESPACE@[139; 140) " " - PARAM@[140; 154) - BIND_PAT@[140; 143) - NAME@[140; 143) - IDENT@[140; 143) "len" - COLON@[143; 144) ":" - WHITESPACE@[144; 145) " " - PATH_TYPE@[145; 154) - PATH@[145; 154) - PATH_SEGMENT@[145; 154) - NAME_REF@[145; 154) - IDENT@[145; 154) "socklen_t" - R_PAREN@[154; 155) ")" - WHITESPACE@[155; 156) " " - RET_TYPE@[156; 166) - THIN_ARROW@[156; 158) "->" - WHITESPACE@[158; 159) " " - PATH_TYPE@[159; 166) - PATH@[159; 166) - PATH_SEGMENT@[159; 166) - COLONCOLON@[159; 161) "::" - NAME_REF@[161; 166) - IDENT@[161; 166) "c_int" - SEMI@[166; 167) ";" - WHITESPACE@[167; 172) "\n " - FN_DEF@[172; 276) - VISIBILITY@[172; 175) - PUB_KW@[172; 175) "pub" - WHITESPACE@[175; 176) " " - FN_KW@[176; 178) "fn" - WHITESPACE@[178; 179) " " - NAME@[179; 186) - IDENT@[179; 186) "connect" - PARAM_LIST@[186; 264) - L_PAREN@[186; 187) "(" - PARAM@[187; 202) - BIND_PAT@[187; 193) - NAME@[187; 193) - IDENT@[187; 193) "socket" - COLON@[193; 194) ":" - WHITESPACE@[194; 195) " " - PATH_TYPE@[195; 202) - PATH@[195; 202) - PATH_SEGMENT@[195; 202) - COLONCOLON@[195; 197) "::" - NAME_REF@[197; 202) - IDENT@[197; 202) "c_int" - COMMA@[202; 203) "," - WHITESPACE@[203; 204) " " - PARAM@[204; 228) - BIND_PAT@[204; 211) - NAME@[204; 211) - IDENT@[204; 211) "address" - COLON@[211; 212) ":" - WHITESPACE@[212; 213) " " - POINTER_TYPE@[213; 228) - STAR@[213; 214) "*" - CONST_KW@[214; 219) "const" - WHITESPACE@[219; 220) " " - PATH_TYPE@[220; 228) - PATH@[220; 228) - PATH_SEGMENT@[220; 228) - NAME_REF@[220; 228) - IDENT@[220; 228) "sockaddr" - COMMA@[228; 229) "," - WHITESPACE@[229; 249) "\n " - PARAM@[249; 263) - BIND_PAT@[249; 252) - NAME@[249; 252) - IDENT@[249; 252) "len" - COLON@[252; 253) ":" - WHITESPACE@[253; 254) " " - PATH_TYPE@[254; 263) - PATH@[254; 263) - PATH_SEGMENT@[254; 263) - NAME_REF@[254; 263) - IDENT@[254; 263) "socklen_t" - R_PAREN@[263; 264) ")" - WHITESPACE@[264; 265) " " - RET_TYPE@[265; 275) - THIN_ARROW@[265; 267) "->" - WHITESPACE@[267; 268) " " - PATH_TYPE@[268; 275) - PATH@[268; 275) - PATH_SEGMENT@[268; 275) - COLONCOLON@[268; 270) "::" - NAME_REF@[270; 275) - IDENT@[270; 275) "c_int" - SEMI@[275; 276) ";" - WHITESPACE@[276; 281) "\n " - FN_DEF@[281; 341) - VISIBILITY@[281; 284) - PUB_KW@[281; 284) "pub" - WHITESPACE@[284; 285) " " - FN_KW@[285; 287) "fn" - WHITESPACE@[287; 288) " " - NAME@[288; 294) - IDENT@[288; 294) "listen" - PARAM_LIST@[294; 329) - L_PAREN@[294; 295) "(" - PARAM@[295; 310) - BIND_PAT@[295; 301) - NAME@[295; 301) - IDENT@[295; 301) "socket" - COLON@[301; 302) ":" - WHITESPACE@[302; 303) " " - PATH_TYPE@[303; 310) - PATH@[303; 310) - PATH_SEGMENT@[303; 310) - COLONCOLON@[303; 305) "::" - NAME_REF@[305; 310) - IDENT@[305; 310) "c_int" - COMMA@[310; 311) "," - WHITESPACE@[311; 312) " " - PARAM@[312; 328) - BIND_PAT@[312; 319) - NAME@[312; 319) - IDENT@[312; 319) "backlog" - COLON@[319; 320) ":" - WHITESPACE@[320; 321) " " - PATH_TYPE@[321; 328) - PATH@[321; 328) - PATH_SEGMENT@[321; 328) - COLONCOLON@[321; 323) "::" - NAME_REF@[323; 328) - IDENT@[323; 328) "c_int" - R_PAREN@[328; 329) ")" - WHITESPACE@[329; 330) " " - RET_TYPE@[330; 340) - THIN_ARROW@[330; 332) "->" - WHITESPACE@[332; 333) " " - PATH_TYPE@[333; 340) - PATH@[333; 340) - PATH_SEGMENT@[333; 340) - COLONCOLON@[333; 335) "::" - NAME_REF@[335; 340) - IDENT@[335; 340) "c_int" - SEMI@[340; 341) ";" - WHITESPACE@[341; 346) "\n " - FN_DEF@[346; 469) - VISIBILITY@[346; 349) - PUB_KW@[346; 349) "pub" - WHITESPACE@[349; 350) " " - FN_KW@[350; 352) "fn" - WHITESPACE@[352; 353) " " - NAME@[353; 364) - IDENT@[353; 364) "getsockname" - PARAM_LIST@[364; 457) - L_PAREN@[364; 365) "(" - PARAM@[365; 380) - BIND_PAT@[365; 371) - NAME@[365; 371) - IDENT@[365; 371) "socket" - COLON@[371; 372) ":" - WHITESPACE@[372; 373) " " - PATH_TYPE@[373; 380) - PATH@[373; 380) - PATH_SEGMENT@[373; 380) - COLONCOLON@[373; 375) "::" - NAME_REF@[375; 380) - IDENT@[375; 380) "c_int" - COMMA@[380; 381) "," - WHITESPACE@[381; 382) " " - PARAM@[382; 404) - BIND_PAT@[382; 389) - NAME@[382; 389) - IDENT@[382; 389) "address" - COLON@[389; 390) ":" - WHITESPACE@[390; 391) " " - POINTER_TYPE@[391; 404) - STAR@[391; 392) "*" - MUT_KW@[392; 395) "mut" - WHITESPACE@[395; 396) " " - PATH_TYPE@[396; 404) - PATH@[396; 404) - PATH_SEGMENT@[396; 404) - NAME_REF@[396; 404) - IDENT@[396; 404) "sockaddr" - COMMA@[404; 405) "," - WHITESPACE@[405; 429) "\n " - PARAM@[429; 456) - BIND_PAT@[429; 440) - NAME@[429; 440) - IDENT@[429; 440) "address_len" - COLON@[440; 441) ":" - WHITESPACE@[441; 442) " " - POINTER_TYPE@[442; 456) - STAR@[442; 443) "*" - MUT_KW@[443; 446) "mut" - WHITESPACE@[446; 447) " " - PATH_TYPE@[447; 456) - PATH@[447; 456) - PATH_SEGMENT@[447; 456) - NAME_REF@[447; 456) - IDENT@[447; 456) "socklen_t" - R_PAREN@[456; 457) ")" - WHITESPACE@[457; 458) " " - RET_TYPE@[458; 468) - THIN_ARROW@[458; 460) "->" - WHITESPACE@[460; 461) " " - PATH_TYPE@[461; 468) - PATH@[461; 468) - PATH_SEGMENT@[461; 468) - COLONCOLON@[461; 463) "::" - NAME_REF@[463; 468) - IDENT@[463; 468) "c_int" - SEMI@[468; 469) ";" - WHITESPACE@[469; 474) "\n " - FN_DEF@[474; 691) - VISIBILITY@[474; 477) - PUB_KW@[474; 477) "pub" - WHITESPACE@[477; 478) " " - FN_KW@[478; 480) "fn" - WHITESPACE@[480; 481) " " - NAME@[481; 491) - IDENT@[481; 491) "getsockopt" - PARAM_LIST@[491; 679) - L_PAREN@[491; 492) "(" - PARAM@[492; 507) - BIND_PAT@[492; 498) - NAME@[492; 498) - IDENT@[492; 498) "sockfd" - COLON@[498; 499) ":" - WHITESPACE@[499; 500) " " - PATH_TYPE@[500; 507) - PATH@[500; 507) - PATH_SEGMENT@[500; 507) - COLONCOLON@[500; 502) "::" - NAME_REF@[502; 507) - IDENT@[502; 507) "c_int" - COMMA@[507; 508) "," - WHITESPACE@[508; 531) "\n " - PARAM@[531; 545) - BIND_PAT@[531; 536) - NAME@[531; 536) - IDENT@[531; 536) "level" - COLON@[536; 537) ":" - WHITESPACE@[537; 538) " " - PATH_TYPE@[538; 545) - PATH@[538; 545) - PATH_SEGMENT@[538; 545) - COLONCOLON@[538; 540) "::" - NAME_REF@[540; 545) - IDENT@[540; 545) "c_int" - COMMA@[545; 546) "," - WHITESPACE@[546; 569) "\n " - PARAM@[569; 585) - BIND_PAT@[569; 576) - NAME@[569; 576) - IDENT@[569; 576) "optname" - COLON@[576; 577) ":" - WHITESPACE@[577; 578) " " - PATH_TYPE@[578; 585) - PATH@[578; 585) - PATH_SEGMENT@[578; 585) - COLONCOLON@[578; 580) "::" - NAME_REF@[580; 585) - IDENT@[580; 585) "c_int" - COMMA@[585; 586) "," - WHITESPACE@[586; 609) "\n " - PARAM@[609; 630) - BIND_PAT@[609; 615) - NAME@[609; 615) - IDENT@[609; 615) "optval" - COLON@[615; 616) ":" - WHITESPACE@[616; 617) " " - POINTER_TYPE@[617; 630) - STAR@[617; 618) "*" - MUT_KW@[618; 621) "mut" - WHITESPACE@[621; 622) " " - PATH_TYPE@[622; 630) - PATH@[622; 630) - PATH_SEGMENT@[622; 630) - COLONCOLON@[622; 624) "::" - NAME_REF@[624; 630) - IDENT@[624; 630) "c_void" - COMMA@[630; 631) "," - WHITESPACE@[631; 654) "\n " - PARAM@[654; 678) - BIND_PAT@[654; 660) - NAME@[654; 660) - IDENT@[654; 660) "optlen" - COLON@[660; 661) ":" - WHITESPACE@[661; 662) " " - POINTER_TYPE@[662; 678) - STAR@[662; 663) "*" - MUT_KW@[663; 666) "mut" - WHITESPACE@[666; 667) " " - PATH_TYPE@[667; 678) - PATH@[667; 678) - PATH_SEGMENT@[667; 678) - COLONCOLON@[667; 669) "::" - NAME_REF@[669; 678) - IDENT@[669; 678) "socklen_t" - R_PAREN@[678; 679) ")" - WHITESPACE@[679; 680) " " - RET_TYPE@[680; 690) - THIN_ARROW@[680; 682) "->" - WHITESPACE@[682; 683) " " - PATH_TYPE@[683; 690) - PATH@[683; 690) - PATH_SEGMENT@[683; 690) - COLONCOLON@[683; 685) "::" - NAME_REF@[685; 690) - IDENT@[685; 690) "c_int" - SEMI@[690; 691) ";" - WHITESPACE@[691; 696) "\n " - FN_DEF@[696; 864) - VISIBILITY@[696; 699) - PUB_KW@[696; 699) "pub" - WHITESPACE@[699; 700) " " - FN_KW@[700; 702) "fn" - WHITESPACE@[702; 703) " " - NAME@[703; 713) - IDENT@[703; 713) "setsockopt" - PARAM_LIST@[713; 852) - L_PAREN@[713; 714) "(" - PARAM@[714; 729) - BIND_PAT@[714; 720) - NAME@[714; 720) - IDENT@[714; 720) "socket" - COLON@[720; 721) ":" - WHITESPACE@[721; 722) " " - PATH_TYPE@[722; 729) - PATH@[722; 729) - PATH_SEGMENT@[722; 729) - COLONCOLON@[722; 724) "::" - NAME_REF@[724; 729) - IDENT@[724; 729) "c_int" - COMMA@[729; 730) "," - WHITESPACE@[730; 731) " " - PARAM@[731; 745) - BIND_PAT@[731; 736) - NAME@[731; 736) - IDENT@[731; 736) "level" - COLON@[736; 737) ":" - WHITESPACE@[737; 738) " " - PATH_TYPE@[738; 745) - PATH@[738; 745) - PATH_SEGMENT@[738; 745) - COLONCOLON@[738; 740) "::" - NAME_REF@[740; 745) - IDENT@[740; 745) "c_int" - COMMA@[745; 746) "," - WHITESPACE@[746; 747) " " - PARAM@[747; 760) - BIND_PAT@[747; 751) - NAME@[747; 751) - IDENT@[747; 751) "name" - COLON@[751; 752) ":" - WHITESPACE@[752; 753) " " - PATH_TYPE@[753; 760) - PATH@[753; 760) - PATH_SEGMENT@[753; 760) - COLONCOLON@[753; 755) "::" - NAME_REF@[755; 760) - IDENT@[755; 760) "c_int" - COMMA@[760; 761) "," - WHITESPACE@[761; 784) "\n " - PARAM@[784; 806) - BIND_PAT@[784; 789) - NAME@[784; 789) - IDENT@[784; 789) "value" - COLON@[789; 790) ":" - WHITESPACE@[790; 791) " " - POINTER_TYPE@[791; 806) - STAR@[791; 792) "*" - CONST_KW@[792; 797) "const" - WHITESPACE@[797; 798) " " - PATH_TYPE@[798; 806) - PATH@[798; 806) - PATH_SEGMENT@[798; 806) - COLONCOLON@[798; 800) "::" - NAME_REF@[800; 806) - IDENT@[800; 806) "c_void" - COMMA@[806; 807) "," - WHITESPACE@[807; 830) "\n " - PARAM@[830; 851) - BIND_PAT@[830; 840) - NAME@[830; 840) - IDENT@[830; 840) "option_len" - COLON@[840; 841) ":" - WHITESPACE@[841; 842) " " - PATH_TYPE@[842; 851) - PATH@[842; 851) - PATH_SEGMENT@[842; 851) - NAME_REF@[842; 851) - IDENT@[842; 851) "socklen_t" - R_PAREN@[851; 852) ")" - WHITESPACE@[852; 853) " " - RET_TYPE@[853; 863) - THIN_ARROW@[853; 855) "->" - WHITESPACE@[855; 856) " " - PATH_TYPE@[856; 863) - PATH@[856; 863) - PATH_SEGMENT@[856; 863) - COLONCOLON@[856; 858) "::" - NAME_REF@[858; 863) - IDENT@[858; 863) "c_int" - SEMI@[863; 864) ";" - WHITESPACE@[864; 869) "\n " - FN_DEF@[869; 992) - VISIBILITY@[869; 872) - PUB_KW@[869; 872) "pub" - WHITESPACE@[872; 873) " " - FN_KW@[873; 875) "fn" - WHITESPACE@[875; 876) " " - NAME@[876; 887) - IDENT@[876; 887) "getpeername" - PARAM_LIST@[887; 980) - L_PAREN@[887; 888) "(" - PARAM@[888; 903) - BIND_PAT@[888; 894) - NAME@[888; 894) - IDENT@[888; 894) "socket" - COLON@[894; 895) ":" - WHITESPACE@[895; 896) " " - PATH_TYPE@[896; 903) - PATH@[896; 903) - PATH_SEGMENT@[896; 903) - COLONCOLON@[896; 898) "::" - NAME_REF@[898; 903) - IDENT@[898; 903) "c_int" - COMMA@[903; 904) "," - WHITESPACE@[904; 905) " " - PARAM@[905; 927) - BIND_PAT@[905; 912) - NAME@[905; 912) - IDENT@[905; 912) "address" - COLON@[912; 913) ":" - WHITESPACE@[913; 914) " " - POINTER_TYPE@[914; 927) - STAR@[914; 915) "*" - MUT_KW@[915; 918) "mut" - WHITESPACE@[918; 919) " " - PATH_TYPE@[919; 927) - PATH@[919; 927) - PATH_SEGMENT@[919; 927) - NAME_REF@[919; 927) - IDENT@[919; 927) "sockaddr" - COMMA@[927; 928) "," - WHITESPACE@[928; 952) "\n " - PARAM@[952; 979) - BIND_PAT@[952; 963) - NAME@[952; 963) - IDENT@[952; 963) "address_len" - COLON@[963; 964) ":" - WHITESPACE@[964; 965) " " - POINTER_TYPE@[965; 979) - STAR@[965; 966) "*" - MUT_KW@[966; 969) "mut" - WHITESPACE@[969; 970) " " - PATH_TYPE@[970; 979) - PATH@[970; 979) - PATH_SEGMENT@[970; 979) - NAME_REF@[970; 979) - IDENT@[970; 979) "socklen_t" - R_PAREN@[979; 980) ")" - WHITESPACE@[980; 981) " " - RET_TYPE@[981; 991) - THIN_ARROW@[981; 983) "->" - WHITESPACE@[983; 984) " " - PATH_TYPE@[984; 991) - PATH@[984; 991) - PATH_SEGMENT@[984; 991) - COLONCOLON@[984; 986) "::" - NAME_REF@[986; 991) - IDENT@[986; 991) "c_int" - SEMI@[991; 992) ";" - WHITESPACE@[992; 997) "\n " - FN_DEF@[997; 1173) - VISIBILITY@[997; 1000) - PUB_KW@[997; 1000) "pub" - WHITESPACE@[1000; 1001) " " - FN_KW@[1001; 1003) "fn" - WHITESPACE@[1003; 1004) " " - NAME@[1004; 1010) - IDENT@[1004; 1010) "sendto" - PARAM_LIST@[1010; 1159) - L_PAREN@[1010; 1011) "(" - PARAM@[1011; 1026) - BIND_PAT@[1011; 1017) - NAME@[1011; 1017) - IDENT@[1011; 1017) "socket" - COLON@[1017; 1018) ":" - WHITESPACE@[1018; 1019) " " - PATH_TYPE@[1019; 1026) - PATH@[1019; 1026) - PATH_SEGMENT@[1019; 1026) - COLONCOLON@[1019; 1021) "::" - NAME_REF@[1021; 1026) - IDENT@[1021; 1026) "c_int" - COMMA@[1026; 1027) "," - WHITESPACE@[1027; 1028) " " - PARAM@[1028; 1048) - BIND_PAT@[1028; 1031) - NAME@[1028; 1031) - IDENT@[1028; 1031) "buf" - COLON@[1031; 1032) ":" - WHITESPACE@[1032; 1033) " " - POINTER_TYPE@[1033; 1048) - STAR@[1033; 1034) "*" - CONST_KW@[1034; 1039) "const" - WHITESPACE@[1039; 1040) " " - PATH_TYPE@[1040; 1048) - PATH@[1040; 1048) - PATH_SEGMENT@[1040; 1048) - COLONCOLON@[1040; 1042) "::" - NAME_REF@[1042; 1048) - IDENT@[1042; 1048) "c_void" - COMMA@[1048; 1049) "," - WHITESPACE@[1049; 1050) " " - PARAM@[1050; 1063) - BIND_PAT@[1050; 1053) - NAME@[1050; 1053) - IDENT@[1050; 1053) "len" - COLON@[1053; 1054) ":" - WHITESPACE@[1054; 1055) " " - PATH_TYPE@[1055; 1063) - PATH@[1055; 1063) - PATH_SEGMENT@[1055; 1063) - COLONCOLON@[1055; 1057) "::" - NAME_REF@[1057; 1063) - IDENT@[1057; 1063) "size_t" - COMMA@[1063; 1064) "," - WHITESPACE@[1064; 1083) "\n " - PARAM@[1083; 1097) - BIND_PAT@[1083; 1088) - NAME@[1083; 1088) - IDENT@[1083; 1088) "flags" - COLON@[1088; 1089) ":" - WHITESPACE@[1089; 1090) " " - PATH_TYPE@[1090; 1097) - PATH@[1090; 1097) - PATH_SEGMENT@[1090; 1097) - COLONCOLON@[1090; 1092) "::" - NAME_REF@[1092; 1097) - IDENT@[1092; 1097) "c_int" - COMMA@[1097; 1098) "," - WHITESPACE@[1098; 1099) " " - PARAM@[1099; 1120) - BIND_PAT@[1099; 1103) - NAME@[1099; 1103) - IDENT@[1099; 1103) "addr" - COLON@[1103; 1104) ":" - WHITESPACE@[1104; 1105) " " - POINTER_TYPE@[1105; 1120) - STAR@[1105; 1106) "*" - CONST_KW@[1106; 1111) "const" - WHITESPACE@[1111; 1112) " " - PATH_TYPE@[1112; 1120) - PATH@[1112; 1120) - PATH_SEGMENT@[1112; 1120) - NAME_REF@[1112; 1120) - IDENT@[1112; 1120) "sockaddr" - COMMA@[1120; 1121) "," - WHITESPACE@[1121; 1140) "\n " - PARAM@[1140; 1158) - BIND_PAT@[1140; 1147) - NAME@[1140; 1147) - IDENT@[1140; 1147) "addrlen" - COLON@[1147; 1148) ":" - WHITESPACE@[1148; 1149) " " - PATH_TYPE@[1149; 1158) - PATH@[1149; 1158) - PATH_SEGMENT@[1149; 1158) - NAME_REF@[1149; 1158) - IDENT@[1149; 1158) "socklen_t" - R_PAREN@[1158; 1159) ")" - WHITESPACE@[1159; 1160) " " - RET_TYPE@[1160; 1172) - THIN_ARROW@[1160; 1162) "->" - WHITESPACE@[1162; 1163) " " - PATH_TYPE@[1163; 1172) - PATH@[1163; 1172) - PATH_SEGMENT@[1163; 1172) - COLONCOLON@[1163; 1165) "::" - NAME_REF@[1165; 1172) - IDENT@[1165; 1172) "ssize_t" - SEMI@[1172; 1173) ";" - WHITESPACE@[1173; 1178) "\n " - FN_DEF@[1178; 1289) - VISIBILITY@[1178; 1181) - PUB_KW@[1178; 1181) "pub" - WHITESPACE@[1181; 1182) " " - FN_KW@[1182; 1184) "fn" - WHITESPACE@[1184; 1185) " " - NAME@[1185; 1189) - IDENT@[1185; 1189) "send" - PARAM_LIST@[1189; 1275) - L_PAREN@[1189; 1190) "(" - PARAM@[1190; 1205) - BIND_PAT@[1190; 1196) - NAME@[1190; 1196) - IDENT@[1190; 1196) "socket" - COLON@[1196; 1197) ":" - WHITESPACE@[1197; 1198) " " - PATH_TYPE@[1198; 1205) - PATH@[1198; 1205) - PATH_SEGMENT@[1198; 1205) - COLONCOLON@[1198; 1200) "::" - NAME_REF@[1200; 1205) - IDENT@[1200; 1205) "c_int" - COMMA@[1205; 1206) "," - WHITESPACE@[1206; 1207) " " - PARAM@[1207; 1227) - BIND_PAT@[1207; 1210) - NAME@[1207; 1210) - IDENT@[1207; 1210) "buf" - COLON@[1210; 1211) ":" - WHITESPACE@[1211; 1212) " " - POINTER_TYPE@[1212; 1227) - STAR@[1212; 1213) "*" - CONST_KW@[1213; 1218) "const" - WHITESPACE@[1218; 1219) " " - PATH_TYPE@[1219; 1227) - PATH@[1219; 1227) - PATH_SEGMENT@[1219; 1227) - COLONCOLON@[1219; 1221) "::" - NAME_REF@[1221; 1227) - IDENT@[1221; 1227) "c_void" - COMMA@[1227; 1228) "," - WHITESPACE@[1228; 1229) " " - PARAM@[1229; 1242) - BIND_PAT@[1229; 1232) - NAME@[1229; 1232) - IDENT@[1229; 1232) "len" - COLON@[1232; 1233) ":" - WHITESPACE@[1233; 1234) " " - PATH_TYPE@[1234; 1242) - PATH@[1234; 1242) - PATH_SEGMENT@[1234; 1242) - COLONCOLON@[1234; 1236) "::" - NAME_REF@[1236; 1242) - IDENT@[1236; 1242) "size_t" - COMMA@[1242; 1243) "," - WHITESPACE@[1243; 1260) "\n " - PARAM@[1260; 1274) - BIND_PAT@[1260; 1265) - NAME@[1260; 1265) - IDENT@[1260; 1265) "flags" - COLON@[1265; 1266) ":" - WHITESPACE@[1266; 1267) " " - PATH_TYPE@[1267; 1274) - PATH@[1267; 1274) - PATH_SEGMENT@[1267; 1274) - COLONCOLON@[1267; 1269) "::" - NAME_REF@[1269; 1274) - IDENT@[1269; 1274) "c_int" - R_PAREN@[1274; 1275) ")" - WHITESPACE@[1275; 1276) " " - RET_TYPE@[1276; 1288) - THIN_ARROW@[1276; 1278) "->" - WHITESPACE@[1278; 1279) " " - PATH_TYPE@[1279; 1288) - PATH@[1279; 1288) - PATH_SEGMENT@[1279; 1288) - COLONCOLON@[1279; 1281) "::" - NAME_REF@[1281; 1288) - IDENT@[1281; 1288) "ssize_t" - SEMI@[1288; 1289) ";" - WHITESPACE@[1289; 1294) "\n " - FN_DEF@[1294; 1481) - VISIBILITY@[1294; 1297) - PUB_KW@[1294; 1297) "pub" - WHITESPACE@[1297; 1298) " " - FN_KW@[1298; 1300) "fn" - WHITESPACE@[1300; 1301) " " - NAME@[1301; 1309) - IDENT@[1301; 1309) "recvfrom" - PARAM_LIST@[1309; 1467) - L_PAREN@[1309; 1310) "(" - PARAM@[1310; 1325) - BIND_PAT@[1310; 1316) - NAME@[1310; 1316) - IDENT@[1310; 1316) "socket" - COLON@[1316; 1317) ":" - WHITESPACE@[1317; 1318) " " - PATH_TYPE@[1318; 1325) - PATH@[1318; 1325) - PATH_SEGMENT@[1318; 1325) - COLONCOLON@[1318; 1320) "::" - NAME_REF@[1320; 1325) - IDENT@[1320; 1325) "c_int" - COMMA@[1325; 1326) "," - WHITESPACE@[1326; 1327) " " - PARAM@[1327; 1345) - BIND_PAT@[1327; 1330) - NAME@[1327; 1330) - IDENT@[1327; 1330) "buf" - COLON@[1330; 1331) ":" - WHITESPACE@[1331; 1332) " " - POINTER_TYPE@[1332; 1345) - STAR@[1332; 1333) "*" - MUT_KW@[1333; 1336) "mut" - WHITESPACE@[1336; 1337) " " - PATH_TYPE@[1337; 1345) - PATH@[1337; 1345) - PATH_SEGMENT@[1337; 1345) - COLONCOLON@[1337; 1339) "::" - NAME_REF@[1339; 1345) - IDENT@[1339; 1345) "c_void" - COMMA@[1345; 1346) "," - WHITESPACE@[1346; 1347) " " - PARAM@[1347; 1360) - BIND_PAT@[1347; 1350) - NAME@[1347; 1350) - IDENT@[1347; 1350) "len" - COLON@[1350; 1351) ":" - WHITESPACE@[1351; 1352) " " - PATH_TYPE@[1352; 1360) - PATH@[1352; 1360) - PATH_SEGMENT@[1352; 1360) - COLONCOLON@[1352; 1354) "::" - NAME_REF@[1354; 1360) - IDENT@[1354; 1360) "size_t" - COMMA@[1360; 1361) "," - WHITESPACE@[1361; 1382) "\n " - PARAM@[1382; 1396) - BIND_PAT@[1382; 1387) - NAME@[1382; 1387) - IDENT@[1382; 1387) "flags" - COLON@[1387; 1388) ":" - WHITESPACE@[1388; 1389) " " - PATH_TYPE@[1389; 1396) - PATH@[1389; 1396) - PATH_SEGMENT@[1389; 1396) - COLONCOLON@[1389; 1391) "::" - NAME_REF@[1391; 1396) - IDENT@[1391; 1396) "c_int" - COMMA@[1396; 1397) "," - WHITESPACE@[1397; 1398) " " - PARAM@[1398; 1419) - BIND_PAT@[1398; 1402) - NAME@[1398; 1402) - IDENT@[1398; 1402) "addr" - COLON@[1402; 1403) ":" - WHITESPACE@[1403; 1404) " " - POINTER_TYPE@[1404; 1419) - STAR@[1404; 1405) "*" - MUT_KW@[1405; 1408) "mut" - WHITESPACE@[1408; 1409) " " - PATH_TYPE@[1409; 1419) - PATH@[1409; 1419) - PATH_SEGMENT@[1409; 1419) - COLONCOLON@[1409; 1411) "::" - NAME_REF@[1411; 1419) - IDENT@[1411; 1419) "sockaddr" - COMMA@[1419; 1420) "," - WHITESPACE@[1420; 1441) "\n " - PARAM@[1441; 1466) - BIND_PAT@[1441; 1448) - NAME@[1441; 1448) - IDENT@[1441; 1448) "addrlen" - COLON@[1448; 1449) ":" - WHITESPACE@[1449; 1450) " " - POINTER_TYPE@[1450; 1466) - STAR@[1450; 1451) "*" - MUT_KW@[1451; 1454) "mut" - WHITESPACE@[1454; 1455) " " - PATH_TYPE@[1455; 1466) - PATH@[1455; 1466) - PATH_SEGMENT@[1455; 1466) - COLONCOLON@[1455; 1457) "::" - NAME_REF@[1457; 1466) - IDENT@[1457; 1466) "socklen_t" - R_PAREN@[1466; 1467) ")" - WHITESPACE@[1467; 1468) " " - RET_TYPE@[1468; 1480) - THIN_ARROW@[1468; 1470) "->" - WHITESPACE@[1470; 1471) " " - PATH_TYPE@[1471; 1480) - PATH@[1471; 1480) - PATH_SEGMENT@[1471; 1480) - COLONCOLON@[1471; 1473) "::" - NAME_REF@[1473; 1480) - IDENT@[1473; 1480) "ssize_t" - SEMI@[1480; 1481) ";" - WHITESPACE@[1481; 1486) "\n " - FN_DEF@[1486; 1595) - VISIBILITY@[1486; 1489) - PUB_KW@[1486; 1489) "pub" - WHITESPACE@[1489; 1490) " " - FN_KW@[1490; 1492) "fn" - WHITESPACE@[1492; 1493) " " - NAME@[1493; 1497) - IDENT@[1493; 1497) "recv" - PARAM_LIST@[1497; 1581) - L_PAREN@[1497; 1498) "(" - PARAM@[1498; 1513) - BIND_PAT@[1498; 1504) - NAME@[1498; 1504) - IDENT@[1498; 1504) "socket" - COLON@[1504; 1505) ":" - WHITESPACE@[1505; 1506) " " - PATH_TYPE@[1506; 1513) - PATH@[1506; 1513) - PATH_SEGMENT@[1506; 1513) - COLONCOLON@[1506; 1508) "::" - NAME_REF@[1508; 1513) - IDENT@[1508; 1513) "c_int" - COMMA@[1513; 1514) "," - WHITESPACE@[1514; 1515) " " - PARAM@[1515; 1533) - BIND_PAT@[1515; 1518) - NAME@[1515; 1518) - IDENT@[1515; 1518) "buf" - COLON@[1518; 1519) ":" - WHITESPACE@[1519; 1520) " " - POINTER_TYPE@[1520; 1533) - STAR@[1520; 1521) "*" - MUT_KW@[1521; 1524) "mut" - WHITESPACE@[1524; 1525) " " - PATH_TYPE@[1525; 1533) - PATH@[1525; 1533) - PATH_SEGMENT@[1525; 1533) - COLONCOLON@[1525; 1527) "::" - NAME_REF@[1527; 1533) - IDENT@[1527; 1533) "c_void" - COMMA@[1533; 1534) "," - WHITESPACE@[1534; 1535) " " - PARAM@[1535; 1548) - BIND_PAT@[1535; 1538) - NAME@[1535; 1538) - IDENT@[1535; 1538) "len" - COLON@[1538; 1539) ":" - WHITESPACE@[1539; 1540) " " - PATH_TYPE@[1540; 1548) - PATH@[1540; 1548) - PATH_SEGMENT@[1540; 1548) - COLONCOLON@[1540; 1542) "::" - NAME_REF@[1542; 1548) - IDENT@[1542; 1548) "size_t" - COMMA@[1548; 1549) "," - WHITESPACE@[1549; 1566) "\n " - PARAM@[1566; 1580) - BIND_PAT@[1566; 1571) - NAME@[1566; 1571) - IDENT@[1566; 1571) "flags" - COLON@[1571; 1572) ":" - WHITESPACE@[1572; 1573) " " - PATH_TYPE@[1573; 1580) - PATH@[1573; 1580) - PATH_SEGMENT@[1573; 1580) - COLONCOLON@[1573; 1575) "::" - NAME_REF@[1575; 1580) - IDENT@[1575; 1580) "c_int" - R_PAREN@[1580; 1581) ")" - WHITESPACE@[1581; 1582) " " - RET_TYPE@[1582; 1594) - THIN_ARROW@[1582; 1584) "->" - WHITESPACE@[1584; 1585) " " - PATH_TYPE@[1585; 1594) - PATH@[1585; 1594) - PATH_SEGMENT@[1585; 1594) - COLONCOLON@[1585; 1587) "::" - NAME_REF@[1587; 1594) - IDENT@[1587; 1594) "ssize_t" - SEMI@[1594; 1595) ";" - WHITESPACE@[1595; 1596) "\n" - R_CURLY@[1596; 1597) "}" - WHITESPACE@[1597; 1598) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast b/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast new file mode 100644 index 000000000..3a333480e --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast @@ -0,0 +1,91 @@ +SOURCE_FILE@[0; 116) + FN_DEF@[0; 115) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 21) + IDENT@[3; 21) "test_serialization" + TYPE_PARAM_LIST@[21; 26) + L_ANGLE@[21; 22) "<" + TYPE_PARAM@[22; 25) + NAME@[22; 25) + IDENT@[22; 25) "SER" + R_ANGLE@[25; 26) ">" + PARAM_LIST@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + WHITESPACE@[28; 29) "\n" + WHERE_CLAUSE@[29; 112) + WHERE_KW@[29; 34) "where" + WHITESPACE@[34; 39) "\n " + WHERE_PRED@[39; 111) + PATH_TYPE@[39; 42) + PATH@[39; 42) + PATH_SEGMENT@[39; 42) + NAME_REF@[39; 42) + IDENT@[39; 42) "SER" + COLON@[42; 43) ":" + WHITESPACE@[43; 44) " " + TYPE_BOUND_LIST@[44; 111) + TYPE_BOUND@[44; 53) + PATH_TYPE@[44; 53) + PATH@[44; 53) + PATH_SEGMENT@[44; 53) + NAME_REF@[44; 53) + IDENT@[44; 53) "Serialize" + WHITESPACE@[53; 54) " " + PLUS@[54; 55) "+" + WHITESPACE@[55; 56) " " + TYPE_BOUND@[56; 81) + FOR_TYPE@[56; 81) + FOR_KW@[56; 59) "for" + TYPE_PARAM_LIST@[59; 64) + L_ANGLE@[59; 60) "<" + LIFETIME_PARAM@[60; 63) + LIFETIME@[60; 63) "\'de" + R_ANGLE@[63; 64) ">" + WHITESPACE@[64; 65) " " + PATH_TYPE@[65; 81) + PATH@[65; 81) + PATH_SEGMENT@[65; 81) + NAME_REF@[65; 76) + IDENT@[65; 76) "Deserialize" + TYPE_ARG_LIST@[76; 81) + L_ANGLE@[76; 77) "<" + LIFETIME_ARG@[77; 80) + LIFETIME@[77; 80) "\'de" + R_ANGLE@[80; 81) ">" + WHITESPACE@[81; 82) " " + PLUS@[82; 83) "+" + WHITESPACE@[83; 84) " " + TYPE_BOUND@[84; 93) + PATH_TYPE@[84; 93) + PATH@[84; 93) + PATH_SEGMENT@[84; 93) + NAME_REF@[84; 93) + IDENT@[84; 93) "PartialEq" + WHITESPACE@[93; 94) " " + PLUS@[94; 95) "+" + WHITESPACE@[95; 96) " " + TYPE_BOUND@[96; 111) + PATH_TYPE@[96; 111) + PATH@[96; 111) + PATH@[96; 104) + PATH@[96; 99) + PATH_SEGMENT@[96; 99) + NAME_REF@[96; 99) + IDENT@[96; 99) "std" + COLONCOLON@[99; 101) "::" + PATH_SEGMENT@[101; 104) + NAME_REF@[101; 104) + IDENT@[101; 104) "fmt" + COLONCOLON@[104; 106) "::" + PATH_SEGMENT@[106; 111) + NAME_REF@[106; 111) + IDENT@[106; 111) "Debug" + COMMA@[111; 112) "," + WHITESPACE@[112; 113) "\n" + BLOCK_EXPR@[113; 115) + BLOCK@[113; 115) + L_CURLY@[113; 114) "{" + R_CURLY@[114; 115) "}" + WHITESPACE@[115; 116) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt b/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt deleted file mode 100644 index 3a333480e..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt +++ /dev/null @@ -1,91 +0,0 @@ -SOURCE_FILE@[0; 116) - FN_DEF@[0; 115) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 21) - IDENT@[3; 21) "test_serialization" - TYPE_PARAM_LIST@[21; 26) - L_ANGLE@[21; 22) "<" - TYPE_PARAM@[22; 25) - NAME@[22; 25) - IDENT@[22; 25) "SER" - R_ANGLE@[25; 26) ">" - PARAM_LIST@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - WHITESPACE@[28; 29) "\n" - WHERE_CLAUSE@[29; 112) - WHERE_KW@[29; 34) "where" - WHITESPACE@[34; 39) "\n " - WHERE_PRED@[39; 111) - PATH_TYPE@[39; 42) - PATH@[39; 42) - PATH_SEGMENT@[39; 42) - NAME_REF@[39; 42) - IDENT@[39; 42) "SER" - COLON@[42; 43) ":" - WHITESPACE@[43; 44) " " - TYPE_BOUND_LIST@[44; 111) - TYPE_BOUND@[44; 53) - PATH_TYPE@[44; 53) - PATH@[44; 53) - PATH_SEGMENT@[44; 53) - NAME_REF@[44; 53) - IDENT@[44; 53) "Serialize" - WHITESPACE@[53; 54) " " - PLUS@[54; 55) "+" - WHITESPACE@[55; 56) " " - TYPE_BOUND@[56; 81) - FOR_TYPE@[56; 81) - FOR_KW@[56; 59) "for" - TYPE_PARAM_LIST@[59; 64) - L_ANGLE@[59; 60) "<" - LIFETIME_PARAM@[60; 63) - LIFETIME@[60; 63) "\'de" - R_ANGLE@[63; 64) ">" - WHITESPACE@[64; 65) " " - PATH_TYPE@[65; 81) - PATH@[65; 81) - PATH_SEGMENT@[65; 81) - NAME_REF@[65; 76) - IDENT@[65; 76) "Deserialize" - TYPE_ARG_LIST@[76; 81) - L_ANGLE@[76; 77) "<" - LIFETIME_ARG@[77; 80) - LIFETIME@[77; 80) "\'de" - R_ANGLE@[80; 81) ">" - WHITESPACE@[81; 82) " " - PLUS@[82; 83) "+" - WHITESPACE@[83; 84) " " - TYPE_BOUND@[84; 93) - PATH_TYPE@[84; 93) - PATH@[84; 93) - PATH_SEGMENT@[84; 93) - NAME_REF@[84; 93) - IDENT@[84; 93) "PartialEq" - WHITESPACE@[93; 94) " " - PLUS@[94; 95) "+" - WHITESPACE@[95; 96) " " - TYPE_BOUND@[96; 111) - PATH_TYPE@[96; 111) - PATH@[96; 111) - PATH@[96; 104) - PATH@[96; 99) - PATH_SEGMENT@[96; 99) - NAME_REF@[96; 99) - IDENT@[96; 99) "std" - COLONCOLON@[99; 101) "::" - PATH_SEGMENT@[101; 104) - NAME_REF@[101; 104) - IDENT@[101; 104) "fmt" - COLONCOLON@[104; 106) "::" - PATH_SEGMENT@[106; 111) - NAME_REF@[106; 111) - IDENT@[106; 111) "Debug" - COMMA@[111; 112) "," - WHITESPACE@[112; 113) "\n" - BLOCK_EXPR@[113; 115) - BLOCK@[113; 115) - L_CURLY@[113; 114) "{" - R_CURLY@[114; 115) "}" - WHITESPACE@[115; 116) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast b/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast new file mode 100644 index 000000000..bd9e3fd85 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast @@ -0,0 +1,220 @@ +SOURCE_FILE@[0; 506) + FN_DEF@[0; 505) + COMMENT@[0; 33) "// format with label ..." + WHITESPACE@[33; 34) "\n" + FN_KW@[34; 36) "fn" + WHITESPACE@[36; 37) " " + NAME@[37; 41) + IDENT@[37; 41) "main" + PARAM_LIST@[41; 43) + L_PAREN@[41; 42) "(" + R_PAREN@[42; 43) ")" + WHITESPACE@[43; 44) " " + BLOCK_EXPR@[44; 505) + BLOCK@[44; 505) + L_CURLY@[44; 45) "{" + WHITESPACE@[45; 50) "\n " + EXPR_STMT@[50; 66) + BLOCK_EXPR@[50; 66) + LABEL@[50; 63) + LIFETIME@[50; 62) "\'empty_block" + COLON@[62; 63) ":" + WHITESPACE@[63; 64) " " + BLOCK@[64; 66) + L_CURLY@[64; 65) "{" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 72) "\n\n " + EXPR_STMT@[72; 295) + BLOCK_EXPR@[72; 295) + LABEL@[72; 79) + LIFETIME@[72; 78) "\'block" + COLON@[78; 79) ":" + WHITESPACE@[79; 80) " " + BLOCK@[80; 295) + L_CURLY@[80; 81) "{" + WHITESPACE@[81; 90) "\n " + EXPR_STMT@[90; 101) + CALL_EXPR@[90; 100) + PATH_EXPR@[90; 98) + PATH@[90; 98) + PATH_SEGMENT@[90; 98) + NAME_REF@[90; 98) + IDENT@[90; 98) "do_thing" + ARG_LIST@[98; 100) + L_PAREN@[98; 99) "(" + R_PAREN@[99; 100) ")" + SEMI@[100; 101) ";" + WHITESPACE@[101; 110) "\n " + EXPR_STMT@[110; 170) + IF_EXPR@[110; 170) + IF_KW@[110; 112) "if" + WHITESPACE@[112; 113) " " + CONDITION@[113; 132) + CALL_EXPR@[113; 132) + PATH_EXPR@[113; 130) + PATH@[113; 130) + PATH_SEGMENT@[113; 130) + NAME_REF@[113; 130) + IDENT@[113; 130) "condition_not_met" + ARG_LIST@[130; 132) + L_PAREN@[130; 131) "(" + R_PAREN@[131; 132) ")" + WHITESPACE@[132; 133) " " + BLOCK_EXPR@[133; 170) + BLOCK@[133; 170) + L_CURLY@[133; 134) "{" + WHITESPACE@[134; 147) "\n " + EXPR_STMT@[147; 160) + BREAK_EXPR@[147; 159) + BREAK_KW@[147; 152) "break" + WHITESPACE@[152; 153) " " + LIFETIME@[153; 159) "\'block" + SEMI@[159; 160) ";" + WHITESPACE@[160; 169) "\n " + R_CURLY@[169; 170) "}" + WHITESPACE@[170; 179) "\n " + EXPR_STMT@[179; 195) + CALL_EXPR@[179; 194) + PATH_EXPR@[179; 192) + PATH@[179; 192) + PATH_SEGMENT@[179; 192) + NAME_REF@[179; 192) + IDENT@[179; 192) "do_next_thing" + ARG_LIST@[192; 194) + L_PAREN@[192; 193) "(" + R_PAREN@[193; 194) ")" + SEMI@[194; 195) ";" + WHITESPACE@[195; 204) "\n " + EXPR_STMT@[204; 264) + IF_EXPR@[204; 264) + IF_KW@[204; 206) "if" + WHITESPACE@[206; 207) " " + CONDITION@[207; 226) + CALL_EXPR@[207; 226) + PATH_EXPR@[207; 224) + PATH@[207; 224) + PATH_SEGMENT@[207; 224) + NAME_REF@[207; 224) + IDENT@[207; 224) "condition_not_met" + ARG_LIST@[224; 226) + L_PAREN@[224; 225) "(" + R_PAREN@[225; 226) ")" + WHITESPACE@[226; 227) " " + BLOCK_EXPR@[227; 264) + BLOCK@[227; 264) + L_CURLY@[227; 228) "{" + WHITESPACE@[228; 241) "\n " + EXPR_STMT@[241; 254) + BREAK_EXPR@[241; 253) + BREAK_KW@[241; 246) "break" + WHITESPACE@[246; 247) " " + LIFETIME@[247; 253) "\'block" + SEMI@[253; 254) ";" + WHITESPACE@[254; 263) "\n " + R_CURLY@[263; 264) "}" + WHITESPACE@[264; 273) "\n " + EXPR_STMT@[273; 289) + CALL_EXPR@[273; 288) + PATH_EXPR@[273; 286) + PATH@[273; 286) + PATH_SEGMENT@[273; 286) + NAME_REF@[273; 286) + IDENT@[273; 286) "do_last_thing" + ARG_LIST@[286; 288) + L_PAREN@[286; 287) "(" + R_PAREN@[287; 288) ")" + SEMI@[288; 289) ";" + WHITESPACE@[289; 294) "\n " + R_CURLY@[294; 295) "}" + WHITESPACE@[295; 301) "\n\n " + LET_STMT@[301; 503) + LET_KW@[301; 304) "let" + WHITESPACE@[304; 305) " " + BIND_PAT@[305; 311) + NAME@[305; 311) + IDENT@[305; 311) "result" + WHITESPACE@[311; 312) " " + EQ@[312; 313) "=" + WHITESPACE@[313; 314) " " + BLOCK_EXPR@[314; 502) + LABEL@[314; 321) + LIFETIME@[314; 320) "\'block" + COLON@[320; 321) ":" + WHITESPACE@[321; 322) " " + BLOCK@[322; 502) + L_CURLY@[322; 323) "{" + WHITESPACE@[323; 332) "\n " + EXPR_STMT@[332; 403) + IF_EXPR@[332; 403) + IF_KW@[332; 334) "if" + WHITESPACE@[334; 335) " " + CONDITION@[335; 340) + CALL_EXPR@[335; 340) + PATH_EXPR@[335; 338) + PATH@[335; 338) + PATH_SEGMENT@[335; 338) + NAME_REF@[335; 338) + IDENT@[335; 338) "foo" + ARG_LIST@[338; 340) + L_PAREN@[338; 339) "(" + R_PAREN@[339; 340) ")" + WHITESPACE@[340; 341) " " + BLOCK_EXPR@[341; 403) + BLOCK@[341; 403) + L_CURLY@[341; 342) "{" + WHITESPACE@[342; 355) "\n " + COMMENT@[355; 365) "// comment" + WHITESPACE@[365; 378) "\n " + EXPR_STMT@[378; 393) + BREAK_EXPR@[378; 392) + BREAK_KW@[378; 383) "break" + WHITESPACE@[383; 384) " " + LIFETIME@[384; 390) "\'block" + WHITESPACE@[390; 391) " " + LITERAL@[391; 392) + INT_NUMBER@[391; 392) "1" + SEMI@[392; 393) ";" + WHITESPACE@[393; 402) "\n " + R_CURLY@[402; 403) "}" + WHITESPACE@[403; 412) "\n " + EXPR_STMT@[412; 486) + IF_EXPR@[412; 486) + IF_KW@[412; 414) "if" + WHITESPACE@[414; 415) " " + CONDITION@[415; 420) + CALL_EXPR@[415; 420) + PATH_EXPR@[415; 418) + PATH@[415; 418) + PATH_SEGMENT@[415; 418) + NAME_REF@[415; 418) + IDENT@[415; 418) "bar" + ARG_LIST@[418; 420) + L_PAREN@[418; 419) "(" + R_PAREN@[419; 420) ")" + WHITESPACE@[420; 421) " " + BLOCK_EXPR@[421; 486) + BLOCK@[421; 486) + L_CURLY@[421; 422) "{" + WHITESPACE@[422; 435) "\n " + COMMENT@[435; 448) "/* comment */" + WHITESPACE@[448; 461) "\n " + EXPR_STMT@[461; 476) + BREAK_EXPR@[461; 475) + BREAK_KW@[461; 466) "break" + WHITESPACE@[466; 467) " " + LIFETIME@[467; 473) "\'block" + WHITESPACE@[473; 474) " " + LITERAL@[474; 475) + INT_NUMBER@[474; 475) "2" + SEMI@[475; 476) ";" + WHITESPACE@[476; 485) "\n " + R_CURLY@[485; 486) "}" + WHITESPACE@[486; 495) "\n " + LITERAL@[495; 496) + INT_NUMBER@[495; 496) "3" + WHITESPACE@[496; 501) "\n " + R_CURLY@[501; 502) "}" + SEMI@[502; 503) ";" + WHITESPACE@[503; 504) "\n" + R_CURLY@[504; 505) "}" + WHITESPACE@[505; 506) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt b/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt deleted file mode 100644 index bd9e3fd85..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt +++ /dev/null @@ -1,220 +0,0 @@ -SOURCE_FILE@[0; 506) - FN_DEF@[0; 505) - COMMENT@[0; 33) "// format with label ..." - WHITESPACE@[33; 34) "\n" - FN_KW@[34; 36) "fn" - WHITESPACE@[36; 37) " " - NAME@[37; 41) - IDENT@[37; 41) "main" - PARAM_LIST@[41; 43) - L_PAREN@[41; 42) "(" - R_PAREN@[42; 43) ")" - WHITESPACE@[43; 44) " " - BLOCK_EXPR@[44; 505) - BLOCK@[44; 505) - L_CURLY@[44; 45) "{" - WHITESPACE@[45; 50) "\n " - EXPR_STMT@[50; 66) - BLOCK_EXPR@[50; 66) - LABEL@[50; 63) - LIFETIME@[50; 62) "\'empty_block" - COLON@[62; 63) ":" - WHITESPACE@[63; 64) " " - BLOCK@[64; 66) - L_CURLY@[64; 65) "{" - R_CURLY@[65; 66) "}" - WHITESPACE@[66; 72) "\n\n " - EXPR_STMT@[72; 295) - BLOCK_EXPR@[72; 295) - LABEL@[72; 79) - LIFETIME@[72; 78) "\'block" - COLON@[78; 79) ":" - WHITESPACE@[79; 80) " " - BLOCK@[80; 295) - L_CURLY@[80; 81) "{" - WHITESPACE@[81; 90) "\n " - EXPR_STMT@[90; 101) - CALL_EXPR@[90; 100) - PATH_EXPR@[90; 98) - PATH@[90; 98) - PATH_SEGMENT@[90; 98) - NAME_REF@[90; 98) - IDENT@[90; 98) "do_thing" - ARG_LIST@[98; 100) - L_PAREN@[98; 99) "(" - R_PAREN@[99; 100) ")" - SEMI@[100; 101) ";" - WHITESPACE@[101; 110) "\n " - EXPR_STMT@[110; 170) - IF_EXPR@[110; 170) - IF_KW@[110; 112) "if" - WHITESPACE@[112; 113) " " - CONDITION@[113; 132) - CALL_EXPR@[113; 132) - PATH_EXPR@[113; 130) - PATH@[113; 130) - PATH_SEGMENT@[113; 130) - NAME_REF@[113; 130) - IDENT@[113; 130) "condition_not_met" - ARG_LIST@[130; 132) - L_PAREN@[130; 131) "(" - R_PAREN@[131; 132) ")" - WHITESPACE@[132; 133) " " - BLOCK_EXPR@[133; 170) - BLOCK@[133; 170) - L_CURLY@[133; 134) "{" - WHITESPACE@[134; 147) "\n " - EXPR_STMT@[147; 160) - BREAK_EXPR@[147; 159) - BREAK_KW@[147; 152) "break" - WHITESPACE@[152; 153) " " - LIFETIME@[153; 159) "\'block" - SEMI@[159; 160) ";" - WHITESPACE@[160; 169) "\n " - R_CURLY@[169; 170) "}" - WHITESPACE@[170; 179) "\n " - EXPR_STMT@[179; 195) - CALL_EXPR@[179; 194) - PATH_EXPR@[179; 192) - PATH@[179; 192) - PATH_SEGMENT@[179; 192) - NAME_REF@[179; 192) - IDENT@[179; 192) "do_next_thing" - ARG_LIST@[192; 194) - L_PAREN@[192; 193) "(" - R_PAREN@[193; 194) ")" - SEMI@[194; 195) ";" - WHITESPACE@[195; 204) "\n " - EXPR_STMT@[204; 264) - IF_EXPR@[204; 264) - IF_KW@[204; 206) "if" - WHITESPACE@[206; 207) " " - CONDITION@[207; 226) - CALL_EXPR@[207; 226) - PATH_EXPR@[207; 224) - PATH@[207; 224) - PATH_SEGMENT@[207; 224) - NAME_REF@[207; 224) - IDENT@[207; 224) "condition_not_met" - ARG_LIST@[224; 226) - L_PAREN@[224; 225) "(" - R_PAREN@[225; 226) ")" - WHITESPACE@[226; 227) " " - BLOCK_EXPR@[227; 264) - BLOCK@[227; 264) - L_CURLY@[227; 228) "{" - WHITESPACE@[228; 241) "\n " - EXPR_STMT@[241; 254) - BREAK_EXPR@[241; 253) - BREAK_KW@[241; 246) "break" - WHITESPACE@[246; 247) " " - LIFETIME@[247; 253) "\'block" - SEMI@[253; 254) ";" - WHITESPACE@[254; 263) "\n " - R_CURLY@[263; 264) "}" - WHITESPACE@[264; 273) "\n " - EXPR_STMT@[273; 289) - CALL_EXPR@[273; 288) - PATH_EXPR@[273; 286) - PATH@[273; 286) - PATH_SEGMENT@[273; 286) - NAME_REF@[273; 286) - IDENT@[273; 286) "do_last_thing" - ARG_LIST@[286; 288) - L_PAREN@[286; 287) "(" - R_PAREN@[287; 288) ")" - SEMI@[288; 289) ";" - WHITESPACE@[289; 294) "\n " - R_CURLY@[294; 295) "}" - WHITESPACE@[295; 301) "\n\n " - LET_STMT@[301; 503) - LET_KW@[301; 304) "let" - WHITESPACE@[304; 305) " " - BIND_PAT@[305; 311) - NAME@[305; 311) - IDENT@[305; 311) "result" - WHITESPACE@[311; 312) " " - EQ@[312; 313) "=" - WHITESPACE@[313; 314) " " - BLOCK_EXPR@[314; 502) - LABEL@[314; 321) - LIFETIME@[314; 320) "\'block" - COLON@[320; 321) ":" - WHITESPACE@[321; 322) " " - BLOCK@[322; 502) - L_CURLY@[322; 323) "{" - WHITESPACE@[323; 332) "\n " - EXPR_STMT@[332; 403) - IF_EXPR@[332; 403) - IF_KW@[332; 334) "if" - WHITESPACE@[334; 335) " " - CONDITION@[335; 340) - CALL_EXPR@[335; 340) - PATH_EXPR@[335; 338) - PATH@[335; 338) - PATH_SEGMENT@[335; 338) - NAME_REF@[335; 338) - IDENT@[335; 338) "foo" - ARG_LIST@[338; 340) - L_PAREN@[338; 339) "(" - R_PAREN@[339; 340) ")" - WHITESPACE@[340; 341) " " - BLOCK_EXPR@[341; 403) - BLOCK@[341; 403) - L_CURLY@[341; 342) "{" - WHITESPACE@[342; 355) "\n " - COMMENT@[355; 365) "// comment" - WHITESPACE@[365; 378) "\n " - EXPR_STMT@[378; 393) - BREAK_EXPR@[378; 392) - BREAK_KW@[378; 383) "break" - WHITESPACE@[383; 384) " " - LIFETIME@[384; 390) "\'block" - WHITESPACE@[390; 391) " " - LITERAL@[391; 392) - INT_NUMBER@[391; 392) "1" - SEMI@[392; 393) ";" - WHITESPACE@[393; 402) "\n " - R_CURLY@[402; 403) "}" - WHITESPACE@[403; 412) "\n " - EXPR_STMT@[412; 486) - IF_EXPR@[412; 486) - IF_KW@[412; 414) "if" - WHITESPACE@[414; 415) " " - CONDITION@[415; 420) - CALL_EXPR@[415; 420) - PATH_EXPR@[415; 418) - PATH@[415; 418) - PATH_SEGMENT@[415; 418) - NAME_REF@[415; 418) - IDENT@[415; 418) "bar" - ARG_LIST@[418; 420) - L_PAREN@[418; 419) "(" - R_PAREN@[419; 420) ")" - WHITESPACE@[420; 421) " " - BLOCK_EXPR@[421; 486) - BLOCK@[421; 486) - L_CURLY@[421; 422) "{" - WHITESPACE@[422; 435) "\n " - COMMENT@[435; 448) "/* comment */" - WHITESPACE@[448; 461) "\n " - EXPR_STMT@[461; 476) - BREAK_EXPR@[461; 475) - BREAK_KW@[461; 466) "break" - WHITESPACE@[466; 467) " " - LIFETIME@[467; 473) "\'block" - WHITESPACE@[473; 474) " " - LITERAL@[474; 475) - INT_NUMBER@[474; 475) "2" - SEMI@[475; 476) ";" - WHITESPACE@[476; 485) "\n " - R_CURLY@[485; 486) "}" - WHITESPACE@[486; 495) "\n " - LITERAL@[495; 496) - INT_NUMBER@[495; 496) "3" - WHITESPACE@[496; 501) "\n " - R_CURLY@[501; 502) "}" - SEMI@[502; 503) ";" - WHITESPACE@[503; 504) "\n" - R_CURLY@[504; 505) "}" - WHITESPACE@[505; 506) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast new file mode 100644 index 000000000..fc0d452f4 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast @@ -0,0 +1,42 @@ +SOURCE_FILE@[0; 62) + FN_DEF@[0; 61) + 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; 61) + BLOCK@[10; 61) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + EXPR_STMT@[16; 59) + CALL_EXPR@[16; 58) + PATH_EXPR@[16; 26) + PATH@[16; 26) + PATH_SEGMENT@[16; 26) + NAME_REF@[16; 26) + IDENT@[16; 26) "make_query" + ARG_LIST@[26; 58) + L_PAREN@[26; 27) "(" + PATH_EXPR@[27; 57) + PATH@[27; 57) + PATH@[27; 44) + PATH@[27; 32) + PATH_SEGMENT@[27; 32) + CRATE_KW@[27; 32) "crate" + COLONCOLON@[32; 34) "::" + PATH_SEGMENT@[34; 44) + NAME_REF@[34; 44) + IDENT@[34; 44) "module_map" + COLONCOLON@[44; 46) "::" + PATH_SEGMENT@[46; 57) + NAME_REF@[46; 57) + IDENT@[46; 57) "module_tree" + R_PAREN@[57; 58) ")" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" + R_CURLY@[60; 61) "}" + WHITESPACE@[61; 62) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt deleted file mode 100644 index fc0d452f4..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt +++ /dev/null @@ -1,42 +0,0 @@ -SOURCE_FILE@[0; 62) - FN_DEF@[0; 61) - 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; 61) - BLOCK@[10; 61) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - EXPR_STMT@[16; 59) - CALL_EXPR@[16; 58) - PATH_EXPR@[16; 26) - PATH@[16; 26) - PATH_SEGMENT@[16; 26) - NAME_REF@[16; 26) - IDENT@[16; 26) "make_query" - ARG_LIST@[26; 58) - L_PAREN@[26; 27) "(" - PATH_EXPR@[27; 57) - PATH@[27; 57) - PATH@[27; 44) - PATH@[27; 32) - PATH_SEGMENT@[27; 32) - CRATE_KW@[27; 32) "crate" - COLONCOLON@[32; 34) "::" - PATH_SEGMENT@[34; 44) - NAME_REF@[34; 44) - IDENT@[34; 44) "module_map" - COLONCOLON@[44; 46) "::" - PATH_SEGMENT@[46; 57) - NAME_REF@[46; 57) - IDENT@[46; 57) "module_tree" - R_PAREN@[57; 58) ")" - SEMI@[58; 59) ";" - WHITESPACE@[59; 60) "\n" - R_CURLY@[60; 61) "}" - WHITESPACE@[61; 62) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast new file mode 100644 index 000000000..90538b90d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast @@ -0,0 +1,2329 @@ +SOURCE_FILE@[0; 3813) + COMMENT@[0; 55) "//! Adapted from a `r ..." + WHITESPACE@[55; 56) "\n" + COMMENT@[56; 173) "//! https://github.co ..." + WHITESPACE@[173; 174) "\n" + COMMENT@[174; 178) "//! " + WHITESPACE@[178; 179) "\n" + COMMENT@[179; 269) "//! Reported to rust- ..." + WHITESPACE@[269; 271) "\n\n" + ATTR@[271; 302) + POUND@[271; 272) "#" + EXCL@[272; 273) "!" + L_BRACK@[273; 274) "[" + PATH@[274; 279) + PATH_SEGMENT@[274; 279) + NAME_REF@[274; 279) + IDENT@[274; 279) "allow" + TOKEN_TREE@[279; 301) + L_PAREN@[279; 280) "(" + IDENT@[280; 300) "non_camel_case_types" + R_PAREN@[300; 301) ")" + R_BRACK@[301; 302) "]" + WHITESPACE@[302; 303) "\n" + ATTR@[303; 323) + POUND@[303; 304) "#" + EXCL@[304; 305) "!" + L_BRACK@[305; 306) "[" + PATH@[306; 311) + PATH_SEGMENT@[306; 311) + NAME_REF@[306; 311) + IDENT@[306; 311) "allow" + TOKEN_TREE@[311; 322) + L_PAREN@[311; 312) "(" + IDENT@[312; 321) "dead_code" + R_PAREN@[321; 322) ")" + R_BRACK@[322; 323) "]" + WHITESPACE@[323; 324) "\n" + ATTR@[324; 351) + POUND@[324; 325) "#" + EXCL@[325; 326) "!" + L_BRACK@[326; 327) "[" + PATH@[327; 332) + PATH_SEGMENT@[327; 332) + NAME_REF@[327; 332) + IDENT@[327; 332) "allow" + TOKEN_TREE@[332; 350) + L_PAREN@[332; 333) "(" + IDENT@[333; 349) "unreachable_code" + R_PAREN@[349; 350) ")" + R_BRACK@[350; 351) "]" + WHITESPACE@[351; 352) "\n" + ATTR@[352; 376) + POUND@[352; 353) "#" + EXCL@[353; 354) "!" + L_BRACK@[354; 355) "[" + PATH@[355; 360) + PATH_SEGMENT@[355; 360) + NAME_REF@[355; 360) + IDENT@[355; 360) "allow" + TOKEN_TREE@[360; 375) + L_PAREN@[360; 361) "(" + IDENT@[361; 374) "unused_parens" + R_PAREN@[374; 375) ")" + R_BRACK@[375; 376) "]" + WHITESPACE@[376; 378) "\n\n" + ATTR@[378; 405) + POUND@[378; 379) "#" + EXCL@[379; 380) "!" + L_BRACK@[380; 381) "[" + PATH@[381; 396) + PATH_SEGMENT@[381; 396) + NAME_REF@[381; 396) + IDENT@[381; 396) "recursion_limit" + WHITESPACE@[396; 397) " " + EQ@[397; 398) "=" + WHITESPACE@[398; 399) " " + LITERAL@[399; 404) + STRING@[399; 404) "\"128\"" + R_BRACK@[404; 405) "]" + WHITESPACE@[405; 407) "\n\n" + USE_ITEM@[407; 427) + USE_KW@[407; 410) "use" + WHITESPACE@[410; 411) " " + USE_TREE@[411; 426) + PATH@[411; 426) + PATH@[411; 420) + PATH@[411; 414) + PATH_SEGMENT@[411; 414) + NAME_REF@[411; 414) + IDENT@[411; 414) "std" + COLONCOLON@[414; 416) "::" + PATH_SEGMENT@[416; 420) + NAME_REF@[416; 420) + IDENT@[416; 420) "cell" + COLONCOLON@[420; 422) "::" + PATH_SEGMENT@[422; 426) + NAME_REF@[422; 426) + IDENT@[422; 426) "Cell" + SEMI@[426; 427) ";" + WHITESPACE@[427; 428) "\n" + USE_ITEM@[428; 447) + USE_KW@[428; 431) "use" + WHITESPACE@[431; 432) " " + USE_TREE@[432; 446) + PATH@[432; 446) + PATH@[432; 440) + PATH@[432; 435) + PATH_SEGMENT@[432; 435) + NAME_REF@[432; 435) + IDENT@[432; 435) "std" + COLONCOLON@[435; 437) "::" + PATH_SEGMENT@[437; 440) + NAME_REF@[437; 440) + IDENT@[437; 440) "mem" + COLONCOLON@[440; 442) "::" + PATH_SEGMENT@[442; 446) + NAME_REF@[442; 446) + IDENT@[442; 446) "swap" + SEMI@[446; 447) ";" + WHITESPACE@[447; 449) "\n\n" + COMMENT@[449; 518) "// Just a grab bag of ..." + WHITESPACE@[518; 520) "\n\n" + FN_DEF@[520; 572) + FN_KW@[520; 522) "fn" + WHITESPACE@[522; 523) " " + NAME@[523; 530) + IDENT@[523; 530) "strange" + PARAM_LIST@[530; 532) + L_PAREN@[530; 531) "(" + R_PAREN@[531; 532) ")" + WHITESPACE@[532; 533) " " + RET_TYPE@[533; 540) + THIN_ARROW@[533; 535) "->" + WHITESPACE@[535; 536) " " + PATH_TYPE@[536; 540) + PATH@[536; 540) + PATH_SEGMENT@[536; 540) + NAME_REF@[536; 540) + IDENT@[536; 540) "bool" + WHITESPACE@[540; 541) " " + BLOCK_EXPR@[541; 572) + BLOCK@[541; 572) + L_CURLY@[541; 542) "{" + WHITESPACE@[542; 543) " " + LET_STMT@[543; 570) + LET_KW@[543; 546) "let" + WHITESPACE@[546; 547) " " + BIND_PAT@[547; 549) + NAME@[547; 549) + IDENT@[547; 549) "_x" + COLON@[549; 550) ":" + WHITESPACE@[550; 551) " " + PATH_TYPE@[551; 555) + PATH@[551; 555) + PATH_SEGMENT@[551; 555) + NAME_REF@[551; 555) + IDENT@[551; 555) "bool" + WHITESPACE@[555; 556) " " + EQ@[556; 557) "=" + WHITESPACE@[557; 558) " " + RETURN_EXPR@[558; 569) + RETURN_KW@[558; 564) "return" + WHITESPACE@[564; 565) " " + LITERAL@[565; 569) + TRUE_KW@[565; 569) "true" + SEMI@[569; 570) ";" + WHITESPACE@[570; 571) " " + R_CURLY@[571; 572) "}" + WHITESPACE@[572; 574) "\n\n" + FN_DEF@[574; 624) + FN_KW@[574; 576) "fn" + WHITESPACE@[576; 577) " " + NAME@[577; 582) + IDENT@[577; 582) "funny" + PARAM_LIST@[582; 584) + L_PAREN@[582; 583) "(" + R_PAREN@[583; 584) ")" + WHITESPACE@[584; 585) " " + BLOCK_EXPR@[585; 624) + BLOCK@[585; 624) + L_CURLY@[585; 586) "{" + WHITESPACE@[586; 591) "\n " + FN_DEF@[591; 607) + FN_KW@[591; 593) "fn" + WHITESPACE@[593; 594) " " + NAME@[594; 595) + IDENT@[594; 595) "f" + PARAM_LIST@[595; 603) + L_PAREN@[595; 596) "(" + PARAM@[596; 602) + BIND_PAT@[596; 598) + NAME@[596; 598) + IDENT@[596; 598) "_x" + COLON@[598; 599) ":" + WHITESPACE@[599; 600) " " + TUPLE_TYPE@[600; 602) + L_PAREN@[600; 601) "(" + R_PAREN@[601; 602) ")" + R_PAREN@[602; 603) ")" + WHITESPACE@[603; 604) " " + BLOCK_EXPR@[604; 607) + BLOCK@[604; 607) + L_CURLY@[604; 605) "{" + WHITESPACE@[605; 606) " " + R_CURLY@[606; 607) "}" + WHITESPACE@[607; 612) "\n " + EXPR_STMT@[612; 622) + CALL_EXPR@[612; 621) + PATH_EXPR@[612; 613) + PATH@[612; 613) + PATH_SEGMENT@[612; 613) + NAME_REF@[612; 613) + IDENT@[612; 613) "f" + ARG_LIST@[613; 621) + L_PAREN@[613; 614) "(" + RETURN_EXPR@[614; 620) + RETURN_KW@[614; 620) "return" + R_PAREN@[620; 621) ")" + SEMI@[621; 622) ";" + WHITESPACE@[622; 623) "\n" + R_CURLY@[623; 624) "}" + WHITESPACE@[624; 626) "\n\n" + FN_DEF@[626; 816) + FN_KW@[626; 628) "fn" + WHITESPACE@[628; 629) " " + NAME@[629; 633) + IDENT@[629; 633) "what" + PARAM_LIST@[633; 635) + L_PAREN@[633; 634) "(" + R_PAREN@[634; 635) ")" + WHITESPACE@[635; 636) " " + BLOCK_EXPR@[636; 816) + BLOCK@[636; 816) + L_CURLY@[636; 637) "{" + WHITESPACE@[637; 642) "\n " + FN_DEF@[642; 720) + FN_KW@[642; 644) "fn" + WHITESPACE@[644; 645) " " + NAME@[645; 648) + IDENT@[645; 648) "the" + PARAM_LIST@[648; 664) + L_PAREN@[648; 649) "(" + PARAM@[649; 663) + BIND_PAT@[649; 650) + NAME@[649; 650) + IDENT@[649; 650) "x" + COLON@[650; 651) ":" + WHITESPACE@[651; 652) " " + REFERENCE_TYPE@[652; 663) + AMP@[652; 653) "&" + PATH_TYPE@[653; 663) + PATH@[653; 663) + PATH_SEGMENT@[653; 663) + NAME_REF@[653; 657) + IDENT@[653; 657) "Cell" + TYPE_ARG_LIST@[657; 663) + L_ANGLE@[657; 658) "<" + TYPE_ARG@[658; 662) + PATH_TYPE@[658; 662) + PATH@[658; 662) + PATH_SEGMENT@[658; 662) + NAME_REF@[658; 662) + IDENT@[658; 662) "bool" + R_ANGLE@[662; 663) ">" + R_PAREN@[663; 664) ")" + WHITESPACE@[664; 665) " " + BLOCK_EXPR@[665; 720) + BLOCK@[665; 720) + L_CURLY@[665; 666) "{" + WHITESPACE@[666; 675) "\n " + EXPR_STMT@[675; 714) + RETURN_EXPR@[675; 713) + RETURN_KW@[675; 681) "return" + WHITESPACE@[681; 682) " " + WHILE_EXPR@[682; 713) + WHILE_KW@[682; 687) "while" + WHITESPACE@[687; 688) " " + CONDITION@[688; 696) + PREFIX_EXPR@[688; 696) + EXCL@[688; 689) "!" + METHOD_CALL_EXPR@[689; 696) + PATH_EXPR@[689; 690) + PATH@[689; 690) + PATH_SEGMENT@[689; 690) + NAME_REF@[689; 690) + IDENT@[689; 690) "x" + DOT@[690; 691) "." + NAME_REF@[691; 694) + IDENT@[691; 694) "get" + ARG_LIST@[694; 696) + L_PAREN@[694; 695) "(" + R_PAREN@[695; 696) ")" + WHITESPACE@[696; 697) " " + BLOCK_EXPR@[697; 713) + BLOCK@[697; 713) + L_CURLY@[697; 698) "{" + WHITESPACE@[698; 699) " " + EXPR_STMT@[699; 711) + METHOD_CALL_EXPR@[699; 710) + PATH_EXPR@[699; 700) + PATH@[699; 700) + PATH_SEGMENT@[699; 700) + NAME_REF@[699; 700) + IDENT@[699; 700) "x" + DOT@[700; 701) "." + NAME_REF@[701; 704) + IDENT@[701; 704) "set" + ARG_LIST@[704; 710) + L_PAREN@[704; 705) "(" + LITERAL@[705; 709) + TRUE_KW@[705; 709) "true" + R_PAREN@[709; 710) ")" + SEMI@[710; 711) ";" + WHITESPACE@[711; 712) " " + R_CURLY@[712; 713) "}" + SEMI@[713; 714) ";" + WHITESPACE@[714; 719) "\n " + R_CURLY@[719; 720) "}" + WHITESPACE@[720; 725) "\n " + LET_STMT@[725; 751) + LET_KW@[725; 728) "let" + WHITESPACE@[728; 729) " " + BIND_PAT@[729; 730) + NAME@[729; 730) + IDENT@[729; 730) "i" + WHITESPACE@[730; 731) " " + EQ@[731; 732) "=" + WHITESPACE@[732; 733) " " + REF_EXPR@[733; 750) + AMP@[733; 734) "&" + CALL_EXPR@[734; 750) + PATH_EXPR@[734; 743) + PATH@[734; 743) + PATH@[734; 738) + PATH_SEGMENT@[734; 738) + NAME_REF@[734; 738) + IDENT@[734; 738) "Cell" + COLONCOLON@[738; 740) "::" + PATH_SEGMENT@[740; 743) + NAME_REF@[740; 743) + IDENT@[740; 743) "new" + ARG_LIST@[743; 750) + L_PAREN@[743; 744) "(" + LITERAL@[744; 749) + FALSE_KW@[744; 749) "false" + R_PAREN@[749; 750) ")" + SEMI@[750; 751) ";" + WHITESPACE@[751; 756) "\n " + LET_STMT@[756; 778) + LET_KW@[756; 759) "let" + WHITESPACE@[759; 760) " " + BIND_PAT@[760; 764) + NAME@[760; 764) + IDENT@[760; 764) "dont" + WHITESPACE@[764; 765) " " + EQ@[765; 766) "=" + WHITESPACE@[766; 767) " " + BLOCK_EXPR@[767; 777) + BLOCK@[767; 777) + L_CURLY@[767; 768) "{" + LAMBDA_EXPR@[768; 776) + PARAM_LIST@[768; 770) + PIPE@[768; 769) "|" + PIPE@[769; 770) "|" + CALL_EXPR@[770; 776) + PATH_EXPR@[770; 773) + PATH@[770; 773) + PATH_SEGMENT@[770; 773) + NAME_REF@[770; 773) + IDENT@[770; 773) "the" + ARG_LIST@[773; 776) + L_PAREN@[773; 774) "(" + PATH_EXPR@[774; 775) + PATH@[774; 775) + PATH_SEGMENT@[774; 775) + NAME_REF@[774; 775) + IDENT@[774; 775) "i" + R_PAREN@[775; 776) ")" + R_CURLY@[776; 777) "}" + SEMI@[777; 778) ";" + WHITESPACE@[778; 783) "\n " + EXPR_STMT@[783; 790) + CALL_EXPR@[783; 789) + PATH_EXPR@[783; 787) + PATH@[783; 787) + PATH_SEGMENT@[783; 787) + NAME_REF@[783; 787) + IDENT@[783; 787) "dont" + ARG_LIST@[787; 789) + L_PAREN@[787; 788) "(" + R_PAREN@[788; 789) ")" + SEMI@[789; 790) ";" + WHITESPACE@[790; 795) "\n " + EXPR_STMT@[795; 814) + MACRO_CALL@[795; 813) + PATH@[795; 801) + PATH_SEGMENT@[795; 801) + NAME_REF@[795; 801) + IDENT@[795; 801) "assert" + EXCL@[801; 802) "!" + TOKEN_TREE@[802; 813) + L_PAREN@[802; 803) "(" + TOKEN_TREE@[803; 812) + L_PAREN@[803; 804) "(" + IDENT@[804; 805) "i" + DOT@[805; 806) "." + IDENT@[806; 809) "get" + TOKEN_TREE@[809; 811) + L_PAREN@[809; 810) "(" + R_PAREN@[810; 811) ")" + R_PAREN@[811; 812) ")" + R_PAREN@[812; 813) ")" + SEMI@[813; 814) ";" + WHITESPACE@[814; 815) "\n" + R_CURLY@[815; 816) "}" + WHITESPACE@[816; 818) "\n\n" + FN_DEF@[818; 1322) + FN_KW@[818; 820) "fn" + WHITESPACE@[820; 821) " " + NAME@[821; 832) + IDENT@[821; 832) "zombiejesus" + PARAM_LIST@[832; 834) + L_PAREN@[832; 833) "(" + R_PAREN@[833; 834) ")" + WHITESPACE@[834; 835) " " + BLOCK_EXPR@[835; 1322) + BLOCK@[835; 1322) + L_CURLY@[835; 836) "{" + WHITESPACE@[836; 841) "\n " + LOOP_EXPR@[841; 1320) + LOOP_KW@[841; 845) "loop" + WHITESPACE@[845; 846) " " + BLOCK_EXPR@[846; 1320) + BLOCK@[846; 1320) + L_CURLY@[846; 847) "{" + WHITESPACE@[847; 856) "\n " + EXPR_STMT@[856; 1283) + WHILE_EXPR@[856; 1283) + WHILE_KW@[856; 861) "while" + WHITESPACE@[861; 862) " " + CONDITION@[862; 870) + PAREN_EXPR@[862; 870) + L_PAREN@[862; 863) "(" + RETURN_EXPR@[863; 869) + RETURN_KW@[863; 869) "return" + R_PAREN@[869; 870) ")" + WHITESPACE@[870; 871) " " + BLOCK_EXPR@[871; 1283) + BLOCK@[871; 1283) + L_CURLY@[871; 872) "{" + WHITESPACE@[872; 885) "\n " + IF_EXPR@[885; 1273) + IF_KW@[885; 887) "if" + WHITESPACE@[887; 888) " " + CONDITION@[888; 896) + PAREN_EXPR@[888; 896) + L_PAREN@[888; 889) "(" + RETURN_EXPR@[889; 895) + RETURN_KW@[889; 895) "return" + R_PAREN@[895; 896) ")" + WHITESPACE@[896; 897) " " + BLOCK_EXPR@[897; 1216) + BLOCK@[897; 1216) + L_CURLY@[897; 898) "{" + WHITESPACE@[898; 915) "\n " + EXPR_STMT@[915; 1202) + MATCH_EXPR@[915; 1201) + MATCH_KW@[915; 920) "match" + WHITESPACE@[920; 921) " " + PAREN_EXPR@[921; 929) + L_PAREN@[921; 922) "(" + RETURN_EXPR@[922; 928) + RETURN_KW@[922; 928) "return" + R_PAREN@[928; 929) ")" + WHITESPACE@[929; 930) " " + MATCH_ARM_LIST@[930; 1201) + L_CURLY@[930; 931) "{" + WHITESPACE@[931; 952) "\n " + MATCH_ARM@[952; 1147) + LITERAL_PAT@[952; 953) + LITERAL@[952; 953) + INT_NUMBER@[952; 953) "1" + WHITESPACE@[953; 954) " " + FAT_ARROW@[954; 956) "=>" + WHITESPACE@[956; 957) " " + BLOCK_EXPR@[957; 1147) + BLOCK@[957; 1147) + L_CURLY@[957; 958) "{" + WHITESPACE@[958; 983) "\n ..." + IF_EXPR@[983; 1125) + IF_KW@[983; 985) "if" + WHITESPACE@[985; 986) " " + CONDITION@[986; 994) + PAREN_EXPR@[986; 994) + L_PAREN@[986; 987) "(" + RETURN_EXPR@[987; 993) + RETURN_KW@[987; 993) "return" + R_PAREN@[993; 994) ")" + WHITESPACE@[994; 995) " " + BLOCK_EXPR@[995; 1057) + BLOCK@[995; 1057) + L_CURLY@[995; 996) "{" + WHITESPACE@[996; 1025) "\n ..." + RETURN_EXPR@[1025; 1031) + RETURN_KW@[1025; 1031) "return" + WHITESPACE@[1031; 1056) "\n ..." + R_CURLY@[1056; 1057) "}" + WHITESPACE@[1057; 1058) " " + ELSE_KW@[1058; 1062) "else" + WHITESPACE@[1062; 1063) " " + BLOCK_EXPR@[1063; 1125) + BLOCK@[1063; 1125) + L_CURLY@[1063; 1064) "{" + WHITESPACE@[1064; 1093) "\n ..." + RETURN_EXPR@[1093; 1099) + RETURN_KW@[1093; 1099) "return" + WHITESPACE@[1099; 1124) "\n ..." + R_CURLY@[1124; 1125) "}" + WHITESPACE@[1125; 1146) "\n " + R_CURLY@[1146; 1147) "}" + WHITESPACE@[1147; 1168) "\n " + MATCH_ARM@[1168; 1183) + PLACEHOLDER_PAT@[1168; 1169) + UNDERSCORE@[1168; 1169) "_" + WHITESPACE@[1169; 1170) " " + FAT_ARROW@[1170; 1172) "=>" + WHITESPACE@[1172; 1173) " " + BLOCK_EXPR@[1173; 1183) + BLOCK@[1173; 1183) + L_CURLY@[1173; 1174) "{" + WHITESPACE@[1174; 1175) " " + RETURN_EXPR@[1175; 1181) + RETURN_KW@[1175; 1181) "return" + WHITESPACE@[1181; 1182) " " + R_CURLY@[1182; 1183) "}" + WHITESPACE@[1183; 1200) "\n " + R_CURLY@[1200; 1201) "}" + SEMI@[1201; 1202) ";" + WHITESPACE@[1202; 1215) "\n " + R_CURLY@[1215; 1216) "}" + WHITESPACE@[1216; 1217) " " + ELSE_KW@[1217; 1221) "else" + WHITESPACE@[1221; 1222) " " + IF_EXPR@[1222; 1273) + IF_KW@[1222; 1224) "if" + WHITESPACE@[1224; 1225) " " + CONDITION@[1225; 1233) + PAREN_EXPR@[1225; 1233) + L_PAREN@[1225; 1226) "(" + RETURN_EXPR@[1226; 1232) + RETURN_KW@[1226; 1232) "return" + R_PAREN@[1232; 1233) ")" + WHITESPACE@[1233; 1234) " " + BLOCK_EXPR@[1234; 1273) + BLOCK@[1234; 1273) + L_CURLY@[1234; 1235) "{" + WHITESPACE@[1235; 1252) "\n " + EXPR_STMT@[1252; 1259) + RETURN_EXPR@[1252; 1258) + RETURN_KW@[1252; 1258) "return" + SEMI@[1258; 1259) ";" + WHITESPACE@[1259; 1272) "\n " + R_CURLY@[1272; 1273) "}" + WHITESPACE@[1273; 1282) "\n " + R_CURLY@[1282; 1283) "}" + WHITESPACE@[1283; 1292) "\n " + IF_EXPR@[1292; 1314) + IF_KW@[1292; 1294) "if" + WHITESPACE@[1294; 1295) " " + CONDITION@[1295; 1303) + PAREN_EXPR@[1295; 1303) + L_PAREN@[1295; 1296) "(" + RETURN_EXPR@[1296; 1302) + RETURN_KW@[1296; 1302) "return" + R_PAREN@[1302; 1303) ")" + WHITESPACE@[1303; 1304) " " + BLOCK_EXPR@[1304; 1314) + BLOCK@[1304; 1314) + L_CURLY@[1304; 1305) "{" + WHITESPACE@[1305; 1306) " " + EXPR_STMT@[1306; 1312) + BREAK_EXPR@[1306; 1311) + BREAK_KW@[1306; 1311) "break" + SEMI@[1311; 1312) ";" + WHITESPACE@[1312; 1313) " " + R_CURLY@[1313; 1314) "}" + WHITESPACE@[1314; 1319) "\n " + R_CURLY@[1319; 1320) "}" + WHITESPACE@[1320; 1321) "\n" + R_CURLY@[1321; 1322) "}" + WHITESPACE@[1322; 1324) "\n\n" + FN_DEF@[1324; 1539) + FN_KW@[1324; 1326) "fn" + WHITESPACE@[1326; 1327) " " + NAME@[1327; 1334) + IDENT@[1327; 1334) "notsure" + PARAM_LIST@[1334; 1336) + L_PAREN@[1334; 1335) "(" + R_PAREN@[1335; 1336) ")" + WHITESPACE@[1336; 1337) " " + BLOCK_EXPR@[1337; 1539) + BLOCK@[1337; 1539) + L_CURLY@[1337; 1338) "{" + WHITESPACE@[1338; 1343) "\n " + LET_STMT@[1343; 1361) + LET_KW@[1343; 1346) "let" + WHITESPACE@[1346; 1347) " " + BIND_PAT@[1347; 1353) + MUT_KW@[1347; 1350) "mut" + WHITESPACE@[1350; 1351) " " + NAME@[1351; 1353) + IDENT@[1351; 1353) "_x" + COLON@[1353; 1354) ":" + WHITESPACE@[1354; 1355) " " + PATH_TYPE@[1355; 1360) + PATH@[1355; 1360) + PATH_SEGMENT@[1355; 1360) + NAME_REF@[1355; 1360) + IDENT@[1355; 1360) "isize" + SEMI@[1360; 1361) ";" + WHITESPACE@[1361; 1366) "\n " + LET_STMT@[1366; 1400) + LET_KW@[1366; 1369) "let" + WHITESPACE@[1369; 1370) " " + BIND_PAT@[1370; 1376) + MUT_KW@[1370; 1373) "mut" + WHITESPACE@[1373; 1374) " " + NAME@[1374; 1376) + IDENT@[1374; 1376) "_y" + WHITESPACE@[1376; 1377) " " + EQ@[1377; 1378) "=" + WHITESPACE@[1378; 1379) " " + BIN_EXPR@[1379; 1399) + PAREN_EXPR@[1379; 1387) + L_PAREN@[1379; 1380) "(" + BIN_EXPR@[1380; 1386) + PATH_EXPR@[1380; 1382) + PATH@[1380; 1382) + PATH_SEGMENT@[1380; 1382) + NAME_REF@[1380; 1382) + IDENT@[1380; 1382) "_x" + WHITESPACE@[1382; 1383) " " + EQ@[1383; 1384) "=" + WHITESPACE@[1384; 1385) " " + LITERAL@[1385; 1386) + INT_NUMBER@[1385; 1386) "0" + R_PAREN@[1386; 1387) ")" + WHITESPACE@[1387; 1388) " " + EQEQ@[1388; 1390) "==" + WHITESPACE@[1390; 1391) " " + PAREN_EXPR@[1391; 1399) + L_PAREN@[1391; 1392) "(" + BIN_EXPR@[1392; 1398) + PATH_EXPR@[1392; 1394) + PATH@[1392; 1394) + PATH_SEGMENT@[1392; 1394) + NAME_REF@[1392; 1394) + IDENT@[1392; 1394) "_x" + WHITESPACE@[1394; 1395) " " + EQ@[1395; 1396) "=" + WHITESPACE@[1396; 1397) " " + LITERAL@[1397; 1398) + INT_NUMBER@[1397; 1398) "0" + R_PAREN@[1398; 1399) ")" + SEMI@[1399; 1400) ";" + WHITESPACE@[1400; 1405) "\n " + LET_STMT@[1405; 1438) + LET_KW@[1405; 1408) "let" + WHITESPACE@[1408; 1409) " " + BIND_PAT@[1409; 1415) + MUT_KW@[1409; 1412) "mut" + WHITESPACE@[1412; 1413) " " + NAME@[1413; 1415) + IDENT@[1413; 1415) "_z" + WHITESPACE@[1415; 1416) " " + EQ@[1416; 1417) "=" + WHITESPACE@[1417; 1418) " " + BIN_EXPR@[1418; 1437) + PAREN_EXPR@[1418; 1426) + L_PAREN@[1418; 1419) "(" + BIN_EXPR@[1419; 1425) + PATH_EXPR@[1419; 1421) + PATH@[1419; 1421) + PATH_SEGMENT@[1419; 1421) + NAME_REF@[1419; 1421) + IDENT@[1419; 1421) "_x" + WHITESPACE@[1421; 1422) " " + EQ@[1422; 1423) "=" + WHITESPACE@[1423; 1424) " " + LITERAL@[1424; 1425) + INT_NUMBER@[1424; 1425) "0" + R_PAREN@[1425; 1426) ")" + WHITESPACE@[1426; 1427) " " + L_ANGLE@[1427; 1428) "<" + WHITESPACE@[1428; 1429) " " + PAREN_EXPR@[1429; 1437) + L_PAREN@[1429; 1430) "(" + BIN_EXPR@[1430; 1436) + PATH_EXPR@[1430; 1432) + PATH@[1430; 1432) + PATH_SEGMENT@[1430; 1432) + NAME_REF@[1430; 1432) + IDENT@[1430; 1432) "_x" + WHITESPACE@[1432; 1433) " " + EQ@[1433; 1434) "=" + WHITESPACE@[1434; 1435) " " + LITERAL@[1435; 1436) + INT_NUMBER@[1435; 1436) "0" + R_PAREN@[1436; 1437) ")" + SEMI@[1437; 1438) ";" + WHITESPACE@[1438; 1443) "\n " + LET_STMT@[1443; 1474) + LET_KW@[1443; 1446) "let" + WHITESPACE@[1446; 1447) " " + BIND_PAT@[1447; 1449) + NAME@[1447; 1449) + IDENT@[1447; 1449) "_a" + WHITESPACE@[1449; 1450) " " + EQ@[1450; 1451) "=" + WHITESPACE@[1451; 1452) " " + BIN_EXPR@[1452; 1473) + PAREN_EXPR@[1452; 1461) + L_PAREN@[1452; 1453) "(" + BIN_EXPR@[1453; 1460) + PATH_EXPR@[1453; 1455) + PATH@[1453; 1455) + PATH_SEGMENT@[1453; 1455) + NAME_REF@[1453; 1455) + IDENT@[1453; 1455) "_x" + WHITESPACE@[1455; 1456) " " + PLUSEQ@[1456; 1458) "+=" + WHITESPACE@[1458; 1459) " " + LITERAL@[1459; 1460) + INT_NUMBER@[1459; 1460) "0" + R_PAREN@[1460; 1461) ")" + WHITESPACE@[1461; 1462) " " + EQEQ@[1462; 1464) "==" + WHITESPACE@[1464; 1465) " " + PAREN_EXPR@[1465; 1473) + L_PAREN@[1465; 1466) "(" + BIN_EXPR@[1466; 1472) + PATH_EXPR@[1466; 1468) + PATH@[1466; 1468) + PATH_SEGMENT@[1466; 1468) + NAME_REF@[1466; 1468) + IDENT@[1466; 1468) "_x" + WHITESPACE@[1468; 1469) " " + EQ@[1469; 1470) "=" + WHITESPACE@[1470; 1471) " " + LITERAL@[1471; 1472) + INT_NUMBER@[1471; 1472) "0" + R_PAREN@[1472; 1473) ")" + SEMI@[1473; 1474) ";" + WHITESPACE@[1474; 1479) "\n " + LET_STMT@[1479; 1537) + LET_KW@[1479; 1482) "let" + WHITESPACE@[1482; 1483) " " + BIND_PAT@[1483; 1485) + NAME@[1483; 1485) + IDENT@[1483; 1485) "_b" + WHITESPACE@[1485; 1486) " " + EQ@[1486; 1487) "=" + WHITESPACE@[1487; 1488) " " + BIN_EXPR@[1488; 1536) + CALL_EXPR@[1488; 1510) + PATH_EXPR@[1488; 1492) + PATH@[1488; 1492) + PATH_SEGMENT@[1488; 1492) + NAME_REF@[1488; 1492) + IDENT@[1488; 1492) "swap" + ARG_LIST@[1492; 1510) + L_PAREN@[1492; 1493) "(" + REF_EXPR@[1493; 1500) + AMP@[1493; 1494) "&" + MUT_KW@[1494; 1497) "mut" + WHITESPACE@[1497; 1498) " " + PATH_EXPR@[1498; 1500) + PATH@[1498; 1500) + PATH_SEGMENT@[1498; 1500) + NAME_REF@[1498; 1500) + IDENT@[1498; 1500) "_y" + COMMA@[1500; 1501) "," + WHITESPACE@[1501; 1502) " " + REF_EXPR@[1502; 1509) + AMP@[1502; 1503) "&" + MUT_KW@[1503; 1506) "mut" + WHITESPACE@[1506; 1507) " " + PATH_EXPR@[1507; 1509) + PATH@[1507; 1509) + PATH_SEGMENT@[1507; 1509) + NAME_REF@[1507; 1509) + IDENT@[1507; 1509) "_z" + R_PAREN@[1509; 1510) ")" + WHITESPACE@[1510; 1511) " " + EQEQ@[1511; 1513) "==" + WHITESPACE@[1513; 1514) " " + CALL_EXPR@[1514; 1536) + PATH_EXPR@[1514; 1518) + PATH@[1514; 1518) + PATH_SEGMENT@[1514; 1518) + NAME_REF@[1514; 1518) + IDENT@[1514; 1518) "swap" + ARG_LIST@[1518; 1536) + L_PAREN@[1518; 1519) "(" + REF_EXPR@[1519; 1526) + AMP@[1519; 1520) "&" + MUT_KW@[1520; 1523) "mut" + WHITESPACE@[1523; 1524) " " + PATH_EXPR@[1524; 1526) + PATH@[1524; 1526) + PATH_SEGMENT@[1524; 1526) + NAME_REF@[1524; 1526) + IDENT@[1524; 1526) "_y" + COMMA@[1526; 1527) "," + WHITESPACE@[1527; 1528) " " + REF_EXPR@[1528; 1535) + AMP@[1528; 1529) "&" + MUT_KW@[1529; 1532) "mut" + WHITESPACE@[1532; 1533) " " + PATH_EXPR@[1533; 1535) + PATH@[1533; 1535) + PATH_SEGMENT@[1533; 1535) + NAME_REF@[1533; 1535) + IDENT@[1533; 1535) "_z" + R_PAREN@[1535; 1536) ")" + SEMI@[1536; 1537) ";" + WHITESPACE@[1537; 1538) "\n" + R_CURLY@[1538; 1539) "}" + WHITESPACE@[1539; 1541) "\n\n" + FN_DEF@[1541; 1741) + FN_KW@[1541; 1543) "fn" + WHITESPACE@[1543; 1544) " " + NAME@[1544; 1557) + IDENT@[1544; 1557) "canttouchthis" + PARAM_LIST@[1557; 1559) + L_PAREN@[1557; 1558) "(" + R_PAREN@[1558; 1559) ")" + WHITESPACE@[1559; 1560) " " + RET_TYPE@[1560; 1568) + THIN_ARROW@[1560; 1562) "->" + WHITESPACE@[1562; 1563) " " + PATH_TYPE@[1563; 1568) + PATH@[1563; 1568) + PATH_SEGMENT@[1563; 1568) + NAME_REF@[1563; 1568) + IDENT@[1563; 1568) "usize" + WHITESPACE@[1568; 1569) " " + BLOCK_EXPR@[1569; 1741) + BLOCK@[1569; 1741) + L_CURLY@[1569; 1570) "{" + WHITESPACE@[1570; 1575) "\n " + FN_DEF@[1575; 1598) + FN_KW@[1575; 1577) "fn" + WHITESPACE@[1577; 1578) " " + NAME@[1578; 1579) + IDENT@[1578; 1579) "p" + PARAM_LIST@[1579; 1581) + L_PAREN@[1579; 1580) "(" + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " + RET_TYPE@[1582; 1589) + THIN_ARROW@[1582; 1584) "->" + WHITESPACE@[1584; 1585) " " + PATH_TYPE@[1585; 1589) + PATH@[1585; 1589) + PATH_SEGMENT@[1585; 1589) + NAME_REF@[1585; 1589) + IDENT@[1585; 1589) "bool" + WHITESPACE@[1589; 1590) " " + BLOCK_EXPR@[1590; 1598) + BLOCK@[1590; 1598) + L_CURLY@[1590; 1591) "{" + WHITESPACE@[1591; 1592) " " + LITERAL@[1592; 1596) + TRUE_KW@[1592; 1596) "true" + WHITESPACE@[1596; 1597) " " + R_CURLY@[1597; 1598) "}" + WHITESPACE@[1598; 1603) "\n " + LET_STMT@[1603; 1648) + LET_KW@[1603; 1606) "let" + WHITESPACE@[1606; 1607) " " + BIND_PAT@[1607; 1609) + NAME@[1607; 1609) + IDENT@[1607; 1609) "_a" + WHITESPACE@[1609; 1610) " " + EQ@[1610; 1611) "=" + WHITESPACE@[1611; 1612) " " + PAREN_EXPR@[1612; 1647) + L_PAREN@[1612; 1613) "(" + BIN_EXPR@[1613; 1646) + MACRO_CALL@[1613; 1628) + PATH@[1613; 1619) + PATH_SEGMENT@[1613; 1619) + NAME_REF@[1613; 1619) + IDENT@[1613; 1619) "assert" + EXCL@[1619; 1620) "!" + TOKEN_TREE@[1620; 1628) + L_PAREN@[1620; 1621) "(" + TOKEN_TREE@[1621; 1627) + L_PAREN@[1621; 1622) "(" + TRUE_KW@[1622; 1626) "true" + R_PAREN@[1626; 1627) ")" + R_PAREN@[1627; 1628) ")" + WHITESPACE@[1628; 1629) " " + EQEQ@[1629; 1631) "==" + WHITESPACE@[1631; 1632) " " + PAREN_EXPR@[1632; 1646) + L_PAREN@[1632; 1633) "(" + MACRO_CALL@[1633; 1645) + PATH@[1633; 1639) + PATH_SEGMENT@[1633; 1639) + NAME_REF@[1633; 1639) + IDENT@[1633; 1639) "assert" + EXCL@[1639; 1640) "!" + TOKEN_TREE@[1640; 1645) + L_PAREN@[1640; 1641) "(" + IDENT@[1641; 1642) "p" + TOKEN_TREE@[1642; 1644) + L_PAREN@[1642; 1643) "(" + R_PAREN@[1643; 1644) ")" + R_PAREN@[1644; 1645) ")" + R_PAREN@[1645; 1646) ")" + R_PAREN@[1646; 1647) ")" + SEMI@[1647; 1648) ";" + WHITESPACE@[1648; 1653) "\n " + LET_STMT@[1653; 1685) + LET_KW@[1653; 1656) "let" + WHITESPACE@[1656; 1657) " " + BIND_PAT@[1657; 1659) + NAME@[1657; 1659) + IDENT@[1657; 1659) "_c" + WHITESPACE@[1659; 1660) " " + EQ@[1660; 1661) "=" + WHITESPACE@[1661; 1662) " " + PAREN_EXPR@[1662; 1684) + L_PAREN@[1662; 1663) "(" + BIN_EXPR@[1663; 1683) + MACRO_CALL@[1663; 1677) + PATH@[1663; 1669) + PATH_SEGMENT@[1663; 1669) + NAME_REF@[1663; 1669) + IDENT@[1663; 1669) "assert" + EXCL@[1669; 1670) "!" + TOKEN_TREE@[1670; 1677) + L_PAREN@[1670; 1671) "(" + TOKEN_TREE@[1671; 1676) + L_PAREN@[1671; 1672) "(" + IDENT@[1672; 1673) "p" + TOKEN_TREE@[1673; 1675) + L_PAREN@[1673; 1674) "(" + R_PAREN@[1674; 1675) ")" + R_PAREN@[1675; 1676) ")" + R_PAREN@[1676; 1677) ")" + WHITESPACE@[1677; 1678) " " + EQEQ@[1678; 1680) "==" + WHITESPACE@[1680; 1681) " " + TUPLE_EXPR@[1681; 1683) + L_PAREN@[1681; 1682) "(" + R_PAREN@[1682; 1683) ")" + R_PAREN@[1683; 1684) ")" + SEMI@[1684; 1685) ";" + WHITESPACE@[1685; 1690) "\n " + LET_STMT@[1690; 1739) + LET_KW@[1690; 1693) "let" + WHITESPACE@[1693; 1694) " " + BIND_PAT@[1694; 1696) + NAME@[1694; 1696) + IDENT@[1694; 1696) "_b" + COLON@[1696; 1697) ":" + WHITESPACE@[1697; 1698) " " + PATH_TYPE@[1698; 1702) + PATH@[1698; 1702) + PATH_SEGMENT@[1698; 1702) + NAME_REF@[1698; 1702) + IDENT@[1698; 1702) "bool" + WHITESPACE@[1702; 1703) " " + EQ@[1703; 1704) "=" + WHITESPACE@[1704; 1705) " " + PAREN_EXPR@[1705; 1738) + L_PAREN@[1705; 1706) "(" + BIN_EXPR@[1706; 1737) + MACRO_CALL@[1706; 1723) + PATH@[1706; 1713) + PATH_SEGMENT@[1706; 1713) + NAME_REF@[1706; 1713) + IDENT@[1706; 1713) "println" + EXCL@[1713; 1714) "!" + TOKEN_TREE@[1714; 1723) + L_PAREN@[1714; 1715) "(" + STRING@[1715; 1719) "\"{}\"" + COMMA@[1719; 1720) "," + WHITESPACE@[1720; 1721) " " + INT_NUMBER@[1721; 1722) "0" + R_PAREN@[1722; 1723) ")" + WHITESPACE@[1723; 1724) " " + EQEQ@[1724; 1726) "==" + WHITESPACE@[1726; 1727) " " + PAREN_EXPR@[1727; 1737) + L_PAREN@[1727; 1728) "(" + RETURN_EXPR@[1728; 1736) + RETURN_KW@[1728; 1734) "return" + WHITESPACE@[1734; 1735) " " + LITERAL@[1735; 1736) + INT_NUMBER@[1735; 1736) "0" + R_PAREN@[1736; 1737) ")" + R_PAREN@[1737; 1738) ")" + SEMI@[1738; 1739) ";" + WHITESPACE@[1739; 1740) "\n" + R_CURLY@[1740; 1741) "}" + WHITESPACE@[1741; 1743) "\n\n" + FN_DEF@[1743; 1904) + FN_KW@[1743; 1745) "fn" + WHITESPACE@[1745; 1746) " " + NAME@[1746; 1755) + IDENT@[1746; 1755) "angrydome" + PARAM_LIST@[1755; 1757) + L_PAREN@[1755; 1756) "(" + R_PAREN@[1756; 1757) ")" + WHITESPACE@[1757; 1758) " " + BLOCK_EXPR@[1758; 1904) + BLOCK@[1758; 1904) + L_CURLY@[1758; 1759) "{" + WHITESPACE@[1759; 1764) "\n " + EXPR_STMT@[1764; 1785) + LOOP_EXPR@[1764; 1785) + LOOP_KW@[1764; 1768) "loop" + WHITESPACE@[1768; 1769) " " + BLOCK_EXPR@[1769; 1785) + BLOCK@[1769; 1785) + L_CURLY@[1769; 1770) "{" + WHITESPACE@[1770; 1771) " " + IF_EXPR@[1771; 1783) + IF_KW@[1771; 1773) "if" + WHITESPACE@[1773; 1774) " " + CONDITION@[1774; 1779) + BREAK_EXPR@[1774; 1779) + BREAK_KW@[1774; 1779) "break" + WHITESPACE@[1779; 1780) " " + BLOCK_EXPR@[1780; 1783) + BLOCK@[1780; 1783) + L_CURLY@[1780; 1781) "{" + WHITESPACE@[1781; 1782) " " + R_CURLY@[1782; 1783) "}" + WHITESPACE@[1783; 1784) " " + R_CURLY@[1784; 1785) "}" + WHITESPACE@[1785; 1790) "\n " + LET_STMT@[1790; 1804) + LET_KW@[1790; 1793) "let" + WHITESPACE@[1793; 1794) " " + BIND_PAT@[1794; 1799) + MUT_KW@[1794; 1797) "mut" + WHITESPACE@[1797; 1798) " " + NAME@[1798; 1799) + IDENT@[1798; 1799) "i" + WHITESPACE@[1799; 1800) " " + EQ@[1800; 1801) "=" + WHITESPACE@[1801; 1802) " " + LITERAL@[1802; 1803) + INT_NUMBER@[1802; 1803) "0" + SEMI@[1803; 1804) ";" + WHITESPACE@[1804; 1809) "\n " + LOOP_EXPR@[1809; 1902) + LOOP_KW@[1809; 1813) "loop" + WHITESPACE@[1813; 1814) " " + BLOCK_EXPR@[1814; 1902) + BLOCK@[1814; 1902) + L_CURLY@[1814; 1815) "{" + WHITESPACE@[1815; 1816) " " + EXPR_STMT@[1816; 1823) + BIN_EXPR@[1816; 1822) + PATH_EXPR@[1816; 1817) + PATH@[1816; 1817) + PATH_SEGMENT@[1816; 1817) + NAME_REF@[1816; 1817) + IDENT@[1816; 1817) "i" + WHITESPACE@[1817; 1818) " " + PLUSEQ@[1818; 1820) "+=" + WHITESPACE@[1820; 1821) " " + LITERAL@[1821; 1822) + INT_NUMBER@[1821; 1822) "1" + SEMI@[1822; 1823) ";" + WHITESPACE@[1823; 1824) " " + EXPR_STMT@[1824; 1887) + IF_EXPR@[1824; 1887) + IF_KW@[1824; 1826) "if" + WHITESPACE@[1826; 1827) " " + CONDITION@[1827; 1833) + BIN_EXPR@[1827; 1833) + PATH_EXPR@[1827; 1828) + PATH@[1827; 1828) + PATH_SEGMENT@[1827; 1828) + NAME_REF@[1827; 1828) + IDENT@[1827; 1828) "i" + WHITESPACE@[1828; 1829) " " + EQEQ@[1829; 1831) "==" + WHITESPACE@[1831; 1832) " " + LITERAL@[1832; 1833) + INT_NUMBER@[1832; 1833) "1" + WHITESPACE@[1833; 1834) " " + BLOCK_EXPR@[1834; 1887) + BLOCK@[1834; 1887) + L_CURLY@[1834; 1835) "{" + WHITESPACE@[1835; 1836) " " + MATCH_EXPR@[1836; 1885) + MATCH_KW@[1836; 1841) "match" + WHITESPACE@[1841; 1842) " " + PAREN_EXPR@[1842; 1852) + L_PAREN@[1842; 1843) "(" + CONTINUE_EXPR@[1843; 1851) + CONTINUE_KW@[1843; 1851) "continue" + R_PAREN@[1851; 1852) ")" + WHITESPACE@[1852; 1853) " " + MATCH_ARM_LIST@[1853; 1885) + L_CURLY@[1853; 1854) "{" + WHITESPACE@[1854; 1855) " " + MATCH_ARM@[1855; 1863) + LITERAL_PAT@[1855; 1856) + LITERAL@[1855; 1856) + INT_NUMBER@[1855; 1856) "1" + WHITESPACE@[1856; 1857) " " + FAT_ARROW@[1857; 1859) "=>" + WHITESPACE@[1859; 1860) " " + BLOCK_EXPR@[1860; 1863) + BLOCK@[1860; 1863) + L_CURLY@[1860; 1861) "{" + WHITESPACE@[1861; 1862) " " + R_CURLY@[1862; 1863) "}" + COMMA@[1863; 1864) "," + WHITESPACE@[1864; 1865) " " + MATCH_ARM@[1865; 1883) + PLACEHOLDER_PAT@[1865; 1866) + UNDERSCORE@[1865; 1866) "_" + WHITESPACE@[1866; 1867) " " + FAT_ARROW@[1867; 1869) "=>" + WHITESPACE@[1869; 1870) " " + MACRO_CALL@[1870; 1883) + PATH@[1870; 1875) + PATH_SEGMENT@[1870; 1875) + NAME_REF@[1870; 1875) + IDENT@[1870; 1875) "panic" + EXCL@[1875; 1876) "!" + TOKEN_TREE@[1876; 1883) + L_PAREN@[1876; 1877) "(" + STRING@[1877; 1882) "\"wat\"" + R_PAREN@[1882; 1883) ")" + WHITESPACE@[1883; 1884) " " + R_CURLY@[1884; 1885) "}" + WHITESPACE@[1885; 1886) " " + R_CURLY@[1886; 1887) "}" + WHITESPACE@[1887; 1894) "\n " + EXPR_STMT@[1894; 1900) + BREAK_EXPR@[1894; 1899) + BREAK_KW@[1894; 1899) "break" + SEMI@[1899; 1900) ";" + WHITESPACE@[1900; 1901) " " + R_CURLY@[1901; 1902) "}" + WHITESPACE@[1902; 1903) "\n" + R_CURLY@[1903; 1904) "}" + WHITESPACE@[1904; 1906) "\n\n" + FN_DEF@[1906; 1960) + FN_KW@[1906; 1908) "fn" + WHITESPACE@[1908; 1909) " " + NAME@[1909; 1921) + IDENT@[1909; 1921) "evil_lincoln" + PARAM_LIST@[1921; 1923) + L_PAREN@[1921; 1922) "(" + R_PAREN@[1922; 1923) ")" + WHITESPACE@[1923; 1924) " " + BLOCK_EXPR@[1924; 1960) + BLOCK@[1924; 1960) + L_CURLY@[1924; 1925) "{" + WHITESPACE@[1925; 1926) " " + LET_STMT@[1926; 1958) + LET_KW@[1926; 1929) "let" + WHITESPACE@[1929; 1930) " " + BIND_PAT@[1930; 1935) + NAME@[1930; 1935) + IDENT@[1930; 1935) "_evil" + WHITESPACE@[1935; 1936) " " + EQ@[1936; 1937) "=" + WHITESPACE@[1937; 1938) " " + MACRO_CALL@[1938; 1957) + PATH@[1938; 1945) + PATH_SEGMENT@[1938; 1945) + NAME_REF@[1938; 1945) + IDENT@[1938; 1945) "println" + EXCL@[1945; 1946) "!" + TOKEN_TREE@[1946; 1957) + L_PAREN@[1946; 1947) "(" + STRING@[1947; 1956) "\"lincoln\"" + R_PAREN@[1956; 1957) ")" + SEMI@[1957; 1958) ";" + WHITESPACE@[1958; 1959) " " + R_CURLY@[1959; 1960) "}" + WHITESPACE@[1960; 1962) "\n\n" + FN_DEF@[1962; 2198) + FN_KW@[1962; 1964) "fn" + WHITESPACE@[1964; 1965) " " + NAME@[1965; 1969) + IDENT@[1965; 1969) "dots" + PARAM_LIST@[1969; 1971) + L_PAREN@[1969; 1970) "(" + R_PAREN@[1970; 1971) ")" + WHITESPACE@[1971; 1972) " " + BLOCK_EXPR@[1972; 2198) + BLOCK@[1972; 2198) + L_CURLY@[1972; 1973) "{" + WHITESPACE@[1973; 1978) "\n " + EXPR_STMT@[1978; 2196) + MACRO_CALL@[1978; 2195) + PATH@[1978; 1987) + PATH_SEGMENT@[1978; 1987) + NAME_REF@[1978; 1987) + IDENT@[1978; 1987) "assert_eq" + EXCL@[1987; 1988) "!" + TOKEN_TREE@[1988; 2195) + L_PAREN@[1988; 1989) "(" + IDENT@[1989; 1995) "String" + COLON@[1995; 1996) ":" + COLON@[1996; 1997) ":" + IDENT@[1997; 2001) "from" + TOKEN_TREE@[2001; 2055) + L_PAREN@[2001; 2002) "(" + STRING@[2002; 2054) "\".................... ..." + R_PAREN@[2054; 2055) ")" + COMMA@[2055; 2056) "," + WHITESPACE@[2056; 2072) "\n " + IDENT@[2072; 2078) "format" + EXCL@[2078; 2079) "!" + TOKEN_TREE@[2079; 2194) + L_PAREN@[2079; 2080) "(" + STRING@[2080; 2086) "\"{:?}\"" + COMMA@[2086; 2087) "," + WHITESPACE@[2087; 2088) " " + DOT@[2088; 2089) "." + DOT@[2089; 2090) "." + WHITESPACE@[2090; 2091) " " + DOT@[2091; 2092) "." + DOT@[2092; 2093) "." + WHITESPACE@[2093; 2094) " " + DOT@[2094; 2095) "." + DOT@[2095; 2096) "." + WHITESPACE@[2096; 2097) " " + DOT@[2097; 2098) "." + DOT@[2098; 2099) "." + WHITESPACE@[2099; 2100) " " + DOT@[2100; 2101) "." + DOT@[2101; 2102) "." + WHITESPACE@[2102; 2103) " " + DOT@[2103; 2104) "." + DOT@[2104; 2105) "." + WHITESPACE@[2105; 2106) " " + DOT@[2106; 2107) "." + DOT@[2107; 2108) "." + WHITESPACE@[2108; 2109) " " + DOT@[2109; 2110) "." + DOT@[2110; 2111) "." + WHITESPACE@[2111; 2112) " " + DOT@[2112; 2113) "." + DOT@[2113; 2114) "." + WHITESPACE@[2114; 2115) " " + DOT@[2115; 2116) "." + DOT@[2116; 2117) "." + WHITESPACE@[2117; 2118) " " + DOT@[2118; 2119) "." + DOT@[2119; 2120) "." + WHITESPACE@[2120; 2121) " " + DOT@[2121; 2122) "." + DOT@[2122; 2123) "." + WHITESPACE@[2123; 2124) " " + DOT@[2124; 2125) "." + DOT@[2125; 2126) "." + WHITESPACE@[2126; 2158) "\n ..." + DOT@[2158; 2159) "." + DOT@[2159; 2160) "." + WHITESPACE@[2160; 2161) " " + DOT@[2161; 2162) "." + DOT@[2162; 2163) "." + WHITESPACE@[2163; 2164) " " + DOT@[2164; 2165) "." + DOT@[2165; 2166) "." + WHITESPACE@[2166; 2167) " " + DOT@[2167; 2168) "." + DOT@[2168; 2169) "." + WHITESPACE@[2169; 2170) " " + DOT@[2170; 2171) "." + DOT@[2171; 2172) "." + WHITESPACE@[2172; 2173) " " + DOT@[2173; 2174) "." + DOT@[2174; 2175) "." + WHITESPACE@[2175; 2176) " " + DOT@[2176; 2177) "." + DOT@[2177; 2178) "." + WHITESPACE@[2178; 2179) " " + DOT@[2179; 2180) "." + DOT@[2180; 2181) "." + WHITESPACE@[2181; 2182) " " + DOT@[2182; 2183) "." + DOT@[2183; 2184) "." + WHITESPACE@[2184; 2185) " " + DOT@[2185; 2186) "." + DOT@[2186; 2187) "." + WHITESPACE@[2187; 2188) " " + DOT@[2188; 2189) "." + DOT@[2189; 2190) "." + WHITESPACE@[2190; 2191) " " + DOT@[2191; 2192) "." + DOT@[2192; 2193) "." + R_PAREN@[2193; 2194) ")" + R_PAREN@[2194; 2195) ")" + SEMI@[2195; 2196) ";" + WHITESPACE@[2196; 2197) "\n" + R_CURLY@[2197; 2198) "}" + WHITESPACE@[2198; 2200) "\n\n" + FN_DEF@[2200; 2693) + FN_KW@[2200; 2202) "fn" + WHITESPACE@[2202; 2203) " " + NAME@[2203; 2205) + IDENT@[2203; 2205) "u8" + PARAM_LIST@[2205; 2213) + L_PAREN@[2205; 2206) "(" + PARAM@[2206; 2212) + BIND_PAT@[2206; 2208) + NAME@[2206; 2208) + IDENT@[2206; 2208) "u8" + COLON@[2208; 2209) ":" + WHITESPACE@[2209; 2210) " " + PATH_TYPE@[2210; 2212) + PATH@[2210; 2212) + PATH_SEGMENT@[2210; 2212) + NAME_REF@[2210; 2212) + IDENT@[2210; 2212) "u8" + R_PAREN@[2212; 2213) ")" + WHITESPACE@[2213; 2214) " " + BLOCK_EXPR@[2214; 2693) + BLOCK@[2214; 2693) + L_CURLY@[2214; 2215) "{" + WHITESPACE@[2215; 2220) "\n " + IF_EXPR@[2220; 2691) + IF_KW@[2220; 2222) "if" + WHITESPACE@[2222; 2223) " " + CONDITION@[2223; 2232) + BIN_EXPR@[2223; 2232) + PATH_EXPR@[2223; 2225) + PATH@[2223; 2225) + PATH_SEGMENT@[2223; 2225) + NAME_REF@[2223; 2225) + IDENT@[2223; 2225) "u8" + WHITESPACE@[2225; 2226) " " + NEQ@[2226; 2228) "!=" + WHITESPACE@[2228; 2229) " " + LITERAL@[2229; 2232) + INT_NUMBER@[2229; 2232) "0u8" + WHITESPACE@[2232; 2233) " " + BLOCK_EXPR@[2233; 2691) + BLOCK@[2233; 2691) + L_CURLY@[2233; 2234) "{" + WHITESPACE@[2234; 2243) "\n " + EXPR_STMT@[2243; 2685) + MACRO_CALL@[2243; 2684) + PATH@[2243; 2252) + PATH_SEGMENT@[2243; 2252) + NAME_REF@[2243; 2252) + IDENT@[2243; 2252) "assert_eq" + EXCL@[2252; 2253) "!" + TOKEN_TREE@[2253; 2684) + L_PAREN@[2253; 2254) "(" + INT_NUMBER@[2254; 2257) "8u8" + COMMA@[2257; 2258) "," + WHITESPACE@[2258; 2259) " " + TOKEN_TREE@[2259; 2683) + L_CURLY@[2259; 2260) "{" + WHITESPACE@[2260; 2273) "\n " + IDENT@[2273; 2284) "macro_rules" + EXCL@[2284; 2285) "!" + WHITESPACE@[2285; 2286) " " + IDENT@[2286; 2288) "u8" + WHITESPACE@[2288; 2289) " " + TOKEN_TREE@[2289; 2567) + L_CURLY@[2289; 2290) "{" + WHITESPACE@[2290; 2307) "\n " + TOKEN_TREE@[2307; 2311) + L_PAREN@[2307; 2308) "(" + IDENT@[2308; 2310) "u8" + R_PAREN@[2310; 2311) ")" + WHITESPACE@[2311; 2312) " " + EQ@[2312; 2313) "=" + R_ANGLE@[2313; 2314) ">" + WHITESPACE@[2314; 2315) " " + TOKEN_TREE@[2315; 2552) + L_CURLY@[2315; 2316) "{" + WHITESPACE@[2316; 2337) "\n " + MOD_KW@[2337; 2340) "mod" + WHITESPACE@[2340; 2341) " " + IDENT@[2341; 2343) "u8" + WHITESPACE@[2343; 2344) " " + TOKEN_TREE@[2344; 2534) + L_CURLY@[2344; 2345) "{" + WHITESPACE@[2345; 2370) "\n ..." + PUB_KW@[2370; 2373) "pub" + WHITESPACE@[2373; 2374) " " + FN_KW@[2374; 2376) "fn" + WHITESPACE@[2376; 2377) " " + IDENT@[2377; 2379) "u8" + L_ANGLE@[2379; 2380) "<" + LIFETIME@[2380; 2383) "\'u8" + COLON@[2383; 2384) ":" + WHITESPACE@[2384; 2385) " " + LIFETIME@[2385; 2388) "\'u8" + WHITESPACE@[2388; 2389) " " + PLUS@[2389; 2390) "+" + WHITESPACE@[2390; 2391) " " + LIFETIME@[2391; 2394) "\'u8" + R_ANGLE@[2394; 2395) ">" + TOKEN_TREE@[2395; 2408) + L_PAREN@[2395; 2396) "(" + IDENT@[2396; 2398) "u8" + COLON@[2398; 2399) ":" + WHITESPACE@[2399; 2400) " " + AMP@[2400; 2401) "&" + LIFETIME@[2401; 2404) "\'u8" + WHITESPACE@[2404; 2405) " " + IDENT@[2405; 2407) "u8" + R_PAREN@[2407; 2408) ")" + WHITESPACE@[2408; 2409) " " + MINUS@[2409; 2410) "-" + R_ANGLE@[2410; 2411) ">" + WHITESPACE@[2411; 2412) " " + AMP@[2412; 2413) "&" + LIFETIME@[2413; 2416) "\'u8" + WHITESPACE@[2416; 2417) " " + IDENT@[2417; 2419) "u8" + WHITESPACE@[2419; 2420) " " + TOKEN_TREE@[2420; 2512) + L_CURLY@[2420; 2421) "{" + WHITESPACE@[2421; 2450) "\n ..." + STRING@[2450; 2454) "\"u8\"" + SEMI@[2454; 2455) ";" + WHITESPACE@[2455; 2484) "\n ..." + IDENT@[2484; 2486) "u8" + WHITESPACE@[2486; 2511) "\n ..." + R_CURLY@[2511; 2512) "}" + WHITESPACE@[2512; 2533) "\n " + R_CURLY@[2533; 2534) "}" + WHITESPACE@[2534; 2551) "\n " + R_CURLY@[2551; 2552) "}" + SEMI@[2552; 2553) ";" + WHITESPACE@[2553; 2566) "\n " + R_CURLY@[2566; 2567) "}" + WHITESPACE@[2567; 2581) "\n\n " + IDENT@[2581; 2583) "u8" + EXCL@[2583; 2584) "!" + TOKEN_TREE@[2584; 2588) + L_PAREN@[2584; 2585) "(" + IDENT@[2585; 2587) "u8" + R_PAREN@[2587; 2588) ")" + SEMI@[2588; 2589) ";" + WHITESPACE@[2589; 2602) "\n " + LET_KW@[2602; 2605) "let" + WHITESPACE@[2605; 2606) " " + AMP@[2606; 2607) "&" + IDENT@[2607; 2609) "u8" + COLON@[2609; 2610) ":" + WHITESPACE@[2610; 2611) " " + AMP@[2611; 2612) "&" + IDENT@[2612; 2614) "u8" + WHITESPACE@[2614; 2615) " " + EQ@[2615; 2616) "=" + WHITESPACE@[2616; 2617) " " + IDENT@[2617; 2619) "u8" + COLON@[2619; 2620) ":" + COLON@[2620; 2621) ":" + IDENT@[2621; 2623) "u8" + TOKEN_TREE@[2623; 2629) + L_PAREN@[2623; 2624) "(" + AMP@[2624; 2625) "&" + INT_NUMBER@[2625; 2628) "8u8" + R_PAREN@[2628; 2629) ")" + SEMI@[2629; 2630) ";" + WHITESPACE@[2630; 2643) "\n " + CRATE_KW@[2643; 2648) "crate" + COLON@[2648; 2649) ":" + COLON@[2649; 2650) ":" + IDENT@[2650; 2652) "u8" + TOKEN_TREE@[2652; 2657) + L_PAREN@[2652; 2653) "(" + INT_NUMBER@[2653; 2656) "0u8" + R_PAREN@[2656; 2657) ")" + SEMI@[2657; 2658) ";" + WHITESPACE@[2658; 2671) "\n " + IDENT@[2671; 2673) "u8" + WHITESPACE@[2673; 2682) "\n " + R_CURLY@[2682; 2683) "}" + R_PAREN@[2683; 2684) ")" + SEMI@[2684; 2685) ";" + WHITESPACE@[2685; 2690) "\n " + R_CURLY@[2690; 2691) "}" + WHITESPACE@[2691; 2692) "\n" + R_CURLY@[2692; 2693) "}" + WHITESPACE@[2693; 2695) "\n\n" + FN_DEF@[2695; 2832) + FN_KW@[2695; 2697) "fn" + WHITESPACE@[2697; 2698) " " + NAME@[2698; 2703) + IDENT@[2698; 2703) "fishy" + PARAM_LIST@[2703; 2705) + L_PAREN@[2703; 2704) "(" + R_PAREN@[2704; 2705) ")" + WHITESPACE@[2705; 2706) " " + BLOCK_EXPR@[2706; 2832) + BLOCK@[2706; 2832) + L_CURLY@[2706; 2707) "{" + WHITESPACE@[2707; 2712) "\n " + EXPR_STMT@[2712; 2830) + MACRO_CALL@[2712; 2829) + PATH@[2712; 2721) + PATH_SEGMENT@[2712; 2721) + NAME_REF@[2712; 2721) + IDENT@[2712; 2721) "assert_eq" + EXCL@[2721; 2722) "!" + TOKEN_TREE@[2722; 2829) + L_PAREN@[2722; 2723) "(" + IDENT@[2723; 2729) "String" + COLON@[2729; 2730) ":" + COLON@[2730; 2731) ":" + IDENT@[2731; 2735) "from" + TOKEN_TREE@[2735; 2742) + L_PAREN@[2735; 2736) "(" + STRING@[2736; 2741) "\"><>\"" + R_PAREN@[2741; 2742) ")" + COMMA@[2742; 2743) "," + WHITESPACE@[2743; 2759) "\n " + IDENT@[2759; 2765) "String" + COLON@[2765; 2766) ":" + COLON@[2766; 2767) ":" + L_ANGLE@[2767; 2768) "<" + R_ANGLE@[2768; 2769) ">" + COLON@[2769; 2770) ":" + COLON@[2770; 2771) ":" + IDENT@[2771; 2775) "from" + COLON@[2775; 2776) ":" + COLON@[2776; 2777) ":" + L_ANGLE@[2777; 2778) "<" + R_ANGLE@[2778; 2779) ">" + TOKEN_TREE@[2779; 2786) + L_PAREN@[2779; 2780) "(" + STRING@[2780; 2785) "\"><>\"" + R_PAREN@[2785; 2786) ")" + DOT@[2786; 2787) "." + IDENT@[2787; 2792) "chars" + COLON@[2792; 2793) ":" + COLON@[2793; 2794) ":" + L_ANGLE@[2794; 2795) "<" + R_ANGLE@[2795; 2796) ">" + TOKEN_TREE@[2796; 2798) + L_PAREN@[2796; 2797) "(" + R_PAREN@[2797; 2798) ")" + DOT@[2798; 2799) "." + IDENT@[2799; 2802) "rev" + COLON@[2802; 2803) ":" + COLON@[2803; 2804) ":" + L_ANGLE@[2804; 2805) "<" + R_ANGLE@[2805; 2806) ">" + TOKEN_TREE@[2806; 2808) + L_PAREN@[2806; 2807) "(" + R_PAREN@[2807; 2808) ")" + DOT@[2808; 2809) "." + IDENT@[2809; 2816) "collect" + COLON@[2816; 2817) ":" + COLON@[2817; 2818) ":" + L_ANGLE@[2818; 2819) "<" + IDENT@[2819; 2825) "String" + R_ANGLE@[2825; 2826) ">" + TOKEN_TREE@[2826; 2828) + L_PAREN@[2826; 2827) "(" + R_PAREN@[2827; 2828) ")" + R_PAREN@[2828; 2829) ")" + SEMI@[2829; 2830) ";" + WHITESPACE@[2830; 2831) "\n" + R_CURLY@[2831; 2832) "}" + WHITESPACE@[2832; 2834) "\n\n" + FN_DEF@[2834; 2906) + FN_KW@[2834; 2836) "fn" + WHITESPACE@[2836; 2837) " " + NAME@[2837; 2842) + IDENT@[2837; 2842) "union" + PARAM_LIST@[2842; 2844) + L_PAREN@[2842; 2843) "(" + R_PAREN@[2843; 2844) ")" + WHITESPACE@[2844; 2845) " " + BLOCK_EXPR@[2845; 2906) + BLOCK@[2845; 2906) + L_CURLY@[2845; 2846) "{" + WHITESPACE@[2846; 2851) "\n " + UNION_DEF@[2851; 2904) + UNION_KW@[2851; 2856) "union" + WHITESPACE@[2856; 2857) " " + NAME@[2857; 2862) + IDENT@[2857; 2862) "union" + TYPE_PARAM_LIST@[2862; 2870) + L_ANGLE@[2862; 2863) "<" + LIFETIME_PARAM@[2863; 2869) + LIFETIME@[2863; 2869) "\'union" + R_ANGLE@[2869; 2870) ">" + WHITESPACE@[2870; 2871) " " + RECORD_FIELD_DEF_LIST@[2871; 2904) + L_CURLY@[2871; 2872) "{" + WHITESPACE@[2872; 2873) " " + RECORD_FIELD_DEF@[2873; 2901) + NAME@[2873; 2878) + IDENT@[2873; 2878) "union" + COLON@[2878; 2879) ":" + WHITESPACE@[2879; 2880) " " + REFERENCE_TYPE@[2880; 2901) + AMP@[2880; 2881) "&" + LIFETIME@[2881; 2887) "\'union" + WHITESPACE@[2887; 2888) " " + PATH_TYPE@[2888; 2901) + PATH@[2888; 2901) + PATH_SEGMENT@[2888; 2901) + NAME_REF@[2888; 2893) + IDENT@[2888; 2893) "union" + TYPE_ARG_LIST@[2893; 2901) + L_ANGLE@[2893; 2894) "<" + LIFETIME_ARG@[2894; 2900) + LIFETIME@[2894; 2900) "\'union" + R_ANGLE@[2900; 2901) ">" + COMMA@[2901; 2902) "," + WHITESPACE@[2902; 2903) " " + R_CURLY@[2903; 2904) "}" + WHITESPACE@[2904; 2905) "\n" + R_CURLY@[2905; 2906) "}" + WHITESPACE@[2906; 2908) "\n\n" + FN_DEF@[2908; 3042) + FN_KW@[2908; 2910) "fn" + WHITESPACE@[2910; 2911) " " + NAME@[2911; 2929) + IDENT@[2911; 2929) "special_characters" + PARAM_LIST@[2929; 2931) + L_PAREN@[2929; 2930) "(" + R_PAREN@[2930; 2931) ")" + WHITESPACE@[2931; 2932) " " + BLOCK_EXPR@[2932; 3042) + BLOCK@[2932; 3042) + L_CURLY@[2932; 2933) "{" + WHITESPACE@[2933; 2938) "\n " + LET_STMT@[2938; 3021) + LET_KW@[2938; 2941) "let" + WHITESPACE@[2941; 2942) " " + BIND_PAT@[2942; 2945) + NAME@[2942; 2945) + IDENT@[2942; 2945) "val" + WHITESPACE@[2945; 2946) " " + EQ@[2946; 2947) "=" + WHITESPACE@[2947; 2948) " " + PREFIX_EXPR@[2948; 3013) + EXCL@[2948; 2949) "!" + PAREN_EXPR@[2949; 3013) + L_PAREN@[2949; 2950) "(" + BIN_EXPR@[2950; 3012) + CALL_EXPR@[2950; 2995) + PAREN_EXPR@[2950; 2971) + L_PAREN@[2950; 2951) "(" + LAMBDA_EXPR@[2951; 2970) + PARAM_LIST@[2951; 2968) + PIPE@[2951; 2952) "|" + PARAM@[2952; 2962) + TUPLE_PAT@[2952; 2956) + L_PAREN@[2952; 2953) "(" + DOT_DOT_PAT@[2953; 2955) + DOTDOT@[2953; 2955) ".." + R_PAREN@[2955; 2956) ")" + COLON@[2956; 2957) ":" + TUPLE_TYPE@[2957; 2962) + L_PAREN@[2957; 2958) "(" + PLACEHOLDER_TYPE@[2958; 2959) + UNDERSCORE@[2958; 2959) "_" + COMMA@[2959; 2960) "," + PLACEHOLDER_TYPE@[2960; 2961) + UNDERSCORE@[2960; 2961) "_" + R_PAREN@[2961; 2962) ")" + COMMA@[2962; 2963) "," + PARAM@[2963; 2967) + BIND_PAT@[2963; 2967) + NAME@[2963; 2965) + IDENT@[2963; 2965) "__" + AT@[2965; 2966) "@" + PLACEHOLDER_PAT@[2966; 2967) + UNDERSCORE@[2966; 2967) "_" + PIPE@[2967; 2968) "|" + PATH_EXPR@[2968; 2970) + PATH@[2968; 2970) + PATH_SEGMENT@[2968; 2970) + NAME_REF@[2968; 2970) + IDENT@[2968; 2970) "__" + R_PAREN@[2970; 2971) ")" + ARG_LIST@[2971; 2995) + L_PAREN@[2971; 2972) "(" + TUPLE_EXPR@[2972; 2987) + L_PAREN@[2972; 2973) "(" + REF_EXPR@[2973; 2979) + AMP@[2973; 2974) "&" + PREFIX_EXPR@[2974; 2979) + STAR@[2974; 2975) "*" + LITERAL@[2975; 2979) + STRING@[2975; 2979) "\"\\\\\"" + COMMA@[2979; 2980) "," + LITERAL@[2980; 2986) + CHAR@[2980; 2986) "\'🤔\'" + R_PAREN@[2986; 2987) ")" + COMMENT@[2987; 2991) "/**/" + COMMA@[2991; 2992) "," + BLOCK_EXPR@[2992; 2994) + BLOCK@[2992; 2994) + L_CURLY@[2992; 2993) "{" + R_CURLY@[2993; 2994) "}" + R_PAREN@[2994; 2995) ")" + EQEQ@[2995; 2997) "==" + BLOCK_EXPR@[2997; 3012) + BLOCK@[2997; 3012) + L_CURLY@[2997; 2998) "{" + EXPR_STMT@[2998; 3011) + REF_EXPR@[2998; 3010) + AMP@[2998; 2999) "&" + INDEX_EXPR@[2999; 3010) + ARRAY_EXPR@[2999; 3006) + L_BRACK@[2999; 3000) "[" + RANGE_EXPR@[3000; 3005) + DOTDOTEQ@[3000; 3003) "..=" + RANGE_EXPR@[3003; 3005) + DOTDOT@[3003; 3005) ".." + R_BRACK@[3005; 3006) "]" + L_BRACK@[3006; 3007) "[" + RANGE_EXPR@[3007; 3009) + DOTDOT@[3007; 3009) ".." + R_BRACK@[3009; 3010) "]" + SEMI@[3010; 3011) ";" + R_CURLY@[3011; 3012) "}" + R_PAREN@[3012; 3013) ")" + COMMENT@[3013; 3015) "//" + WHITESPACE@[3015; 3020) "\n " + SEMI@[3020; 3021) ";" + WHITESPACE@[3021; 3026) "\n " + EXPR_STMT@[3026; 3040) + MACRO_CALL@[3026; 3039) + PATH@[3026; 3032) + PATH_SEGMENT@[3026; 3032) + NAME_REF@[3026; 3032) + IDENT@[3026; 3032) "assert" + EXCL@[3032; 3033) "!" + TOKEN_TREE@[3033; 3039) + L_PAREN@[3033; 3034) "(" + EXCL@[3034; 3035) "!" + IDENT@[3035; 3038) "val" + R_PAREN@[3038; 3039) ")" + SEMI@[3039; 3040) ";" + WHITESPACE@[3040; 3041) "\n" + R_CURLY@[3041; 3042) "}" + WHITESPACE@[3042; 3044) "\n\n" + FN_DEF@[3044; 3514) + FN_KW@[3044; 3046) "fn" + WHITESPACE@[3046; 3047) " " + NAME@[3047; 3057) + IDENT@[3047; 3057) "punch_card" + PARAM_LIST@[3057; 3059) + L_PAREN@[3057; 3058) "(" + R_PAREN@[3058; 3059) ")" + WHITESPACE@[3059; 3060) " " + RET_TYPE@[3060; 3083) + THIN_ARROW@[3060; 3062) "->" + WHITESPACE@[3062; 3063) " " + IMPL_TRAIT_TYPE@[3063; 3083) + IMPL_KW@[3063; 3067) "impl" + WHITESPACE@[3067; 3068) " " + TYPE_BOUND_LIST@[3068; 3083) + TYPE_BOUND@[3068; 3083) + PATH_TYPE@[3068; 3083) + PATH@[3068; 3083) + PATH@[3068; 3076) + PATH@[3068; 3071) + PATH_SEGMENT@[3068; 3071) + NAME_REF@[3068; 3071) + IDENT@[3068; 3071) "std" + COLONCOLON@[3071; 3073) "::" + PATH_SEGMENT@[3073; 3076) + NAME_REF@[3073; 3076) + IDENT@[3073; 3076) "fmt" + COLONCOLON@[3076; 3078) "::" + PATH_SEGMENT@[3078; 3083) + NAME_REF@[3078; 3083) + IDENT@[3078; 3083) "Debug" + WHITESPACE@[3083; 3084) " " + BLOCK_EXPR@[3084; 3514) + BLOCK@[3084; 3514) + L_CURLY@[3084; 3085) "{" + WHITESPACE@[3085; 3090) "\n " + RANGE_EXPR@[3090; 3512) + DOTDOTEQ@[3090; 3093) "..=" + RANGE_EXPR@[3093; 3512) + DOTDOTEQ@[3093; 3096) "..=" + RANGE_EXPR@[3096; 3512) + DOTDOT@[3096; 3098) ".." + WHITESPACE@[3098; 3099) " " + RANGE_EXPR@[3099; 3512) + DOTDOT@[3099; 3101) ".." + WHITESPACE@[3101; 3105) " " + RANGE_EXPR@[3105; 3512) + DOTDOT@[3105; 3107) ".." + WHITESPACE@[3107; 3108) " " + RANGE_EXPR@[3108; 3512) + DOTDOT@[3108; 3110) ".." + WHITESPACE@[3110; 3111) " " + RANGE_EXPR@[3111; 3512) + DOTDOT@[3111; 3113) ".." + WHITESPACE@[3113; 3114) " " + RANGE_EXPR@[3114; 3512) + DOTDOT@[3114; 3116) ".." + WHITESPACE@[3116; 3120) " " + RANGE_EXPR@[3120; 3512) + DOTDOT@[3120; 3122) ".." + WHITESPACE@[3122; 3123) " " + RANGE_EXPR@[3123; 3512) + DOTDOT@[3123; 3125) ".." + WHITESPACE@[3125; 3126) " " + RANGE_EXPR@[3126; 3512) + DOTDOT@[3126; 3128) ".." + WHITESPACE@[3128; 3129) " " + RANGE_EXPR@[3129; 3512) + DOTDOT@[3129; 3131) ".." + WHITESPACE@[3131; 3135) " " + RANGE_EXPR@[3135; 3512) + DOTDOT@[3135; 3137) ".." + WHITESPACE@[3137; 3138) " " + RANGE_EXPR@[3138; 3512) + DOTDOTEQ@[3138; 3141) "..=" + RANGE_EXPR@[3141; 3512) + DOTDOT@[3141; 3143) ".." + WHITESPACE@[3143; 3144) " " + RANGE_EXPR@[3144; 3512) + DOTDOT@[3144; 3146) ".." + WHITESPACE@[3146; 3151) "\n " + RANGE_EXPR@[3151; 3512) + DOTDOTEQ@[3151; 3154) "..=" + RANGE_EXPR@[3154; 3512) + DOTDOT@[3154; 3156) ".." + WHITESPACE@[3156; 3157) " " + RANGE_EXPR@[3157; 3512) + DOTDOTEQ@[3157; 3160) "..=" + RANGE_EXPR@[3160; 3512) + DOTDOT@[3160; 3162) ".." + WHITESPACE@[3162; 3166) " " + RANGE_EXPR@[3166; 3512) + DOTDOT@[3166; 3168) ".." + WHITESPACE@[3168; 3169) " " + RANGE_EXPR@[3169; 3512) + DOTDOT@[3169; 3171) ".." + WHITESPACE@[3171; 3172) " " + RANGE_EXPR@[3172; 3512) + DOTDOT@[3172; 3174) ".." + WHITESPACE@[3174; 3175) " " + RANGE_EXPR@[3175; 3512) + DOTDOT@[3175; 3177) ".." + WHITESPACE@[3177; 3181) " " + RANGE_EXPR@[3181; 3512) + DOTDOT@[3181; 3183) ".." + WHITESPACE@[3183; 3184) " " + RANGE_EXPR@[3184; 3512) + DOTDOT@[3184; 3186) ".." + WHITESPACE@[3186; 3187) " " + RANGE_EXPR@[3187; 3512) + DOTDOT@[3187; 3189) ".." + WHITESPACE@[3189; 3190) " " + RANGE_EXPR@[3190; 3512) + DOTDOT@[3190; 3192) ".." + WHITESPACE@[3192; 3196) " " + RANGE_EXPR@[3196; 3512) + DOTDOTEQ@[3196; 3199) "..=" + RANGE_EXPR@[3199; 3512) + DOTDOTEQ@[3199; 3202) "..=" + RANGE_EXPR@[3202; 3512) + DOTDOTEQ@[3202; 3205) "..=" + RANGE_EXPR@[3205; 3512) + DOTDOT@[3205; 3207) ".." + WHITESPACE@[3207; 3212) "\n " + RANGE_EXPR@[3212; 3512) + DOTDOTEQ@[3212; 3215) "..=" + RANGE_EXPR@[3215; 3512) + DOTDOT@[3215; 3217) ".." + WHITESPACE@[3217; 3218) " " + RANGE_EXPR@[3218; 3512) + DOTDOTEQ@[3218; 3221) "..=" + RANGE_EXPR@[3221; 3512) + DOTDOT@[3221; 3223) ".." + WHITESPACE@[3223; 3227) " " + RANGE_EXPR@[3227; 3512) + DOTDOTEQ@[3227; 3230) "..=" + RANGE_EXPR@[3230; 3512) + DOTDOT@[3230; 3232) ".." + WHITESPACE@[3232; 3233) " " + RANGE_EXPR@[3233; 3512) + DOTDOTEQ@[3233; 3236) "..=" + RANGE_EXPR@[3236; 3512) + DOTDOT@[3236; 3238) ".." + WHITESPACE@[3238; 3242) " " + RANGE_EXPR@[3242; 3512) + DOTDOT@[3242; 3244) ".." + WHITESPACE@[3244; 3245) " " + RANGE_EXPR@[3245; 3512) + DOTDOTEQ@[3245; 3248) "..=" + RANGE_EXPR@[3248; 3512) + DOTDOTEQ@[3248; 3251) "..=" + RANGE_EXPR@[3251; 3512) + DOTDOT@[3251; 3253) ".." + WHITESPACE@[3253; 3257) " " + RANGE_EXPR@[3257; 3512) + DOTDOT@[3257; 3259) ".." + WHITESPACE@[3259; 3260) " " + RANGE_EXPR@[3260; 3512) + DOTDOTEQ@[3260; 3263) "..=" + RANGE_EXPR@[3263; 3512) + DOTDOT@[3263; 3265) ".." + WHITESPACE@[3265; 3266) " " + RANGE_EXPR@[3266; 3512) + DOTDOT@[3266; 3268) ".." + WHITESPACE@[3268; 3273) "\n " + RANGE_EXPR@[3273; 3512) + DOTDOTEQ@[3273; 3276) "..=" + RANGE_EXPR@[3276; 3512) + DOTDOTEQ@[3276; 3279) "..=" + RANGE_EXPR@[3279; 3512) + DOTDOT@[3279; 3281) ".." + WHITESPACE@[3281; 3282) " " + RANGE_EXPR@[3282; 3512) + DOTDOT@[3282; 3284) ".." + WHITESPACE@[3284; 3288) " " + RANGE_EXPR@[3288; 3512) + DOTDOTEQ@[3288; 3291) "..=" + RANGE_EXPR@[3291; 3512) + DOTDOT@[3291; 3293) ".." + WHITESPACE@[3293; 3294) " " + RANGE_EXPR@[3294; 3512) + DOTDOTEQ@[3294; 3297) "..=" + RANGE_EXPR@[3297; 3512) + DOTDOT@[3297; 3299) ".." + WHITESPACE@[3299; 3303) " " + RANGE_EXPR@[3303; 3512) + DOTDOTEQ@[3303; 3306) "..=" + RANGE_EXPR@[3306; 3512) + DOTDOT@[3306; 3308) ".." + WHITESPACE@[3308; 3309) " " + RANGE_EXPR@[3309; 3512) + DOTDOT@[3309; 3311) ".." + WHITESPACE@[3311; 3312) " " + RANGE_EXPR@[3312; 3512) + DOTDOT@[3312; 3314) ".." + WHITESPACE@[3314; 3318) " " + RANGE_EXPR@[3318; 3512) + DOTDOT@[3318; 3320) ".." + WHITESPACE@[3320; 3321) " " + RANGE_EXPR@[3321; 3512) + DOTDOTEQ@[3321; 3324) "..=" + RANGE_EXPR@[3324; 3512) + DOTDOT@[3324; 3326) ".." + WHITESPACE@[3326; 3327) " " + RANGE_EXPR@[3327; 3512) + DOTDOT@[3327; 3329) ".." + WHITESPACE@[3329; 3334) "\n " + RANGE_EXPR@[3334; 3512) + DOTDOTEQ@[3334; 3337) "..=" + RANGE_EXPR@[3337; 3512) + DOTDOT@[3337; 3339) ".." + WHITESPACE@[3339; 3340) " " + RANGE_EXPR@[3340; 3512) + DOTDOTEQ@[3340; 3343) "..=" + RANGE_EXPR@[3343; 3512) + DOTDOT@[3343; 3345) ".." + WHITESPACE@[3345; 3349) " " + RANGE_EXPR@[3349; 3512) + DOTDOTEQ@[3349; 3352) "..=" + RANGE_EXPR@[3352; 3512) + DOTDOT@[3352; 3354) ".." + WHITESPACE@[3354; 3355) " " + RANGE_EXPR@[3355; 3512) + DOTDOTEQ@[3355; 3358) "..=" + RANGE_EXPR@[3358; 3512) + DOTDOT@[3358; 3360) ".." + WHITESPACE@[3360; 3364) " " + RANGE_EXPR@[3364; 3512) + DOTDOT@[3364; 3366) ".." + WHITESPACE@[3366; 3367) " " + RANGE_EXPR@[3367; 3512) + DOTDOTEQ@[3367; 3370) "..=" + RANGE_EXPR@[3370; 3512) + DOTDOT@[3370; 3372) ".." + WHITESPACE@[3372; 3373) " " + RANGE_EXPR@[3373; 3512) + DOTDOT@[3373; 3375) ".." + WHITESPACE@[3375; 3379) " " + RANGE_EXPR@[3379; 3512) + DOTDOT@[3379; 3381) ".." + WHITESPACE@[3381; 3382) " " + RANGE_EXPR@[3382; 3512) + DOTDOTEQ@[3382; 3385) "..=" + RANGE_EXPR@[3385; 3512) + DOTDOT@[3385; 3387) ".." + WHITESPACE@[3387; 3388) " " + RANGE_EXPR@[3388; 3512) + DOTDOT@[3388; 3390) ".." + WHITESPACE@[3390; 3395) "\n " + RANGE_EXPR@[3395; 3512) + DOTDOTEQ@[3395; 3398) "..=" + RANGE_EXPR@[3398; 3512) + DOTDOT@[3398; 3400) ".." + WHITESPACE@[3400; 3401) " " + RANGE_EXPR@[3401; 3512) + DOTDOTEQ@[3401; 3404) "..=" + RANGE_EXPR@[3404; 3512) + DOTDOT@[3404; 3406) ".." + WHITESPACE@[3406; 3410) " " + RANGE_EXPR@[3410; 3512) + DOTDOTEQ@[3410; 3413) "..=" + RANGE_EXPR@[3413; 3512) + DOTDOT@[3413; 3415) ".." + WHITESPACE@[3415; 3416) " " + RANGE_EXPR@[3416; 3512) + DOTDOTEQ@[3416; 3419) "..=" + RANGE_EXPR@[3419; 3512) + DOTDOT@[3419; 3421) ".." + WHITESPACE@[3421; 3425) " " + RANGE_EXPR@[3425; 3512) + DOTDOT@[3425; 3427) ".." + WHITESPACE@[3427; 3428) " " + RANGE_EXPR@[3428; 3512) + DOTDOT@[3428; 3430) ".." + WHITESPACE@[3430; 3431) " " + RANGE_EXPR@[3431; 3512) + DOTDOTEQ@[3431; 3434) "..=" + RANGE_EXPR@[3434; 3512) + DOTDOT@[3434; 3436) ".." + WHITESPACE@[3436; 3440) " " + RANGE_EXPR@[3440; 3512) + DOTDOT@[3440; 3442) ".." + WHITESPACE@[3442; 3443) " " + RANGE_EXPR@[3443; 3512) + DOTDOTEQ@[3443; 3446) "..=" + RANGE_EXPR@[3446; 3512) + DOTDOT@[3446; 3448) ".." + WHITESPACE@[3448; 3449) " " + RANGE_EXPR@[3449; 3512) + DOTDOT@[3449; 3451) ".." + WHITESPACE@[3451; 3456) "\n " + RANGE_EXPR@[3456; 3512) + DOTDOTEQ@[3456; 3459) "..=" + RANGE_EXPR@[3459; 3512) + DOTDOT@[3459; 3461) ".." + WHITESPACE@[3461; 3462) " " + RANGE_EXPR@[3462; 3512) + DOTDOTEQ@[3462; 3465) "..=" + RANGE_EXPR@[3465; 3512) + DOTDOT@[3465; 3467) ".." + WHITESPACE@[3467; 3471) " " + RANGE_EXPR@[3471; 3512) + DOTDOT@[3471; 3473) ".." + WHITESPACE@[3473; 3474) " " + RANGE_EXPR@[3474; 3512) + DOTDOTEQ@[3474; 3477) "..=" + RANGE_EXPR@[3477; 3512) + DOTDOTEQ@[3477; 3480) "..=" + RANGE_EXPR@[3480; 3512) + DOTDOT@[3480; 3482) ".." + WHITESPACE@[3482; 3486) " " + RANGE_EXPR@[3486; 3512) + DOTDOTEQ@[3486; 3489) "..=" + RANGE_EXPR@[3489; 3512) + DOTDOTEQ@[3489; 3492) "..=" + RANGE_EXPR@[3492; 3512) + DOTDOT@[3492; 3494) ".." + WHITESPACE@[3494; 3495) " " + RANGE_EXPR@[3495; 3512) + DOTDOT@[3495; 3497) ".." + WHITESPACE@[3497; 3501) " " + RANGE_EXPR@[3501; 3512) + DOTDOT@[3501; 3503) ".." + WHITESPACE@[3503; 3504) " " + RANGE_EXPR@[3504; 3512) + DOTDOTEQ@[3504; 3507) "..=" + RANGE_EXPR@[3507; 3512) + DOTDOT@[3507; 3509) ".." + WHITESPACE@[3509; 3510) " " + RANGE_EXPR@[3510; 3512) + DOTDOT@[3510; 3512) ".." + WHITESPACE@[3512; 3513) "\n" + R_CURLY@[3513; 3514) "}" + WHITESPACE@[3514; 3516) "\n\n" + FN_DEF@[3516; 3552) + FN_KW@[3516; 3518) "fn" + WHITESPACE@[3518; 3519) " " + NAME@[3519; 3525) + IDENT@[3519; 3525) "ktulhu" + PARAM_LIST@[3525; 3527) + L_PAREN@[3525; 3526) "(" + R_PAREN@[3526; 3527) ")" + WHITESPACE@[3527; 3528) " " + BLOCK_EXPR@[3528; 3552) + BLOCK@[3528; 3552) + L_CURLY@[3528; 3529) "{" + WHITESPACE@[3529; 3534) "\n " + SEMI@[3534; 3535) ";" + SEMI@[3535; 3536) ";" + SEMI@[3536; 3537) ";" + EXPR_STMT@[3537; 3540) + TUPLE_EXPR@[3537; 3539) + L_PAREN@[3537; 3538) "(" + R_PAREN@[3538; 3539) ")" + SEMI@[3539; 3540) ";" + SEMI@[3540; 3541) ";" + SEMI@[3541; 3542) ";" + SEMI@[3542; 3543) ";" + SEMI@[3543; 3544) ";" + SEMI@[3544; 3545) ";" + SEMI@[3545; 3546) ";" + SEMI@[3546; 3547) ";" + SEMI@[3547; 3548) ";" + TUPLE_EXPR@[3548; 3550) + L_PAREN@[3548; 3549) "(" + R_PAREN@[3549; 3550) ")" + WHITESPACE@[3550; 3551) "\n" + R_CURLY@[3551; 3552) "}" + WHITESPACE@[3552; 3554) "\n\n" + FN_DEF@[3554; 3812) + VISIBILITY@[3554; 3557) + PUB_KW@[3554; 3557) "pub" + WHITESPACE@[3557; 3558) " " + FN_KW@[3558; 3560) "fn" + WHITESPACE@[3560; 3561) " " + NAME@[3561; 3565) + IDENT@[3561; 3565) "main" + PARAM_LIST@[3565; 3567) + L_PAREN@[3565; 3566) "(" + R_PAREN@[3566; 3567) ")" + WHITESPACE@[3567; 3568) " " + BLOCK_EXPR@[3568; 3812) + BLOCK@[3568; 3812) + L_CURLY@[3568; 3569) "{" + WHITESPACE@[3569; 3574) "\n " + EXPR_STMT@[3574; 3584) + CALL_EXPR@[3574; 3583) + PATH_EXPR@[3574; 3581) + PATH@[3574; 3581) + PATH_SEGMENT@[3574; 3581) + NAME_REF@[3574; 3581) + IDENT@[3574; 3581) "strange" + ARG_LIST@[3581; 3583) + L_PAREN@[3581; 3582) "(" + R_PAREN@[3582; 3583) ")" + SEMI@[3583; 3584) ";" + WHITESPACE@[3584; 3589) "\n " + EXPR_STMT@[3589; 3597) + CALL_EXPR@[3589; 3596) + PATH_EXPR@[3589; 3594) + PATH@[3589; 3594) + PATH_SEGMENT@[3589; 3594) + NAME_REF@[3589; 3594) + IDENT@[3589; 3594) "funny" + ARG_LIST@[3594; 3596) + L_PAREN@[3594; 3595) "(" + R_PAREN@[3595; 3596) ")" + SEMI@[3596; 3597) ";" + WHITESPACE@[3597; 3602) "\n " + EXPR_STMT@[3602; 3609) + CALL_EXPR@[3602; 3608) + PATH_EXPR@[3602; 3606) + PATH@[3602; 3606) + PATH_SEGMENT@[3602; 3606) + NAME_REF@[3602; 3606) + IDENT@[3602; 3606) "what" + ARG_LIST@[3606; 3608) + L_PAREN@[3606; 3607) "(" + R_PAREN@[3607; 3608) ")" + SEMI@[3608; 3609) ";" + WHITESPACE@[3609; 3614) "\n " + EXPR_STMT@[3614; 3628) + CALL_EXPR@[3614; 3627) + PATH_EXPR@[3614; 3625) + PATH@[3614; 3625) + PATH_SEGMENT@[3614; 3625) + NAME_REF@[3614; 3625) + IDENT@[3614; 3625) "zombiejesus" + ARG_LIST@[3625; 3627) + L_PAREN@[3625; 3626) "(" + R_PAREN@[3626; 3627) ")" + SEMI@[3627; 3628) ";" + WHITESPACE@[3628; 3633) "\n " + EXPR_STMT@[3633; 3643) + CALL_EXPR@[3633; 3642) + PATH_EXPR@[3633; 3640) + PATH@[3633; 3640) + PATH_SEGMENT@[3633; 3640) + NAME_REF@[3633; 3640) + IDENT@[3633; 3640) "notsure" + ARG_LIST@[3640; 3642) + L_PAREN@[3640; 3641) "(" + R_PAREN@[3641; 3642) ")" + SEMI@[3642; 3643) ";" + WHITESPACE@[3643; 3648) "\n " + EXPR_STMT@[3648; 3664) + CALL_EXPR@[3648; 3663) + PATH_EXPR@[3648; 3661) + PATH@[3648; 3661) + PATH_SEGMENT@[3648; 3661) + NAME_REF@[3648; 3661) + IDENT@[3648; 3661) "canttouchthis" + ARG_LIST@[3661; 3663) + L_PAREN@[3661; 3662) "(" + R_PAREN@[3662; 3663) ")" + SEMI@[3663; 3664) ";" + WHITESPACE@[3664; 3669) "\n " + EXPR_STMT@[3669; 3681) + CALL_EXPR@[3669; 3680) + PATH_EXPR@[3669; 3678) + PATH@[3669; 3678) + PATH_SEGMENT@[3669; 3678) + NAME_REF@[3669; 3678) + IDENT@[3669; 3678) "angrydome" + ARG_LIST@[3678; 3680) + L_PAREN@[3678; 3679) "(" + R_PAREN@[3679; 3680) ")" + SEMI@[3680; 3681) ";" + WHITESPACE@[3681; 3686) "\n " + EXPR_STMT@[3686; 3701) + CALL_EXPR@[3686; 3700) + PATH_EXPR@[3686; 3698) + PATH@[3686; 3698) + PATH_SEGMENT@[3686; 3698) + NAME_REF@[3686; 3698) + IDENT@[3686; 3698) "evil_lincoln" + ARG_LIST@[3698; 3700) + L_PAREN@[3698; 3699) "(" + R_PAREN@[3699; 3700) ")" + SEMI@[3700; 3701) ";" + WHITESPACE@[3701; 3706) "\n " + EXPR_STMT@[3706; 3713) + CALL_EXPR@[3706; 3712) + PATH_EXPR@[3706; 3710) + PATH@[3706; 3710) + PATH_SEGMENT@[3706; 3710) + NAME_REF@[3706; 3710) + IDENT@[3706; 3710) "dots" + ARG_LIST@[3710; 3712) + L_PAREN@[3710; 3711) "(" + R_PAREN@[3711; 3712) ")" + SEMI@[3712; 3713) ";" + WHITESPACE@[3713; 3718) "\n " + EXPR_STMT@[3718; 3726) + CALL_EXPR@[3718; 3725) + PATH_EXPR@[3718; 3720) + PATH@[3718; 3720) + PATH_SEGMENT@[3718; 3720) + NAME_REF@[3718; 3720) + IDENT@[3718; 3720) "u8" + ARG_LIST@[3720; 3725) + L_PAREN@[3720; 3721) "(" + LITERAL@[3721; 3724) + INT_NUMBER@[3721; 3724) "8u8" + R_PAREN@[3724; 3725) ")" + SEMI@[3725; 3726) ";" + WHITESPACE@[3726; 3731) "\n " + EXPR_STMT@[3731; 3739) + CALL_EXPR@[3731; 3738) + PATH_EXPR@[3731; 3736) + PATH@[3731; 3736) + PATH_SEGMENT@[3731; 3736) + NAME_REF@[3731; 3736) + IDENT@[3731; 3736) "fishy" + ARG_LIST@[3736; 3738) + L_PAREN@[3736; 3737) "(" + R_PAREN@[3737; 3738) ")" + SEMI@[3738; 3739) ";" + WHITESPACE@[3739; 3744) "\n " + EXPR_STMT@[3744; 3752) + CALL_EXPR@[3744; 3751) + PATH_EXPR@[3744; 3749) + PATH@[3744; 3749) + PATH_SEGMENT@[3744; 3749) + NAME_REF@[3744; 3749) + IDENT@[3744; 3749) "union" + ARG_LIST@[3749; 3751) + L_PAREN@[3749; 3750) "(" + R_PAREN@[3750; 3751) ")" + SEMI@[3751; 3752) ";" + WHITESPACE@[3752; 3757) "\n " + EXPR_STMT@[3757; 3778) + CALL_EXPR@[3757; 3777) + PATH_EXPR@[3757; 3775) + PATH@[3757; 3775) + PATH_SEGMENT@[3757; 3775) + NAME_REF@[3757; 3775) + IDENT@[3757; 3775) "special_characters" + ARG_LIST@[3775; 3777) + L_PAREN@[3775; 3776) "(" + R_PAREN@[3776; 3777) ")" + SEMI@[3777; 3778) ";" + WHITESPACE@[3778; 3783) "\n " + EXPR_STMT@[3783; 3796) + CALL_EXPR@[3783; 3795) + PATH_EXPR@[3783; 3793) + PATH@[3783; 3793) + PATH_SEGMENT@[3783; 3793) + NAME_REF@[3783; 3793) + IDENT@[3783; 3793) "punch_card" + ARG_LIST@[3793; 3795) + L_PAREN@[3793; 3794) "(" + R_PAREN@[3794; 3795) ")" + SEMI@[3795; 3796) ";" + WHITESPACE@[3796; 3801) "\n " + EXPR_STMT@[3801; 3810) + CALL_EXPR@[3801; 3809) + PATH_EXPR@[3801; 3807) + PATH@[3801; 3807) + PATH_SEGMENT@[3801; 3807) + NAME_REF@[3801; 3807) + IDENT@[3801; 3807) "ktulhu" + ARG_LIST@[3807; 3809) + L_PAREN@[3807; 3808) "(" + R_PAREN@[3808; 3809) ")" + SEMI@[3809; 3810) ";" + WHITESPACE@[3810; 3811) "\n" + R_CURLY@[3811; 3812) "}" + WHITESPACE@[3812; 3813) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt deleted file mode 100644 index 90538b90d..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt +++ /dev/null @@ -1,2329 +0,0 @@ -SOURCE_FILE@[0; 3813) - COMMENT@[0; 55) "//! Adapted from a `r ..." - WHITESPACE@[55; 56) "\n" - COMMENT@[56; 173) "//! https://github.co ..." - WHITESPACE@[173; 174) "\n" - COMMENT@[174; 178) "//! " - WHITESPACE@[178; 179) "\n" - COMMENT@[179; 269) "//! Reported to rust- ..." - WHITESPACE@[269; 271) "\n\n" - ATTR@[271; 302) - POUND@[271; 272) "#" - EXCL@[272; 273) "!" - L_BRACK@[273; 274) "[" - PATH@[274; 279) - PATH_SEGMENT@[274; 279) - NAME_REF@[274; 279) - IDENT@[274; 279) "allow" - TOKEN_TREE@[279; 301) - L_PAREN@[279; 280) "(" - IDENT@[280; 300) "non_camel_case_types" - R_PAREN@[300; 301) ")" - R_BRACK@[301; 302) "]" - WHITESPACE@[302; 303) "\n" - ATTR@[303; 323) - POUND@[303; 304) "#" - EXCL@[304; 305) "!" - L_BRACK@[305; 306) "[" - PATH@[306; 311) - PATH_SEGMENT@[306; 311) - NAME_REF@[306; 311) - IDENT@[306; 311) "allow" - TOKEN_TREE@[311; 322) - L_PAREN@[311; 312) "(" - IDENT@[312; 321) "dead_code" - R_PAREN@[321; 322) ")" - R_BRACK@[322; 323) "]" - WHITESPACE@[323; 324) "\n" - ATTR@[324; 351) - POUND@[324; 325) "#" - EXCL@[325; 326) "!" - L_BRACK@[326; 327) "[" - PATH@[327; 332) - PATH_SEGMENT@[327; 332) - NAME_REF@[327; 332) - IDENT@[327; 332) "allow" - TOKEN_TREE@[332; 350) - L_PAREN@[332; 333) "(" - IDENT@[333; 349) "unreachable_code" - R_PAREN@[349; 350) ")" - R_BRACK@[350; 351) "]" - WHITESPACE@[351; 352) "\n" - ATTR@[352; 376) - POUND@[352; 353) "#" - EXCL@[353; 354) "!" - L_BRACK@[354; 355) "[" - PATH@[355; 360) - PATH_SEGMENT@[355; 360) - NAME_REF@[355; 360) - IDENT@[355; 360) "allow" - TOKEN_TREE@[360; 375) - L_PAREN@[360; 361) "(" - IDENT@[361; 374) "unused_parens" - R_PAREN@[374; 375) ")" - R_BRACK@[375; 376) "]" - WHITESPACE@[376; 378) "\n\n" - ATTR@[378; 405) - POUND@[378; 379) "#" - EXCL@[379; 380) "!" - L_BRACK@[380; 381) "[" - PATH@[381; 396) - PATH_SEGMENT@[381; 396) - NAME_REF@[381; 396) - IDENT@[381; 396) "recursion_limit" - WHITESPACE@[396; 397) " " - EQ@[397; 398) "=" - WHITESPACE@[398; 399) " " - LITERAL@[399; 404) - STRING@[399; 404) "\"128\"" - R_BRACK@[404; 405) "]" - WHITESPACE@[405; 407) "\n\n" - USE_ITEM@[407; 427) - USE_KW@[407; 410) "use" - WHITESPACE@[410; 411) " " - USE_TREE@[411; 426) - PATH@[411; 426) - PATH@[411; 420) - PATH@[411; 414) - PATH_SEGMENT@[411; 414) - NAME_REF@[411; 414) - IDENT@[411; 414) "std" - COLONCOLON@[414; 416) "::" - PATH_SEGMENT@[416; 420) - NAME_REF@[416; 420) - IDENT@[416; 420) "cell" - COLONCOLON@[420; 422) "::" - PATH_SEGMENT@[422; 426) - NAME_REF@[422; 426) - IDENT@[422; 426) "Cell" - SEMI@[426; 427) ";" - WHITESPACE@[427; 428) "\n" - USE_ITEM@[428; 447) - USE_KW@[428; 431) "use" - WHITESPACE@[431; 432) " " - USE_TREE@[432; 446) - PATH@[432; 446) - PATH@[432; 440) - PATH@[432; 435) - PATH_SEGMENT@[432; 435) - NAME_REF@[432; 435) - IDENT@[432; 435) "std" - COLONCOLON@[435; 437) "::" - PATH_SEGMENT@[437; 440) - NAME_REF@[437; 440) - IDENT@[437; 440) "mem" - COLONCOLON@[440; 442) "::" - PATH_SEGMENT@[442; 446) - NAME_REF@[442; 446) - IDENT@[442; 446) "swap" - SEMI@[446; 447) ";" - WHITESPACE@[447; 449) "\n\n" - COMMENT@[449; 518) "// Just a grab bag of ..." - WHITESPACE@[518; 520) "\n\n" - FN_DEF@[520; 572) - FN_KW@[520; 522) "fn" - WHITESPACE@[522; 523) " " - NAME@[523; 530) - IDENT@[523; 530) "strange" - PARAM_LIST@[530; 532) - L_PAREN@[530; 531) "(" - R_PAREN@[531; 532) ")" - WHITESPACE@[532; 533) " " - RET_TYPE@[533; 540) - THIN_ARROW@[533; 535) "->" - WHITESPACE@[535; 536) " " - PATH_TYPE@[536; 540) - PATH@[536; 540) - PATH_SEGMENT@[536; 540) - NAME_REF@[536; 540) - IDENT@[536; 540) "bool" - WHITESPACE@[540; 541) " " - BLOCK_EXPR@[541; 572) - BLOCK@[541; 572) - L_CURLY@[541; 542) "{" - WHITESPACE@[542; 543) " " - LET_STMT@[543; 570) - LET_KW@[543; 546) "let" - WHITESPACE@[546; 547) " " - BIND_PAT@[547; 549) - NAME@[547; 549) - IDENT@[547; 549) "_x" - COLON@[549; 550) ":" - WHITESPACE@[550; 551) " " - PATH_TYPE@[551; 555) - PATH@[551; 555) - PATH_SEGMENT@[551; 555) - NAME_REF@[551; 555) - IDENT@[551; 555) "bool" - WHITESPACE@[555; 556) " " - EQ@[556; 557) "=" - WHITESPACE@[557; 558) " " - RETURN_EXPR@[558; 569) - RETURN_KW@[558; 564) "return" - WHITESPACE@[564; 565) " " - LITERAL@[565; 569) - TRUE_KW@[565; 569) "true" - SEMI@[569; 570) ";" - WHITESPACE@[570; 571) " " - R_CURLY@[571; 572) "}" - WHITESPACE@[572; 574) "\n\n" - FN_DEF@[574; 624) - FN_KW@[574; 576) "fn" - WHITESPACE@[576; 577) " " - NAME@[577; 582) - IDENT@[577; 582) "funny" - PARAM_LIST@[582; 584) - L_PAREN@[582; 583) "(" - R_PAREN@[583; 584) ")" - WHITESPACE@[584; 585) " " - BLOCK_EXPR@[585; 624) - BLOCK@[585; 624) - L_CURLY@[585; 586) "{" - WHITESPACE@[586; 591) "\n " - FN_DEF@[591; 607) - FN_KW@[591; 593) "fn" - WHITESPACE@[593; 594) " " - NAME@[594; 595) - IDENT@[594; 595) "f" - PARAM_LIST@[595; 603) - L_PAREN@[595; 596) "(" - PARAM@[596; 602) - BIND_PAT@[596; 598) - NAME@[596; 598) - IDENT@[596; 598) "_x" - COLON@[598; 599) ":" - WHITESPACE@[599; 600) " " - TUPLE_TYPE@[600; 602) - L_PAREN@[600; 601) "(" - R_PAREN@[601; 602) ")" - R_PAREN@[602; 603) ")" - WHITESPACE@[603; 604) " " - BLOCK_EXPR@[604; 607) - BLOCK@[604; 607) - L_CURLY@[604; 605) "{" - WHITESPACE@[605; 606) " " - R_CURLY@[606; 607) "}" - WHITESPACE@[607; 612) "\n " - EXPR_STMT@[612; 622) - CALL_EXPR@[612; 621) - PATH_EXPR@[612; 613) - PATH@[612; 613) - PATH_SEGMENT@[612; 613) - NAME_REF@[612; 613) - IDENT@[612; 613) "f" - ARG_LIST@[613; 621) - L_PAREN@[613; 614) "(" - RETURN_EXPR@[614; 620) - RETURN_KW@[614; 620) "return" - R_PAREN@[620; 621) ")" - SEMI@[621; 622) ";" - WHITESPACE@[622; 623) "\n" - R_CURLY@[623; 624) "}" - WHITESPACE@[624; 626) "\n\n" - FN_DEF@[626; 816) - FN_KW@[626; 628) "fn" - WHITESPACE@[628; 629) " " - NAME@[629; 633) - IDENT@[629; 633) "what" - PARAM_LIST@[633; 635) - L_PAREN@[633; 634) "(" - R_PAREN@[634; 635) ")" - WHITESPACE@[635; 636) " " - BLOCK_EXPR@[636; 816) - BLOCK@[636; 816) - L_CURLY@[636; 637) "{" - WHITESPACE@[637; 642) "\n " - FN_DEF@[642; 720) - FN_KW@[642; 644) "fn" - WHITESPACE@[644; 645) " " - NAME@[645; 648) - IDENT@[645; 648) "the" - PARAM_LIST@[648; 664) - L_PAREN@[648; 649) "(" - PARAM@[649; 663) - BIND_PAT@[649; 650) - NAME@[649; 650) - IDENT@[649; 650) "x" - COLON@[650; 651) ":" - WHITESPACE@[651; 652) " " - REFERENCE_TYPE@[652; 663) - AMP@[652; 653) "&" - PATH_TYPE@[653; 663) - PATH@[653; 663) - PATH_SEGMENT@[653; 663) - NAME_REF@[653; 657) - IDENT@[653; 657) "Cell" - TYPE_ARG_LIST@[657; 663) - L_ANGLE@[657; 658) "<" - TYPE_ARG@[658; 662) - PATH_TYPE@[658; 662) - PATH@[658; 662) - PATH_SEGMENT@[658; 662) - NAME_REF@[658; 662) - IDENT@[658; 662) "bool" - R_ANGLE@[662; 663) ">" - R_PAREN@[663; 664) ")" - WHITESPACE@[664; 665) " " - BLOCK_EXPR@[665; 720) - BLOCK@[665; 720) - L_CURLY@[665; 666) "{" - WHITESPACE@[666; 675) "\n " - EXPR_STMT@[675; 714) - RETURN_EXPR@[675; 713) - RETURN_KW@[675; 681) "return" - WHITESPACE@[681; 682) " " - WHILE_EXPR@[682; 713) - WHILE_KW@[682; 687) "while" - WHITESPACE@[687; 688) " " - CONDITION@[688; 696) - PREFIX_EXPR@[688; 696) - EXCL@[688; 689) "!" - METHOD_CALL_EXPR@[689; 696) - PATH_EXPR@[689; 690) - PATH@[689; 690) - PATH_SEGMENT@[689; 690) - NAME_REF@[689; 690) - IDENT@[689; 690) "x" - DOT@[690; 691) "." - NAME_REF@[691; 694) - IDENT@[691; 694) "get" - ARG_LIST@[694; 696) - L_PAREN@[694; 695) "(" - R_PAREN@[695; 696) ")" - WHITESPACE@[696; 697) " " - BLOCK_EXPR@[697; 713) - BLOCK@[697; 713) - L_CURLY@[697; 698) "{" - WHITESPACE@[698; 699) " " - EXPR_STMT@[699; 711) - METHOD_CALL_EXPR@[699; 710) - PATH_EXPR@[699; 700) - PATH@[699; 700) - PATH_SEGMENT@[699; 700) - NAME_REF@[699; 700) - IDENT@[699; 700) "x" - DOT@[700; 701) "." - NAME_REF@[701; 704) - IDENT@[701; 704) "set" - ARG_LIST@[704; 710) - L_PAREN@[704; 705) "(" - LITERAL@[705; 709) - TRUE_KW@[705; 709) "true" - R_PAREN@[709; 710) ")" - SEMI@[710; 711) ";" - WHITESPACE@[711; 712) " " - R_CURLY@[712; 713) "}" - SEMI@[713; 714) ";" - WHITESPACE@[714; 719) "\n " - R_CURLY@[719; 720) "}" - WHITESPACE@[720; 725) "\n " - LET_STMT@[725; 751) - LET_KW@[725; 728) "let" - WHITESPACE@[728; 729) " " - BIND_PAT@[729; 730) - NAME@[729; 730) - IDENT@[729; 730) "i" - WHITESPACE@[730; 731) " " - EQ@[731; 732) "=" - WHITESPACE@[732; 733) " " - REF_EXPR@[733; 750) - AMP@[733; 734) "&" - CALL_EXPR@[734; 750) - PATH_EXPR@[734; 743) - PATH@[734; 743) - PATH@[734; 738) - PATH_SEGMENT@[734; 738) - NAME_REF@[734; 738) - IDENT@[734; 738) "Cell" - COLONCOLON@[738; 740) "::" - PATH_SEGMENT@[740; 743) - NAME_REF@[740; 743) - IDENT@[740; 743) "new" - ARG_LIST@[743; 750) - L_PAREN@[743; 744) "(" - LITERAL@[744; 749) - FALSE_KW@[744; 749) "false" - R_PAREN@[749; 750) ")" - SEMI@[750; 751) ";" - WHITESPACE@[751; 756) "\n " - LET_STMT@[756; 778) - LET_KW@[756; 759) "let" - WHITESPACE@[759; 760) " " - BIND_PAT@[760; 764) - NAME@[760; 764) - IDENT@[760; 764) "dont" - WHITESPACE@[764; 765) " " - EQ@[765; 766) "=" - WHITESPACE@[766; 767) " " - BLOCK_EXPR@[767; 777) - BLOCK@[767; 777) - L_CURLY@[767; 768) "{" - LAMBDA_EXPR@[768; 776) - PARAM_LIST@[768; 770) - PIPE@[768; 769) "|" - PIPE@[769; 770) "|" - CALL_EXPR@[770; 776) - PATH_EXPR@[770; 773) - PATH@[770; 773) - PATH_SEGMENT@[770; 773) - NAME_REF@[770; 773) - IDENT@[770; 773) "the" - ARG_LIST@[773; 776) - L_PAREN@[773; 774) "(" - PATH_EXPR@[774; 775) - PATH@[774; 775) - PATH_SEGMENT@[774; 775) - NAME_REF@[774; 775) - IDENT@[774; 775) "i" - R_PAREN@[775; 776) ")" - R_CURLY@[776; 777) "}" - SEMI@[777; 778) ";" - WHITESPACE@[778; 783) "\n " - EXPR_STMT@[783; 790) - CALL_EXPR@[783; 789) - PATH_EXPR@[783; 787) - PATH@[783; 787) - PATH_SEGMENT@[783; 787) - NAME_REF@[783; 787) - IDENT@[783; 787) "dont" - ARG_LIST@[787; 789) - L_PAREN@[787; 788) "(" - R_PAREN@[788; 789) ")" - SEMI@[789; 790) ";" - WHITESPACE@[790; 795) "\n " - EXPR_STMT@[795; 814) - MACRO_CALL@[795; 813) - PATH@[795; 801) - PATH_SEGMENT@[795; 801) - NAME_REF@[795; 801) - IDENT@[795; 801) "assert" - EXCL@[801; 802) "!" - TOKEN_TREE@[802; 813) - L_PAREN@[802; 803) "(" - TOKEN_TREE@[803; 812) - L_PAREN@[803; 804) "(" - IDENT@[804; 805) "i" - DOT@[805; 806) "." - IDENT@[806; 809) "get" - TOKEN_TREE@[809; 811) - L_PAREN@[809; 810) "(" - R_PAREN@[810; 811) ")" - R_PAREN@[811; 812) ")" - R_PAREN@[812; 813) ")" - SEMI@[813; 814) ";" - WHITESPACE@[814; 815) "\n" - R_CURLY@[815; 816) "}" - WHITESPACE@[816; 818) "\n\n" - FN_DEF@[818; 1322) - FN_KW@[818; 820) "fn" - WHITESPACE@[820; 821) " " - NAME@[821; 832) - IDENT@[821; 832) "zombiejesus" - PARAM_LIST@[832; 834) - L_PAREN@[832; 833) "(" - R_PAREN@[833; 834) ")" - WHITESPACE@[834; 835) " " - BLOCK_EXPR@[835; 1322) - BLOCK@[835; 1322) - L_CURLY@[835; 836) "{" - WHITESPACE@[836; 841) "\n " - LOOP_EXPR@[841; 1320) - LOOP_KW@[841; 845) "loop" - WHITESPACE@[845; 846) " " - BLOCK_EXPR@[846; 1320) - BLOCK@[846; 1320) - L_CURLY@[846; 847) "{" - WHITESPACE@[847; 856) "\n " - EXPR_STMT@[856; 1283) - WHILE_EXPR@[856; 1283) - WHILE_KW@[856; 861) "while" - WHITESPACE@[861; 862) " " - CONDITION@[862; 870) - PAREN_EXPR@[862; 870) - L_PAREN@[862; 863) "(" - RETURN_EXPR@[863; 869) - RETURN_KW@[863; 869) "return" - R_PAREN@[869; 870) ")" - WHITESPACE@[870; 871) " " - BLOCK_EXPR@[871; 1283) - BLOCK@[871; 1283) - L_CURLY@[871; 872) "{" - WHITESPACE@[872; 885) "\n " - IF_EXPR@[885; 1273) - IF_KW@[885; 887) "if" - WHITESPACE@[887; 888) " " - CONDITION@[888; 896) - PAREN_EXPR@[888; 896) - L_PAREN@[888; 889) "(" - RETURN_EXPR@[889; 895) - RETURN_KW@[889; 895) "return" - R_PAREN@[895; 896) ")" - WHITESPACE@[896; 897) " " - BLOCK_EXPR@[897; 1216) - BLOCK@[897; 1216) - L_CURLY@[897; 898) "{" - WHITESPACE@[898; 915) "\n " - EXPR_STMT@[915; 1202) - MATCH_EXPR@[915; 1201) - MATCH_KW@[915; 920) "match" - WHITESPACE@[920; 921) " " - PAREN_EXPR@[921; 929) - L_PAREN@[921; 922) "(" - RETURN_EXPR@[922; 928) - RETURN_KW@[922; 928) "return" - R_PAREN@[928; 929) ")" - WHITESPACE@[929; 930) " " - MATCH_ARM_LIST@[930; 1201) - L_CURLY@[930; 931) "{" - WHITESPACE@[931; 952) "\n " - MATCH_ARM@[952; 1147) - LITERAL_PAT@[952; 953) - LITERAL@[952; 953) - INT_NUMBER@[952; 953) "1" - WHITESPACE@[953; 954) " " - FAT_ARROW@[954; 956) "=>" - WHITESPACE@[956; 957) " " - BLOCK_EXPR@[957; 1147) - BLOCK@[957; 1147) - L_CURLY@[957; 958) "{" - WHITESPACE@[958; 983) "\n ..." - IF_EXPR@[983; 1125) - IF_KW@[983; 985) "if" - WHITESPACE@[985; 986) " " - CONDITION@[986; 994) - PAREN_EXPR@[986; 994) - L_PAREN@[986; 987) "(" - RETURN_EXPR@[987; 993) - RETURN_KW@[987; 993) "return" - R_PAREN@[993; 994) ")" - WHITESPACE@[994; 995) " " - BLOCK_EXPR@[995; 1057) - BLOCK@[995; 1057) - L_CURLY@[995; 996) "{" - WHITESPACE@[996; 1025) "\n ..." - RETURN_EXPR@[1025; 1031) - RETURN_KW@[1025; 1031) "return" - WHITESPACE@[1031; 1056) "\n ..." - R_CURLY@[1056; 1057) "}" - WHITESPACE@[1057; 1058) " " - ELSE_KW@[1058; 1062) "else" - WHITESPACE@[1062; 1063) " " - BLOCK_EXPR@[1063; 1125) - BLOCK@[1063; 1125) - L_CURLY@[1063; 1064) "{" - WHITESPACE@[1064; 1093) "\n ..." - RETURN_EXPR@[1093; 1099) - RETURN_KW@[1093; 1099) "return" - WHITESPACE@[1099; 1124) "\n ..." - R_CURLY@[1124; 1125) "}" - WHITESPACE@[1125; 1146) "\n " - R_CURLY@[1146; 1147) "}" - WHITESPACE@[1147; 1168) "\n " - MATCH_ARM@[1168; 1183) - PLACEHOLDER_PAT@[1168; 1169) - UNDERSCORE@[1168; 1169) "_" - WHITESPACE@[1169; 1170) " " - FAT_ARROW@[1170; 1172) "=>" - WHITESPACE@[1172; 1173) " " - BLOCK_EXPR@[1173; 1183) - BLOCK@[1173; 1183) - L_CURLY@[1173; 1174) "{" - WHITESPACE@[1174; 1175) " " - RETURN_EXPR@[1175; 1181) - RETURN_KW@[1175; 1181) "return" - WHITESPACE@[1181; 1182) " " - R_CURLY@[1182; 1183) "}" - WHITESPACE@[1183; 1200) "\n " - R_CURLY@[1200; 1201) "}" - SEMI@[1201; 1202) ";" - WHITESPACE@[1202; 1215) "\n " - R_CURLY@[1215; 1216) "}" - WHITESPACE@[1216; 1217) " " - ELSE_KW@[1217; 1221) "else" - WHITESPACE@[1221; 1222) " " - IF_EXPR@[1222; 1273) - IF_KW@[1222; 1224) "if" - WHITESPACE@[1224; 1225) " " - CONDITION@[1225; 1233) - PAREN_EXPR@[1225; 1233) - L_PAREN@[1225; 1226) "(" - RETURN_EXPR@[1226; 1232) - RETURN_KW@[1226; 1232) "return" - R_PAREN@[1232; 1233) ")" - WHITESPACE@[1233; 1234) " " - BLOCK_EXPR@[1234; 1273) - BLOCK@[1234; 1273) - L_CURLY@[1234; 1235) "{" - WHITESPACE@[1235; 1252) "\n " - EXPR_STMT@[1252; 1259) - RETURN_EXPR@[1252; 1258) - RETURN_KW@[1252; 1258) "return" - SEMI@[1258; 1259) ";" - WHITESPACE@[1259; 1272) "\n " - R_CURLY@[1272; 1273) "}" - WHITESPACE@[1273; 1282) "\n " - R_CURLY@[1282; 1283) "}" - WHITESPACE@[1283; 1292) "\n " - IF_EXPR@[1292; 1314) - IF_KW@[1292; 1294) "if" - WHITESPACE@[1294; 1295) " " - CONDITION@[1295; 1303) - PAREN_EXPR@[1295; 1303) - L_PAREN@[1295; 1296) "(" - RETURN_EXPR@[1296; 1302) - RETURN_KW@[1296; 1302) "return" - R_PAREN@[1302; 1303) ")" - WHITESPACE@[1303; 1304) " " - BLOCK_EXPR@[1304; 1314) - BLOCK@[1304; 1314) - L_CURLY@[1304; 1305) "{" - WHITESPACE@[1305; 1306) " " - EXPR_STMT@[1306; 1312) - BREAK_EXPR@[1306; 1311) - BREAK_KW@[1306; 1311) "break" - SEMI@[1311; 1312) ";" - WHITESPACE@[1312; 1313) " " - R_CURLY@[1313; 1314) "}" - WHITESPACE@[1314; 1319) "\n " - R_CURLY@[1319; 1320) "}" - WHITESPACE@[1320; 1321) "\n" - R_CURLY@[1321; 1322) "}" - WHITESPACE@[1322; 1324) "\n\n" - FN_DEF@[1324; 1539) - FN_KW@[1324; 1326) "fn" - WHITESPACE@[1326; 1327) " " - NAME@[1327; 1334) - IDENT@[1327; 1334) "notsure" - PARAM_LIST@[1334; 1336) - L_PAREN@[1334; 1335) "(" - R_PAREN@[1335; 1336) ")" - WHITESPACE@[1336; 1337) " " - BLOCK_EXPR@[1337; 1539) - BLOCK@[1337; 1539) - L_CURLY@[1337; 1338) "{" - WHITESPACE@[1338; 1343) "\n " - LET_STMT@[1343; 1361) - LET_KW@[1343; 1346) "let" - WHITESPACE@[1346; 1347) " " - BIND_PAT@[1347; 1353) - MUT_KW@[1347; 1350) "mut" - WHITESPACE@[1350; 1351) " " - NAME@[1351; 1353) - IDENT@[1351; 1353) "_x" - COLON@[1353; 1354) ":" - WHITESPACE@[1354; 1355) " " - PATH_TYPE@[1355; 1360) - PATH@[1355; 1360) - PATH_SEGMENT@[1355; 1360) - NAME_REF@[1355; 1360) - IDENT@[1355; 1360) "isize" - SEMI@[1360; 1361) ";" - WHITESPACE@[1361; 1366) "\n " - LET_STMT@[1366; 1400) - LET_KW@[1366; 1369) "let" - WHITESPACE@[1369; 1370) " " - BIND_PAT@[1370; 1376) - MUT_KW@[1370; 1373) "mut" - WHITESPACE@[1373; 1374) " " - NAME@[1374; 1376) - IDENT@[1374; 1376) "_y" - WHITESPACE@[1376; 1377) " " - EQ@[1377; 1378) "=" - WHITESPACE@[1378; 1379) " " - BIN_EXPR@[1379; 1399) - PAREN_EXPR@[1379; 1387) - L_PAREN@[1379; 1380) "(" - BIN_EXPR@[1380; 1386) - PATH_EXPR@[1380; 1382) - PATH@[1380; 1382) - PATH_SEGMENT@[1380; 1382) - NAME_REF@[1380; 1382) - IDENT@[1380; 1382) "_x" - WHITESPACE@[1382; 1383) " " - EQ@[1383; 1384) "=" - WHITESPACE@[1384; 1385) " " - LITERAL@[1385; 1386) - INT_NUMBER@[1385; 1386) "0" - R_PAREN@[1386; 1387) ")" - WHITESPACE@[1387; 1388) " " - EQEQ@[1388; 1390) "==" - WHITESPACE@[1390; 1391) " " - PAREN_EXPR@[1391; 1399) - L_PAREN@[1391; 1392) "(" - BIN_EXPR@[1392; 1398) - PATH_EXPR@[1392; 1394) - PATH@[1392; 1394) - PATH_SEGMENT@[1392; 1394) - NAME_REF@[1392; 1394) - IDENT@[1392; 1394) "_x" - WHITESPACE@[1394; 1395) " " - EQ@[1395; 1396) "=" - WHITESPACE@[1396; 1397) " " - LITERAL@[1397; 1398) - INT_NUMBER@[1397; 1398) "0" - R_PAREN@[1398; 1399) ")" - SEMI@[1399; 1400) ";" - WHITESPACE@[1400; 1405) "\n " - LET_STMT@[1405; 1438) - LET_KW@[1405; 1408) "let" - WHITESPACE@[1408; 1409) " " - BIND_PAT@[1409; 1415) - MUT_KW@[1409; 1412) "mut" - WHITESPACE@[1412; 1413) " " - NAME@[1413; 1415) - IDENT@[1413; 1415) "_z" - WHITESPACE@[1415; 1416) " " - EQ@[1416; 1417) "=" - WHITESPACE@[1417; 1418) " " - BIN_EXPR@[1418; 1437) - PAREN_EXPR@[1418; 1426) - L_PAREN@[1418; 1419) "(" - BIN_EXPR@[1419; 1425) - PATH_EXPR@[1419; 1421) - PATH@[1419; 1421) - PATH_SEGMENT@[1419; 1421) - NAME_REF@[1419; 1421) - IDENT@[1419; 1421) "_x" - WHITESPACE@[1421; 1422) " " - EQ@[1422; 1423) "=" - WHITESPACE@[1423; 1424) " " - LITERAL@[1424; 1425) - INT_NUMBER@[1424; 1425) "0" - R_PAREN@[1425; 1426) ")" - WHITESPACE@[1426; 1427) " " - L_ANGLE@[1427; 1428) "<" - WHITESPACE@[1428; 1429) " " - PAREN_EXPR@[1429; 1437) - L_PAREN@[1429; 1430) "(" - BIN_EXPR@[1430; 1436) - PATH_EXPR@[1430; 1432) - PATH@[1430; 1432) - PATH_SEGMENT@[1430; 1432) - NAME_REF@[1430; 1432) - IDENT@[1430; 1432) "_x" - WHITESPACE@[1432; 1433) " " - EQ@[1433; 1434) "=" - WHITESPACE@[1434; 1435) " " - LITERAL@[1435; 1436) - INT_NUMBER@[1435; 1436) "0" - R_PAREN@[1436; 1437) ")" - SEMI@[1437; 1438) ";" - WHITESPACE@[1438; 1443) "\n " - LET_STMT@[1443; 1474) - LET_KW@[1443; 1446) "let" - WHITESPACE@[1446; 1447) " " - BIND_PAT@[1447; 1449) - NAME@[1447; 1449) - IDENT@[1447; 1449) "_a" - WHITESPACE@[1449; 1450) " " - EQ@[1450; 1451) "=" - WHITESPACE@[1451; 1452) " " - BIN_EXPR@[1452; 1473) - PAREN_EXPR@[1452; 1461) - L_PAREN@[1452; 1453) "(" - BIN_EXPR@[1453; 1460) - PATH_EXPR@[1453; 1455) - PATH@[1453; 1455) - PATH_SEGMENT@[1453; 1455) - NAME_REF@[1453; 1455) - IDENT@[1453; 1455) "_x" - WHITESPACE@[1455; 1456) " " - PLUSEQ@[1456; 1458) "+=" - WHITESPACE@[1458; 1459) " " - LITERAL@[1459; 1460) - INT_NUMBER@[1459; 1460) "0" - R_PAREN@[1460; 1461) ")" - WHITESPACE@[1461; 1462) " " - EQEQ@[1462; 1464) "==" - WHITESPACE@[1464; 1465) " " - PAREN_EXPR@[1465; 1473) - L_PAREN@[1465; 1466) "(" - BIN_EXPR@[1466; 1472) - PATH_EXPR@[1466; 1468) - PATH@[1466; 1468) - PATH_SEGMENT@[1466; 1468) - NAME_REF@[1466; 1468) - IDENT@[1466; 1468) "_x" - WHITESPACE@[1468; 1469) " " - EQ@[1469; 1470) "=" - WHITESPACE@[1470; 1471) " " - LITERAL@[1471; 1472) - INT_NUMBER@[1471; 1472) "0" - R_PAREN@[1472; 1473) ")" - SEMI@[1473; 1474) ";" - WHITESPACE@[1474; 1479) "\n " - LET_STMT@[1479; 1537) - LET_KW@[1479; 1482) "let" - WHITESPACE@[1482; 1483) " " - BIND_PAT@[1483; 1485) - NAME@[1483; 1485) - IDENT@[1483; 1485) "_b" - WHITESPACE@[1485; 1486) " " - EQ@[1486; 1487) "=" - WHITESPACE@[1487; 1488) " " - BIN_EXPR@[1488; 1536) - CALL_EXPR@[1488; 1510) - PATH_EXPR@[1488; 1492) - PATH@[1488; 1492) - PATH_SEGMENT@[1488; 1492) - NAME_REF@[1488; 1492) - IDENT@[1488; 1492) "swap" - ARG_LIST@[1492; 1510) - L_PAREN@[1492; 1493) "(" - REF_EXPR@[1493; 1500) - AMP@[1493; 1494) "&" - MUT_KW@[1494; 1497) "mut" - WHITESPACE@[1497; 1498) " " - PATH_EXPR@[1498; 1500) - PATH@[1498; 1500) - PATH_SEGMENT@[1498; 1500) - NAME_REF@[1498; 1500) - IDENT@[1498; 1500) "_y" - COMMA@[1500; 1501) "," - WHITESPACE@[1501; 1502) " " - REF_EXPR@[1502; 1509) - AMP@[1502; 1503) "&" - MUT_KW@[1503; 1506) "mut" - WHITESPACE@[1506; 1507) " " - PATH_EXPR@[1507; 1509) - PATH@[1507; 1509) - PATH_SEGMENT@[1507; 1509) - NAME_REF@[1507; 1509) - IDENT@[1507; 1509) "_z" - R_PAREN@[1509; 1510) ")" - WHITESPACE@[1510; 1511) " " - EQEQ@[1511; 1513) "==" - WHITESPACE@[1513; 1514) " " - CALL_EXPR@[1514; 1536) - PATH_EXPR@[1514; 1518) - PATH@[1514; 1518) - PATH_SEGMENT@[1514; 1518) - NAME_REF@[1514; 1518) - IDENT@[1514; 1518) "swap" - ARG_LIST@[1518; 1536) - L_PAREN@[1518; 1519) "(" - REF_EXPR@[1519; 1526) - AMP@[1519; 1520) "&" - MUT_KW@[1520; 1523) "mut" - WHITESPACE@[1523; 1524) " " - PATH_EXPR@[1524; 1526) - PATH@[1524; 1526) - PATH_SEGMENT@[1524; 1526) - NAME_REF@[1524; 1526) - IDENT@[1524; 1526) "_y" - COMMA@[1526; 1527) "," - WHITESPACE@[1527; 1528) " " - REF_EXPR@[1528; 1535) - AMP@[1528; 1529) "&" - MUT_KW@[1529; 1532) "mut" - WHITESPACE@[1532; 1533) " " - PATH_EXPR@[1533; 1535) - PATH@[1533; 1535) - PATH_SEGMENT@[1533; 1535) - NAME_REF@[1533; 1535) - IDENT@[1533; 1535) "_z" - R_PAREN@[1535; 1536) ")" - SEMI@[1536; 1537) ";" - WHITESPACE@[1537; 1538) "\n" - R_CURLY@[1538; 1539) "}" - WHITESPACE@[1539; 1541) "\n\n" - FN_DEF@[1541; 1741) - FN_KW@[1541; 1543) "fn" - WHITESPACE@[1543; 1544) " " - NAME@[1544; 1557) - IDENT@[1544; 1557) "canttouchthis" - PARAM_LIST@[1557; 1559) - L_PAREN@[1557; 1558) "(" - R_PAREN@[1558; 1559) ")" - WHITESPACE@[1559; 1560) " " - RET_TYPE@[1560; 1568) - THIN_ARROW@[1560; 1562) "->" - WHITESPACE@[1562; 1563) " " - PATH_TYPE@[1563; 1568) - PATH@[1563; 1568) - PATH_SEGMENT@[1563; 1568) - NAME_REF@[1563; 1568) - IDENT@[1563; 1568) "usize" - WHITESPACE@[1568; 1569) " " - BLOCK_EXPR@[1569; 1741) - BLOCK@[1569; 1741) - L_CURLY@[1569; 1570) "{" - WHITESPACE@[1570; 1575) "\n " - FN_DEF@[1575; 1598) - FN_KW@[1575; 1577) "fn" - WHITESPACE@[1577; 1578) " " - NAME@[1578; 1579) - IDENT@[1578; 1579) "p" - PARAM_LIST@[1579; 1581) - L_PAREN@[1579; 1580) "(" - R_PAREN@[1580; 1581) ")" - WHITESPACE@[1581; 1582) " " - RET_TYPE@[1582; 1589) - THIN_ARROW@[1582; 1584) "->" - WHITESPACE@[1584; 1585) " " - PATH_TYPE@[1585; 1589) - PATH@[1585; 1589) - PATH_SEGMENT@[1585; 1589) - NAME_REF@[1585; 1589) - IDENT@[1585; 1589) "bool" - WHITESPACE@[1589; 1590) " " - BLOCK_EXPR@[1590; 1598) - BLOCK@[1590; 1598) - L_CURLY@[1590; 1591) "{" - WHITESPACE@[1591; 1592) " " - LITERAL@[1592; 1596) - TRUE_KW@[1592; 1596) "true" - WHITESPACE@[1596; 1597) " " - R_CURLY@[1597; 1598) "}" - WHITESPACE@[1598; 1603) "\n " - LET_STMT@[1603; 1648) - LET_KW@[1603; 1606) "let" - WHITESPACE@[1606; 1607) " " - BIND_PAT@[1607; 1609) - NAME@[1607; 1609) - IDENT@[1607; 1609) "_a" - WHITESPACE@[1609; 1610) " " - EQ@[1610; 1611) "=" - WHITESPACE@[1611; 1612) " " - PAREN_EXPR@[1612; 1647) - L_PAREN@[1612; 1613) "(" - BIN_EXPR@[1613; 1646) - MACRO_CALL@[1613; 1628) - PATH@[1613; 1619) - PATH_SEGMENT@[1613; 1619) - NAME_REF@[1613; 1619) - IDENT@[1613; 1619) "assert" - EXCL@[1619; 1620) "!" - TOKEN_TREE@[1620; 1628) - L_PAREN@[1620; 1621) "(" - TOKEN_TREE@[1621; 1627) - L_PAREN@[1621; 1622) "(" - TRUE_KW@[1622; 1626) "true" - R_PAREN@[1626; 1627) ")" - R_PAREN@[1627; 1628) ")" - WHITESPACE@[1628; 1629) " " - EQEQ@[1629; 1631) "==" - WHITESPACE@[1631; 1632) " " - PAREN_EXPR@[1632; 1646) - L_PAREN@[1632; 1633) "(" - MACRO_CALL@[1633; 1645) - PATH@[1633; 1639) - PATH_SEGMENT@[1633; 1639) - NAME_REF@[1633; 1639) - IDENT@[1633; 1639) "assert" - EXCL@[1639; 1640) "!" - TOKEN_TREE@[1640; 1645) - L_PAREN@[1640; 1641) "(" - IDENT@[1641; 1642) "p" - TOKEN_TREE@[1642; 1644) - L_PAREN@[1642; 1643) "(" - R_PAREN@[1643; 1644) ")" - R_PAREN@[1644; 1645) ")" - R_PAREN@[1645; 1646) ")" - R_PAREN@[1646; 1647) ")" - SEMI@[1647; 1648) ";" - WHITESPACE@[1648; 1653) "\n " - LET_STMT@[1653; 1685) - LET_KW@[1653; 1656) "let" - WHITESPACE@[1656; 1657) " " - BIND_PAT@[1657; 1659) - NAME@[1657; 1659) - IDENT@[1657; 1659) "_c" - WHITESPACE@[1659; 1660) " " - EQ@[1660; 1661) "=" - WHITESPACE@[1661; 1662) " " - PAREN_EXPR@[1662; 1684) - L_PAREN@[1662; 1663) "(" - BIN_EXPR@[1663; 1683) - MACRO_CALL@[1663; 1677) - PATH@[1663; 1669) - PATH_SEGMENT@[1663; 1669) - NAME_REF@[1663; 1669) - IDENT@[1663; 1669) "assert" - EXCL@[1669; 1670) "!" - TOKEN_TREE@[1670; 1677) - L_PAREN@[1670; 1671) "(" - TOKEN_TREE@[1671; 1676) - L_PAREN@[1671; 1672) "(" - IDENT@[1672; 1673) "p" - TOKEN_TREE@[1673; 1675) - L_PAREN@[1673; 1674) "(" - R_PAREN@[1674; 1675) ")" - R_PAREN@[1675; 1676) ")" - R_PAREN@[1676; 1677) ")" - WHITESPACE@[1677; 1678) " " - EQEQ@[1678; 1680) "==" - WHITESPACE@[1680; 1681) " " - TUPLE_EXPR@[1681; 1683) - L_PAREN@[1681; 1682) "(" - R_PAREN@[1682; 1683) ")" - R_PAREN@[1683; 1684) ")" - SEMI@[1684; 1685) ";" - WHITESPACE@[1685; 1690) "\n " - LET_STMT@[1690; 1739) - LET_KW@[1690; 1693) "let" - WHITESPACE@[1693; 1694) " " - BIND_PAT@[1694; 1696) - NAME@[1694; 1696) - IDENT@[1694; 1696) "_b" - COLON@[1696; 1697) ":" - WHITESPACE@[1697; 1698) " " - PATH_TYPE@[1698; 1702) - PATH@[1698; 1702) - PATH_SEGMENT@[1698; 1702) - NAME_REF@[1698; 1702) - IDENT@[1698; 1702) "bool" - WHITESPACE@[1702; 1703) " " - EQ@[1703; 1704) "=" - WHITESPACE@[1704; 1705) " " - PAREN_EXPR@[1705; 1738) - L_PAREN@[1705; 1706) "(" - BIN_EXPR@[1706; 1737) - MACRO_CALL@[1706; 1723) - PATH@[1706; 1713) - PATH_SEGMENT@[1706; 1713) - NAME_REF@[1706; 1713) - IDENT@[1706; 1713) "println" - EXCL@[1713; 1714) "!" - TOKEN_TREE@[1714; 1723) - L_PAREN@[1714; 1715) "(" - STRING@[1715; 1719) "\"{}\"" - COMMA@[1719; 1720) "," - WHITESPACE@[1720; 1721) " " - INT_NUMBER@[1721; 1722) "0" - R_PAREN@[1722; 1723) ")" - WHITESPACE@[1723; 1724) " " - EQEQ@[1724; 1726) "==" - WHITESPACE@[1726; 1727) " " - PAREN_EXPR@[1727; 1737) - L_PAREN@[1727; 1728) "(" - RETURN_EXPR@[1728; 1736) - RETURN_KW@[1728; 1734) "return" - WHITESPACE@[1734; 1735) " " - LITERAL@[1735; 1736) - INT_NUMBER@[1735; 1736) "0" - R_PAREN@[1736; 1737) ")" - R_PAREN@[1737; 1738) ")" - SEMI@[1738; 1739) ";" - WHITESPACE@[1739; 1740) "\n" - R_CURLY@[1740; 1741) "}" - WHITESPACE@[1741; 1743) "\n\n" - FN_DEF@[1743; 1904) - FN_KW@[1743; 1745) "fn" - WHITESPACE@[1745; 1746) " " - NAME@[1746; 1755) - IDENT@[1746; 1755) "angrydome" - PARAM_LIST@[1755; 1757) - L_PAREN@[1755; 1756) "(" - R_PAREN@[1756; 1757) ")" - WHITESPACE@[1757; 1758) " " - BLOCK_EXPR@[1758; 1904) - BLOCK@[1758; 1904) - L_CURLY@[1758; 1759) "{" - WHITESPACE@[1759; 1764) "\n " - EXPR_STMT@[1764; 1785) - LOOP_EXPR@[1764; 1785) - LOOP_KW@[1764; 1768) "loop" - WHITESPACE@[1768; 1769) " " - BLOCK_EXPR@[1769; 1785) - BLOCK@[1769; 1785) - L_CURLY@[1769; 1770) "{" - WHITESPACE@[1770; 1771) " " - IF_EXPR@[1771; 1783) - IF_KW@[1771; 1773) "if" - WHITESPACE@[1773; 1774) " " - CONDITION@[1774; 1779) - BREAK_EXPR@[1774; 1779) - BREAK_KW@[1774; 1779) "break" - WHITESPACE@[1779; 1780) " " - BLOCK_EXPR@[1780; 1783) - BLOCK@[1780; 1783) - L_CURLY@[1780; 1781) "{" - WHITESPACE@[1781; 1782) " " - R_CURLY@[1782; 1783) "}" - WHITESPACE@[1783; 1784) " " - R_CURLY@[1784; 1785) "}" - WHITESPACE@[1785; 1790) "\n " - LET_STMT@[1790; 1804) - LET_KW@[1790; 1793) "let" - WHITESPACE@[1793; 1794) " " - BIND_PAT@[1794; 1799) - MUT_KW@[1794; 1797) "mut" - WHITESPACE@[1797; 1798) " " - NAME@[1798; 1799) - IDENT@[1798; 1799) "i" - WHITESPACE@[1799; 1800) " " - EQ@[1800; 1801) "=" - WHITESPACE@[1801; 1802) " " - LITERAL@[1802; 1803) - INT_NUMBER@[1802; 1803) "0" - SEMI@[1803; 1804) ";" - WHITESPACE@[1804; 1809) "\n " - LOOP_EXPR@[1809; 1902) - LOOP_KW@[1809; 1813) "loop" - WHITESPACE@[1813; 1814) " " - BLOCK_EXPR@[1814; 1902) - BLOCK@[1814; 1902) - L_CURLY@[1814; 1815) "{" - WHITESPACE@[1815; 1816) " " - EXPR_STMT@[1816; 1823) - BIN_EXPR@[1816; 1822) - PATH_EXPR@[1816; 1817) - PATH@[1816; 1817) - PATH_SEGMENT@[1816; 1817) - NAME_REF@[1816; 1817) - IDENT@[1816; 1817) "i" - WHITESPACE@[1817; 1818) " " - PLUSEQ@[1818; 1820) "+=" - WHITESPACE@[1820; 1821) " " - LITERAL@[1821; 1822) - INT_NUMBER@[1821; 1822) "1" - SEMI@[1822; 1823) ";" - WHITESPACE@[1823; 1824) " " - EXPR_STMT@[1824; 1887) - IF_EXPR@[1824; 1887) - IF_KW@[1824; 1826) "if" - WHITESPACE@[1826; 1827) " " - CONDITION@[1827; 1833) - BIN_EXPR@[1827; 1833) - PATH_EXPR@[1827; 1828) - PATH@[1827; 1828) - PATH_SEGMENT@[1827; 1828) - NAME_REF@[1827; 1828) - IDENT@[1827; 1828) "i" - WHITESPACE@[1828; 1829) " " - EQEQ@[1829; 1831) "==" - WHITESPACE@[1831; 1832) " " - LITERAL@[1832; 1833) - INT_NUMBER@[1832; 1833) "1" - WHITESPACE@[1833; 1834) " " - BLOCK_EXPR@[1834; 1887) - BLOCK@[1834; 1887) - L_CURLY@[1834; 1835) "{" - WHITESPACE@[1835; 1836) " " - MATCH_EXPR@[1836; 1885) - MATCH_KW@[1836; 1841) "match" - WHITESPACE@[1841; 1842) " " - PAREN_EXPR@[1842; 1852) - L_PAREN@[1842; 1843) "(" - CONTINUE_EXPR@[1843; 1851) - CONTINUE_KW@[1843; 1851) "continue" - R_PAREN@[1851; 1852) ")" - WHITESPACE@[1852; 1853) " " - MATCH_ARM_LIST@[1853; 1885) - L_CURLY@[1853; 1854) "{" - WHITESPACE@[1854; 1855) " " - MATCH_ARM@[1855; 1863) - LITERAL_PAT@[1855; 1856) - LITERAL@[1855; 1856) - INT_NUMBER@[1855; 1856) "1" - WHITESPACE@[1856; 1857) " " - FAT_ARROW@[1857; 1859) "=>" - WHITESPACE@[1859; 1860) " " - BLOCK_EXPR@[1860; 1863) - BLOCK@[1860; 1863) - L_CURLY@[1860; 1861) "{" - WHITESPACE@[1861; 1862) " " - R_CURLY@[1862; 1863) "}" - COMMA@[1863; 1864) "," - WHITESPACE@[1864; 1865) " " - MATCH_ARM@[1865; 1883) - PLACEHOLDER_PAT@[1865; 1866) - UNDERSCORE@[1865; 1866) "_" - WHITESPACE@[1866; 1867) " " - FAT_ARROW@[1867; 1869) "=>" - WHITESPACE@[1869; 1870) " " - MACRO_CALL@[1870; 1883) - PATH@[1870; 1875) - PATH_SEGMENT@[1870; 1875) - NAME_REF@[1870; 1875) - IDENT@[1870; 1875) "panic" - EXCL@[1875; 1876) "!" - TOKEN_TREE@[1876; 1883) - L_PAREN@[1876; 1877) "(" - STRING@[1877; 1882) "\"wat\"" - R_PAREN@[1882; 1883) ")" - WHITESPACE@[1883; 1884) " " - R_CURLY@[1884; 1885) "}" - WHITESPACE@[1885; 1886) " " - R_CURLY@[1886; 1887) "}" - WHITESPACE@[1887; 1894) "\n " - EXPR_STMT@[1894; 1900) - BREAK_EXPR@[1894; 1899) - BREAK_KW@[1894; 1899) "break" - SEMI@[1899; 1900) ";" - WHITESPACE@[1900; 1901) " " - R_CURLY@[1901; 1902) "}" - WHITESPACE@[1902; 1903) "\n" - R_CURLY@[1903; 1904) "}" - WHITESPACE@[1904; 1906) "\n\n" - FN_DEF@[1906; 1960) - FN_KW@[1906; 1908) "fn" - WHITESPACE@[1908; 1909) " " - NAME@[1909; 1921) - IDENT@[1909; 1921) "evil_lincoln" - PARAM_LIST@[1921; 1923) - L_PAREN@[1921; 1922) "(" - R_PAREN@[1922; 1923) ")" - WHITESPACE@[1923; 1924) " " - BLOCK_EXPR@[1924; 1960) - BLOCK@[1924; 1960) - L_CURLY@[1924; 1925) "{" - WHITESPACE@[1925; 1926) " " - LET_STMT@[1926; 1958) - LET_KW@[1926; 1929) "let" - WHITESPACE@[1929; 1930) " " - BIND_PAT@[1930; 1935) - NAME@[1930; 1935) - IDENT@[1930; 1935) "_evil" - WHITESPACE@[1935; 1936) " " - EQ@[1936; 1937) "=" - WHITESPACE@[1937; 1938) " " - MACRO_CALL@[1938; 1957) - PATH@[1938; 1945) - PATH_SEGMENT@[1938; 1945) - NAME_REF@[1938; 1945) - IDENT@[1938; 1945) "println" - EXCL@[1945; 1946) "!" - TOKEN_TREE@[1946; 1957) - L_PAREN@[1946; 1947) "(" - STRING@[1947; 1956) "\"lincoln\"" - R_PAREN@[1956; 1957) ")" - SEMI@[1957; 1958) ";" - WHITESPACE@[1958; 1959) " " - R_CURLY@[1959; 1960) "}" - WHITESPACE@[1960; 1962) "\n\n" - FN_DEF@[1962; 2198) - FN_KW@[1962; 1964) "fn" - WHITESPACE@[1964; 1965) " " - NAME@[1965; 1969) - IDENT@[1965; 1969) "dots" - PARAM_LIST@[1969; 1971) - L_PAREN@[1969; 1970) "(" - R_PAREN@[1970; 1971) ")" - WHITESPACE@[1971; 1972) " " - BLOCK_EXPR@[1972; 2198) - BLOCK@[1972; 2198) - L_CURLY@[1972; 1973) "{" - WHITESPACE@[1973; 1978) "\n " - EXPR_STMT@[1978; 2196) - MACRO_CALL@[1978; 2195) - PATH@[1978; 1987) - PATH_SEGMENT@[1978; 1987) - NAME_REF@[1978; 1987) - IDENT@[1978; 1987) "assert_eq" - EXCL@[1987; 1988) "!" - TOKEN_TREE@[1988; 2195) - L_PAREN@[1988; 1989) "(" - IDENT@[1989; 1995) "String" - COLON@[1995; 1996) ":" - COLON@[1996; 1997) ":" - IDENT@[1997; 2001) "from" - TOKEN_TREE@[2001; 2055) - L_PAREN@[2001; 2002) "(" - STRING@[2002; 2054) "\".................... ..." - R_PAREN@[2054; 2055) ")" - COMMA@[2055; 2056) "," - WHITESPACE@[2056; 2072) "\n " - IDENT@[2072; 2078) "format" - EXCL@[2078; 2079) "!" - TOKEN_TREE@[2079; 2194) - L_PAREN@[2079; 2080) "(" - STRING@[2080; 2086) "\"{:?}\"" - COMMA@[2086; 2087) "," - WHITESPACE@[2087; 2088) " " - DOT@[2088; 2089) "." - DOT@[2089; 2090) "." - WHITESPACE@[2090; 2091) " " - DOT@[2091; 2092) "." - DOT@[2092; 2093) "." - WHITESPACE@[2093; 2094) " " - DOT@[2094; 2095) "." - DOT@[2095; 2096) "." - WHITESPACE@[2096; 2097) " " - DOT@[2097; 2098) "." - DOT@[2098; 2099) "." - WHITESPACE@[2099; 2100) " " - DOT@[2100; 2101) "." - DOT@[2101; 2102) "." - WHITESPACE@[2102; 2103) " " - DOT@[2103; 2104) "." - DOT@[2104; 2105) "." - WHITESPACE@[2105; 2106) " " - DOT@[2106; 2107) "." - DOT@[2107; 2108) "." - WHITESPACE@[2108; 2109) " " - DOT@[2109; 2110) "." - DOT@[2110; 2111) "." - WHITESPACE@[2111; 2112) " " - DOT@[2112; 2113) "." - DOT@[2113; 2114) "." - WHITESPACE@[2114; 2115) " " - DOT@[2115; 2116) "." - DOT@[2116; 2117) "." - WHITESPACE@[2117; 2118) " " - DOT@[2118; 2119) "." - DOT@[2119; 2120) "." - WHITESPACE@[2120; 2121) " " - DOT@[2121; 2122) "." - DOT@[2122; 2123) "." - WHITESPACE@[2123; 2124) " " - DOT@[2124; 2125) "." - DOT@[2125; 2126) "." - WHITESPACE@[2126; 2158) "\n ..." - DOT@[2158; 2159) "." - DOT@[2159; 2160) "." - WHITESPACE@[2160; 2161) " " - DOT@[2161; 2162) "." - DOT@[2162; 2163) "." - WHITESPACE@[2163; 2164) " " - DOT@[2164; 2165) "." - DOT@[2165; 2166) "." - WHITESPACE@[2166; 2167) " " - DOT@[2167; 2168) "." - DOT@[2168; 2169) "." - WHITESPACE@[2169; 2170) " " - DOT@[2170; 2171) "." - DOT@[2171; 2172) "." - WHITESPACE@[2172; 2173) " " - DOT@[2173; 2174) "." - DOT@[2174; 2175) "." - WHITESPACE@[2175; 2176) " " - DOT@[2176; 2177) "." - DOT@[2177; 2178) "." - WHITESPACE@[2178; 2179) " " - DOT@[2179; 2180) "." - DOT@[2180; 2181) "." - WHITESPACE@[2181; 2182) " " - DOT@[2182; 2183) "." - DOT@[2183; 2184) "." - WHITESPACE@[2184; 2185) " " - DOT@[2185; 2186) "." - DOT@[2186; 2187) "." - WHITESPACE@[2187; 2188) " " - DOT@[2188; 2189) "." - DOT@[2189; 2190) "." - WHITESPACE@[2190; 2191) " " - DOT@[2191; 2192) "." - DOT@[2192; 2193) "." - R_PAREN@[2193; 2194) ")" - R_PAREN@[2194; 2195) ")" - SEMI@[2195; 2196) ";" - WHITESPACE@[2196; 2197) "\n" - R_CURLY@[2197; 2198) "}" - WHITESPACE@[2198; 2200) "\n\n" - FN_DEF@[2200; 2693) - FN_KW@[2200; 2202) "fn" - WHITESPACE@[2202; 2203) " " - NAME@[2203; 2205) - IDENT@[2203; 2205) "u8" - PARAM_LIST@[2205; 2213) - L_PAREN@[2205; 2206) "(" - PARAM@[2206; 2212) - BIND_PAT@[2206; 2208) - NAME@[2206; 2208) - IDENT@[2206; 2208) "u8" - COLON@[2208; 2209) ":" - WHITESPACE@[2209; 2210) " " - PATH_TYPE@[2210; 2212) - PATH@[2210; 2212) - PATH_SEGMENT@[2210; 2212) - NAME_REF@[2210; 2212) - IDENT@[2210; 2212) "u8" - R_PAREN@[2212; 2213) ")" - WHITESPACE@[2213; 2214) " " - BLOCK_EXPR@[2214; 2693) - BLOCK@[2214; 2693) - L_CURLY@[2214; 2215) "{" - WHITESPACE@[2215; 2220) "\n " - IF_EXPR@[2220; 2691) - IF_KW@[2220; 2222) "if" - WHITESPACE@[2222; 2223) " " - CONDITION@[2223; 2232) - BIN_EXPR@[2223; 2232) - PATH_EXPR@[2223; 2225) - PATH@[2223; 2225) - PATH_SEGMENT@[2223; 2225) - NAME_REF@[2223; 2225) - IDENT@[2223; 2225) "u8" - WHITESPACE@[2225; 2226) " " - NEQ@[2226; 2228) "!=" - WHITESPACE@[2228; 2229) " " - LITERAL@[2229; 2232) - INT_NUMBER@[2229; 2232) "0u8" - WHITESPACE@[2232; 2233) " " - BLOCK_EXPR@[2233; 2691) - BLOCK@[2233; 2691) - L_CURLY@[2233; 2234) "{" - WHITESPACE@[2234; 2243) "\n " - EXPR_STMT@[2243; 2685) - MACRO_CALL@[2243; 2684) - PATH@[2243; 2252) - PATH_SEGMENT@[2243; 2252) - NAME_REF@[2243; 2252) - IDENT@[2243; 2252) "assert_eq" - EXCL@[2252; 2253) "!" - TOKEN_TREE@[2253; 2684) - L_PAREN@[2253; 2254) "(" - INT_NUMBER@[2254; 2257) "8u8" - COMMA@[2257; 2258) "," - WHITESPACE@[2258; 2259) " " - TOKEN_TREE@[2259; 2683) - L_CURLY@[2259; 2260) "{" - WHITESPACE@[2260; 2273) "\n " - IDENT@[2273; 2284) "macro_rules" - EXCL@[2284; 2285) "!" - WHITESPACE@[2285; 2286) " " - IDENT@[2286; 2288) "u8" - WHITESPACE@[2288; 2289) " " - TOKEN_TREE@[2289; 2567) - L_CURLY@[2289; 2290) "{" - WHITESPACE@[2290; 2307) "\n " - TOKEN_TREE@[2307; 2311) - L_PAREN@[2307; 2308) "(" - IDENT@[2308; 2310) "u8" - R_PAREN@[2310; 2311) ")" - WHITESPACE@[2311; 2312) " " - EQ@[2312; 2313) "=" - R_ANGLE@[2313; 2314) ">" - WHITESPACE@[2314; 2315) " " - TOKEN_TREE@[2315; 2552) - L_CURLY@[2315; 2316) "{" - WHITESPACE@[2316; 2337) "\n " - MOD_KW@[2337; 2340) "mod" - WHITESPACE@[2340; 2341) " " - IDENT@[2341; 2343) "u8" - WHITESPACE@[2343; 2344) " " - TOKEN_TREE@[2344; 2534) - L_CURLY@[2344; 2345) "{" - WHITESPACE@[2345; 2370) "\n ..." - PUB_KW@[2370; 2373) "pub" - WHITESPACE@[2373; 2374) " " - FN_KW@[2374; 2376) "fn" - WHITESPACE@[2376; 2377) " " - IDENT@[2377; 2379) "u8" - L_ANGLE@[2379; 2380) "<" - LIFETIME@[2380; 2383) "\'u8" - COLON@[2383; 2384) ":" - WHITESPACE@[2384; 2385) " " - LIFETIME@[2385; 2388) "\'u8" - WHITESPACE@[2388; 2389) " " - PLUS@[2389; 2390) "+" - WHITESPACE@[2390; 2391) " " - LIFETIME@[2391; 2394) "\'u8" - R_ANGLE@[2394; 2395) ">" - TOKEN_TREE@[2395; 2408) - L_PAREN@[2395; 2396) "(" - IDENT@[2396; 2398) "u8" - COLON@[2398; 2399) ":" - WHITESPACE@[2399; 2400) " " - AMP@[2400; 2401) "&" - LIFETIME@[2401; 2404) "\'u8" - WHITESPACE@[2404; 2405) " " - IDENT@[2405; 2407) "u8" - R_PAREN@[2407; 2408) ")" - WHITESPACE@[2408; 2409) " " - MINUS@[2409; 2410) "-" - R_ANGLE@[2410; 2411) ">" - WHITESPACE@[2411; 2412) " " - AMP@[2412; 2413) "&" - LIFETIME@[2413; 2416) "\'u8" - WHITESPACE@[2416; 2417) " " - IDENT@[2417; 2419) "u8" - WHITESPACE@[2419; 2420) " " - TOKEN_TREE@[2420; 2512) - L_CURLY@[2420; 2421) "{" - WHITESPACE@[2421; 2450) "\n ..." - STRING@[2450; 2454) "\"u8\"" - SEMI@[2454; 2455) ";" - WHITESPACE@[2455; 2484) "\n ..." - IDENT@[2484; 2486) "u8" - WHITESPACE@[2486; 2511) "\n ..." - R_CURLY@[2511; 2512) "}" - WHITESPACE@[2512; 2533) "\n " - R_CURLY@[2533; 2534) "}" - WHITESPACE@[2534; 2551) "\n " - R_CURLY@[2551; 2552) "}" - SEMI@[2552; 2553) ";" - WHITESPACE@[2553; 2566) "\n " - R_CURLY@[2566; 2567) "}" - WHITESPACE@[2567; 2581) "\n\n " - IDENT@[2581; 2583) "u8" - EXCL@[2583; 2584) "!" - TOKEN_TREE@[2584; 2588) - L_PAREN@[2584; 2585) "(" - IDENT@[2585; 2587) "u8" - R_PAREN@[2587; 2588) ")" - SEMI@[2588; 2589) ";" - WHITESPACE@[2589; 2602) "\n " - LET_KW@[2602; 2605) "let" - WHITESPACE@[2605; 2606) " " - AMP@[2606; 2607) "&" - IDENT@[2607; 2609) "u8" - COLON@[2609; 2610) ":" - WHITESPACE@[2610; 2611) " " - AMP@[2611; 2612) "&" - IDENT@[2612; 2614) "u8" - WHITESPACE@[2614; 2615) " " - EQ@[2615; 2616) "=" - WHITESPACE@[2616; 2617) " " - IDENT@[2617; 2619) "u8" - COLON@[2619; 2620) ":" - COLON@[2620; 2621) ":" - IDENT@[2621; 2623) "u8" - TOKEN_TREE@[2623; 2629) - L_PAREN@[2623; 2624) "(" - AMP@[2624; 2625) "&" - INT_NUMBER@[2625; 2628) "8u8" - R_PAREN@[2628; 2629) ")" - SEMI@[2629; 2630) ";" - WHITESPACE@[2630; 2643) "\n " - CRATE_KW@[2643; 2648) "crate" - COLON@[2648; 2649) ":" - COLON@[2649; 2650) ":" - IDENT@[2650; 2652) "u8" - TOKEN_TREE@[2652; 2657) - L_PAREN@[2652; 2653) "(" - INT_NUMBER@[2653; 2656) "0u8" - R_PAREN@[2656; 2657) ")" - SEMI@[2657; 2658) ";" - WHITESPACE@[2658; 2671) "\n " - IDENT@[2671; 2673) "u8" - WHITESPACE@[2673; 2682) "\n " - R_CURLY@[2682; 2683) "}" - R_PAREN@[2683; 2684) ")" - SEMI@[2684; 2685) ";" - WHITESPACE@[2685; 2690) "\n " - R_CURLY@[2690; 2691) "}" - WHITESPACE@[2691; 2692) "\n" - R_CURLY@[2692; 2693) "}" - WHITESPACE@[2693; 2695) "\n\n" - FN_DEF@[2695; 2832) - FN_KW@[2695; 2697) "fn" - WHITESPACE@[2697; 2698) " " - NAME@[2698; 2703) - IDENT@[2698; 2703) "fishy" - PARAM_LIST@[2703; 2705) - L_PAREN@[2703; 2704) "(" - R_PAREN@[2704; 2705) ")" - WHITESPACE@[2705; 2706) " " - BLOCK_EXPR@[2706; 2832) - BLOCK@[2706; 2832) - L_CURLY@[2706; 2707) "{" - WHITESPACE@[2707; 2712) "\n " - EXPR_STMT@[2712; 2830) - MACRO_CALL@[2712; 2829) - PATH@[2712; 2721) - PATH_SEGMENT@[2712; 2721) - NAME_REF@[2712; 2721) - IDENT@[2712; 2721) "assert_eq" - EXCL@[2721; 2722) "!" - TOKEN_TREE@[2722; 2829) - L_PAREN@[2722; 2723) "(" - IDENT@[2723; 2729) "String" - COLON@[2729; 2730) ":" - COLON@[2730; 2731) ":" - IDENT@[2731; 2735) "from" - TOKEN_TREE@[2735; 2742) - L_PAREN@[2735; 2736) "(" - STRING@[2736; 2741) "\"><>\"" - R_PAREN@[2741; 2742) ")" - COMMA@[2742; 2743) "," - WHITESPACE@[2743; 2759) "\n " - IDENT@[2759; 2765) "String" - COLON@[2765; 2766) ":" - COLON@[2766; 2767) ":" - L_ANGLE@[2767; 2768) "<" - R_ANGLE@[2768; 2769) ">" - COLON@[2769; 2770) ":" - COLON@[2770; 2771) ":" - IDENT@[2771; 2775) "from" - COLON@[2775; 2776) ":" - COLON@[2776; 2777) ":" - L_ANGLE@[2777; 2778) "<" - R_ANGLE@[2778; 2779) ">" - TOKEN_TREE@[2779; 2786) - L_PAREN@[2779; 2780) "(" - STRING@[2780; 2785) "\"><>\"" - R_PAREN@[2785; 2786) ")" - DOT@[2786; 2787) "." - IDENT@[2787; 2792) "chars" - COLON@[2792; 2793) ":" - COLON@[2793; 2794) ":" - L_ANGLE@[2794; 2795) "<" - R_ANGLE@[2795; 2796) ">" - TOKEN_TREE@[2796; 2798) - L_PAREN@[2796; 2797) "(" - R_PAREN@[2797; 2798) ")" - DOT@[2798; 2799) "." - IDENT@[2799; 2802) "rev" - COLON@[2802; 2803) ":" - COLON@[2803; 2804) ":" - L_ANGLE@[2804; 2805) "<" - R_ANGLE@[2805; 2806) ">" - TOKEN_TREE@[2806; 2808) - L_PAREN@[2806; 2807) "(" - R_PAREN@[2807; 2808) ")" - DOT@[2808; 2809) "." - IDENT@[2809; 2816) "collect" - COLON@[2816; 2817) ":" - COLON@[2817; 2818) ":" - L_ANGLE@[2818; 2819) "<" - IDENT@[2819; 2825) "String" - R_ANGLE@[2825; 2826) ">" - TOKEN_TREE@[2826; 2828) - L_PAREN@[2826; 2827) "(" - R_PAREN@[2827; 2828) ")" - R_PAREN@[2828; 2829) ")" - SEMI@[2829; 2830) ";" - WHITESPACE@[2830; 2831) "\n" - R_CURLY@[2831; 2832) "}" - WHITESPACE@[2832; 2834) "\n\n" - FN_DEF@[2834; 2906) - FN_KW@[2834; 2836) "fn" - WHITESPACE@[2836; 2837) " " - NAME@[2837; 2842) - IDENT@[2837; 2842) "union" - PARAM_LIST@[2842; 2844) - L_PAREN@[2842; 2843) "(" - R_PAREN@[2843; 2844) ")" - WHITESPACE@[2844; 2845) " " - BLOCK_EXPR@[2845; 2906) - BLOCK@[2845; 2906) - L_CURLY@[2845; 2846) "{" - WHITESPACE@[2846; 2851) "\n " - UNION_DEF@[2851; 2904) - UNION_KW@[2851; 2856) "union" - WHITESPACE@[2856; 2857) " " - NAME@[2857; 2862) - IDENT@[2857; 2862) "union" - TYPE_PARAM_LIST@[2862; 2870) - L_ANGLE@[2862; 2863) "<" - LIFETIME_PARAM@[2863; 2869) - LIFETIME@[2863; 2869) "\'union" - R_ANGLE@[2869; 2870) ">" - WHITESPACE@[2870; 2871) " " - RECORD_FIELD_DEF_LIST@[2871; 2904) - L_CURLY@[2871; 2872) "{" - WHITESPACE@[2872; 2873) " " - RECORD_FIELD_DEF@[2873; 2901) - NAME@[2873; 2878) - IDENT@[2873; 2878) "union" - COLON@[2878; 2879) ":" - WHITESPACE@[2879; 2880) " " - REFERENCE_TYPE@[2880; 2901) - AMP@[2880; 2881) "&" - LIFETIME@[2881; 2887) "\'union" - WHITESPACE@[2887; 2888) " " - PATH_TYPE@[2888; 2901) - PATH@[2888; 2901) - PATH_SEGMENT@[2888; 2901) - NAME_REF@[2888; 2893) - IDENT@[2888; 2893) "union" - TYPE_ARG_LIST@[2893; 2901) - L_ANGLE@[2893; 2894) "<" - LIFETIME_ARG@[2894; 2900) - LIFETIME@[2894; 2900) "\'union" - R_ANGLE@[2900; 2901) ">" - COMMA@[2901; 2902) "," - WHITESPACE@[2902; 2903) " " - R_CURLY@[2903; 2904) "}" - WHITESPACE@[2904; 2905) "\n" - R_CURLY@[2905; 2906) "}" - WHITESPACE@[2906; 2908) "\n\n" - FN_DEF@[2908; 3042) - FN_KW@[2908; 2910) "fn" - WHITESPACE@[2910; 2911) " " - NAME@[2911; 2929) - IDENT@[2911; 2929) "special_characters" - PARAM_LIST@[2929; 2931) - L_PAREN@[2929; 2930) "(" - R_PAREN@[2930; 2931) ")" - WHITESPACE@[2931; 2932) " " - BLOCK_EXPR@[2932; 3042) - BLOCK@[2932; 3042) - L_CURLY@[2932; 2933) "{" - WHITESPACE@[2933; 2938) "\n " - LET_STMT@[2938; 3021) - LET_KW@[2938; 2941) "let" - WHITESPACE@[2941; 2942) " " - BIND_PAT@[2942; 2945) - NAME@[2942; 2945) - IDENT@[2942; 2945) "val" - WHITESPACE@[2945; 2946) " " - EQ@[2946; 2947) "=" - WHITESPACE@[2947; 2948) " " - PREFIX_EXPR@[2948; 3013) - EXCL@[2948; 2949) "!" - PAREN_EXPR@[2949; 3013) - L_PAREN@[2949; 2950) "(" - BIN_EXPR@[2950; 3012) - CALL_EXPR@[2950; 2995) - PAREN_EXPR@[2950; 2971) - L_PAREN@[2950; 2951) "(" - LAMBDA_EXPR@[2951; 2970) - PARAM_LIST@[2951; 2968) - PIPE@[2951; 2952) "|" - PARAM@[2952; 2962) - TUPLE_PAT@[2952; 2956) - L_PAREN@[2952; 2953) "(" - DOT_DOT_PAT@[2953; 2955) - DOTDOT@[2953; 2955) ".." - R_PAREN@[2955; 2956) ")" - COLON@[2956; 2957) ":" - TUPLE_TYPE@[2957; 2962) - L_PAREN@[2957; 2958) "(" - PLACEHOLDER_TYPE@[2958; 2959) - UNDERSCORE@[2958; 2959) "_" - COMMA@[2959; 2960) "," - PLACEHOLDER_TYPE@[2960; 2961) - UNDERSCORE@[2960; 2961) "_" - R_PAREN@[2961; 2962) ")" - COMMA@[2962; 2963) "," - PARAM@[2963; 2967) - BIND_PAT@[2963; 2967) - NAME@[2963; 2965) - IDENT@[2963; 2965) "__" - AT@[2965; 2966) "@" - PLACEHOLDER_PAT@[2966; 2967) - UNDERSCORE@[2966; 2967) "_" - PIPE@[2967; 2968) "|" - PATH_EXPR@[2968; 2970) - PATH@[2968; 2970) - PATH_SEGMENT@[2968; 2970) - NAME_REF@[2968; 2970) - IDENT@[2968; 2970) "__" - R_PAREN@[2970; 2971) ")" - ARG_LIST@[2971; 2995) - L_PAREN@[2971; 2972) "(" - TUPLE_EXPR@[2972; 2987) - L_PAREN@[2972; 2973) "(" - REF_EXPR@[2973; 2979) - AMP@[2973; 2974) "&" - PREFIX_EXPR@[2974; 2979) - STAR@[2974; 2975) "*" - LITERAL@[2975; 2979) - STRING@[2975; 2979) "\"\\\\\"" - COMMA@[2979; 2980) "," - LITERAL@[2980; 2986) - CHAR@[2980; 2986) "\'🤔\'" - R_PAREN@[2986; 2987) ")" - COMMENT@[2987; 2991) "/**/" - COMMA@[2991; 2992) "," - BLOCK_EXPR@[2992; 2994) - BLOCK@[2992; 2994) - L_CURLY@[2992; 2993) "{" - R_CURLY@[2993; 2994) "}" - R_PAREN@[2994; 2995) ")" - EQEQ@[2995; 2997) "==" - BLOCK_EXPR@[2997; 3012) - BLOCK@[2997; 3012) - L_CURLY@[2997; 2998) "{" - EXPR_STMT@[2998; 3011) - REF_EXPR@[2998; 3010) - AMP@[2998; 2999) "&" - INDEX_EXPR@[2999; 3010) - ARRAY_EXPR@[2999; 3006) - L_BRACK@[2999; 3000) "[" - RANGE_EXPR@[3000; 3005) - DOTDOTEQ@[3000; 3003) "..=" - RANGE_EXPR@[3003; 3005) - DOTDOT@[3003; 3005) ".." - R_BRACK@[3005; 3006) "]" - L_BRACK@[3006; 3007) "[" - RANGE_EXPR@[3007; 3009) - DOTDOT@[3007; 3009) ".." - R_BRACK@[3009; 3010) "]" - SEMI@[3010; 3011) ";" - R_CURLY@[3011; 3012) "}" - R_PAREN@[3012; 3013) ")" - COMMENT@[3013; 3015) "//" - WHITESPACE@[3015; 3020) "\n " - SEMI@[3020; 3021) ";" - WHITESPACE@[3021; 3026) "\n " - EXPR_STMT@[3026; 3040) - MACRO_CALL@[3026; 3039) - PATH@[3026; 3032) - PATH_SEGMENT@[3026; 3032) - NAME_REF@[3026; 3032) - IDENT@[3026; 3032) "assert" - EXCL@[3032; 3033) "!" - TOKEN_TREE@[3033; 3039) - L_PAREN@[3033; 3034) "(" - EXCL@[3034; 3035) "!" - IDENT@[3035; 3038) "val" - R_PAREN@[3038; 3039) ")" - SEMI@[3039; 3040) ";" - WHITESPACE@[3040; 3041) "\n" - R_CURLY@[3041; 3042) "}" - WHITESPACE@[3042; 3044) "\n\n" - FN_DEF@[3044; 3514) - FN_KW@[3044; 3046) "fn" - WHITESPACE@[3046; 3047) " " - NAME@[3047; 3057) - IDENT@[3047; 3057) "punch_card" - PARAM_LIST@[3057; 3059) - L_PAREN@[3057; 3058) "(" - R_PAREN@[3058; 3059) ")" - WHITESPACE@[3059; 3060) " " - RET_TYPE@[3060; 3083) - THIN_ARROW@[3060; 3062) "->" - WHITESPACE@[3062; 3063) " " - IMPL_TRAIT_TYPE@[3063; 3083) - IMPL_KW@[3063; 3067) "impl" - WHITESPACE@[3067; 3068) " " - TYPE_BOUND_LIST@[3068; 3083) - TYPE_BOUND@[3068; 3083) - PATH_TYPE@[3068; 3083) - PATH@[3068; 3083) - PATH@[3068; 3076) - PATH@[3068; 3071) - PATH_SEGMENT@[3068; 3071) - NAME_REF@[3068; 3071) - IDENT@[3068; 3071) "std" - COLONCOLON@[3071; 3073) "::" - PATH_SEGMENT@[3073; 3076) - NAME_REF@[3073; 3076) - IDENT@[3073; 3076) "fmt" - COLONCOLON@[3076; 3078) "::" - PATH_SEGMENT@[3078; 3083) - NAME_REF@[3078; 3083) - IDENT@[3078; 3083) "Debug" - WHITESPACE@[3083; 3084) " " - BLOCK_EXPR@[3084; 3514) - BLOCK@[3084; 3514) - L_CURLY@[3084; 3085) "{" - WHITESPACE@[3085; 3090) "\n " - RANGE_EXPR@[3090; 3512) - DOTDOTEQ@[3090; 3093) "..=" - RANGE_EXPR@[3093; 3512) - DOTDOTEQ@[3093; 3096) "..=" - RANGE_EXPR@[3096; 3512) - DOTDOT@[3096; 3098) ".." - WHITESPACE@[3098; 3099) " " - RANGE_EXPR@[3099; 3512) - DOTDOT@[3099; 3101) ".." - WHITESPACE@[3101; 3105) " " - RANGE_EXPR@[3105; 3512) - DOTDOT@[3105; 3107) ".." - WHITESPACE@[3107; 3108) " " - RANGE_EXPR@[3108; 3512) - DOTDOT@[3108; 3110) ".." - WHITESPACE@[3110; 3111) " " - RANGE_EXPR@[3111; 3512) - DOTDOT@[3111; 3113) ".." - WHITESPACE@[3113; 3114) " " - RANGE_EXPR@[3114; 3512) - DOTDOT@[3114; 3116) ".." - WHITESPACE@[3116; 3120) " " - RANGE_EXPR@[3120; 3512) - DOTDOT@[3120; 3122) ".." - WHITESPACE@[3122; 3123) " " - RANGE_EXPR@[3123; 3512) - DOTDOT@[3123; 3125) ".." - WHITESPACE@[3125; 3126) " " - RANGE_EXPR@[3126; 3512) - DOTDOT@[3126; 3128) ".." - WHITESPACE@[3128; 3129) " " - RANGE_EXPR@[3129; 3512) - DOTDOT@[3129; 3131) ".." - WHITESPACE@[3131; 3135) " " - RANGE_EXPR@[3135; 3512) - DOTDOT@[3135; 3137) ".." - WHITESPACE@[3137; 3138) " " - RANGE_EXPR@[3138; 3512) - DOTDOTEQ@[3138; 3141) "..=" - RANGE_EXPR@[3141; 3512) - DOTDOT@[3141; 3143) ".." - WHITESPACE@[3143; 3144) " " - RANGE_EXPR@[3144; 3512) - DOTDOT@[3144; 3146) ".." - WHITESPACE@[3146; 3151) "\n " - RANGE_EXPR@[3151; 3512) - DOTDOTEQ@[3151; 3154) "..=" - RANGE_EXPR@[3154; 3512) - DOTDOT@[3154; 3156) ".." - WHITESPACE@[3156; 3157) " " - RANGE_EXPR@[3157; 3512) - DOTDOTEQ@[3157; 3160) "..=" - RANGE_EXPR@[3160; 3512) - DOTDOT@[3160; 3162) ".." - WHITESPACE@[3162; 3166) " " - RANGE_EXPR@[3166; 3512) - DOTDOT@[3166; 3168) ".." - WHITESPACE@[3168; 3169) " " - RANGE_EXPR@[3169; 3512) - DOTDOT@[3169; 3171) ".." - WHITESPACE@[3171; 3172) " " - RANGE_EXPR@[3172; 3512) - DOTDOT@[3172; 3174) ".." - WHITESPACE@[3174; 3175) " " - RANGE_EXPR@[3175; 3512) - DOTDOT@[3175; 3177) ".." - WHITESPACE@[3177; 3181) " " - RANGE_EXPR@[3181; 3512) - DOTDOT@[3181; 3183) ".." - WHITESPACE@[3183; 3184) " " - RANGE_EXPR@[3184; 3512) - DOTDOT@[3184; 3186) ".." - WHITESPACE@[3186; 3187) " " - RANGE_EXPR@[3187; 3512) - DOTDOT@[3187; 3189) ".." - WHITESPACE@[3189; 3190) " " - RANGE_EXPR@[3190; 3512) - DOTDOT@[3190; 3192) ".." - WHITESPACE@[3192; 3196) " " - RANGE_EXPR@[3196; 3512) - DOTDOTEQ@[3196; 3199) "..=" - RANGE_EXPR@[3199; 3512) - DOTDOTEQ@[3199; 3202) "..=" - RANGE_EXPR@[3202; 3512) - DOTDOTEQ@[3202; 3205) "..=" - RANGE_EXPR@[3205; 3512) - DOTDOT@[3205; 3207) ".." - WHITESPACE@[3207; 3212) "\n " - RANGE_EXPR@[3212; 3512) - DOTDOTEQ@[3212; 3215) "..=" - RANGE_EXPR@[3215; 3512) - DOTDOT@[3215; 3217) ".." - WHITESPACE@[3217; 3218) " " - RANGE_EXPR@[3218; 3512) - DOTDOTEQ@[3218; 3221) "..=" - RANGE_EXPR@[3221; 3512) - DOTDOT@[3221; 3223) ".." - WHITESPACE@[3223; 3227) " " - RANGE_EXPR@[3227; 3512) - DOTDOTEQ@[3227; 3230) "..=" - RANGE_EXPR@[3230; 3512) - DOTDOT@[3230; 3232) ".." - WHITESPACE@[3232; 3233) " " - RANGE_EXPR@[3233; 3512) - DOTDOTEQ@[3233; 3236) "..=" - RANGE_EXPR@[3236; 3512) - DOTDOT@[3236; 3238) ".." - WHITESPACE@[3238; 3242) " " - RANGE_EXPR@[3242; 3512) - DOTDOT@[3242; 3244) ".." - WHITESPACE@[3244; 3245) " " - RANGE_EXPR@[3245; 3512) - DOTDOTEQ@[3245; 3248) "..=" - RANGE_EXPR@[3248; 3512) - DOTDOTEQ@[3248; 3251) "..=" - RANGE_EXPR@[3251; 3512) - DOTDOT@[3251; 3253) ".." - WHITESPACE@[3253; 3257) " " - RANGE_EXPR@[3257; 3512) - DOTDOT@[3257; 3259) ".." - WHITESPACE@[3259; 3260) " " - RANGE_EXPR@[3260; 3512) - DOTDOTEQ@[3260; 3263) "..=" - RANGE_EXPR@[3263; 3512) - DOTDOT@[3263; 3265) ".." - WHITESPACE@[3265; 3266) " " - RANGE_EXPR@[3266; 3512) - DOTDOT@[3266; 3268) ".." - WHITESPACE@[3268; 3273) "\n " - RANGE_EXPR@[3273; 3512) - DOTDOTEQ@[3273; 3276) "..=" - RANGE_EXPR@[3276; 3512) - DOTDOTEQ@[3276; 3279) "..=" - RANGE_EXPR@[3279; 3512) - DOTDOT@[3279; 3281) ".." - WHITESPACE@[3281; 3282) " " - RANGE_EXPR@[3282; 3512) - DOTDOT@[3282; 3284) ".." - WHITESPACE@[3284; 3288) " " - RANGE_EXPR@[3288; 3512) - DOTDOTEQ@[3288; 3291) "..=" - RANGE_EXPR@[3291; 3512) - DOTDOT@[3291; 3293) ".." - WHITESPACE@[3293; 3294) " " - RANGE_EXPR@[3294; 3512) - DOTDOTEQ@[3294; 3297) "..=" - RANGE_EXPR@[3297; 3512) - DOTDOT@[3297; 3299) ".." - WHITESPACE@[3299; 3303) " " - RANGE_EXPR@[3303; 3512) - DOTDOTEQ@[3303; 3306) "..=" - RANGE_EXPR@[3306; 3512) - DOTDOT@[3306; 3308) ".." - WHITESPACE@[3308; 3309) " " - RANGE_EXPR@[3309; 3512) - DOTDOT@[3309; 3311) ".." - WHITESPACE@[3311; 3312) " " - RANGE_EXPR@[3312; 3512) - DOTDOT@[3312; 3314) ".." - WHITESPACE@[3314; 3318) " " - RANGE_EXPR@[3318; 3512) - DOTDOT@[3318; 3320) ".." - WHITESPACE@[3320; 3321) " " - RANGE_EXPR@[3321; 3512) - DOTDOTEQ@[3321; 3324) "..=" - RANGE_EXPR@[3324; 3512) - DOTDOT@[3324; 3326) ".." - WHITESPACE@[3326; 3327) " " - RANGE_EXPR@[3327; 3512) - DOTDOT@[3327; 3329) ".." - WHITESPACE@[3329; 3334) "\n " - RANGE_EXPR@[3334; 3512) - DOTDOTEQ@[3334; 3337) "..=" - RANGE_EXPR@[3337; 3512) - DOTDOT@[3337; 3339) ".." - WHITESPACE@[3339; 3340) " " - RANGE_EXPR@[3340; 3512) - DOTDOTEQ@[3340; 3343) "..=" - RANGE_EXPR@[3343; 3512) - DOTDOT@[3343; 3345) ".." - WHITESPACE@[3345; 3349) " " - RANGE_EXPR@[3349; 3512) - DOTDOTEQ@[3349; 3352) "..=" - RANGE_EXPR@[3352; 3512) - DOTDOT@[3352; 3354) ".." - WHITESPACE@[3354; 3355) " " - RANGE_EXPR@[3355; 3512) - DOTDOTEQ@[3355; 3358) "..=" - RANGE_EXPR@[3358; 3512) - DOTDOT@[3358; 3360) ".." - WHITESPACE@[3360; 3364) " " - RANGE_EXPR@[3364; 3512) - DOTDOT@[3364; 3366) ".." - WHITESPACE@[3366; 3367) " " - RANGE_EXPR@[3367; 3512) - DOTDOTEQ@[3367; 3370) "..=" - RANGE_EXPR@[3370; 3512) - DOTDOT@[3370; 3372) ".." - WHITESPACE@[3372; 3373) " " - RANGE_EXPR@[3373; 3512) - DOTDOT@[3373; 3375) ".." - WHITESPACE@[3375; 3379) " " - RANGE_EXPR@[3379; 3512) - DOTDOT@[3379; 3381) ".." - WHITESPACE@[3381; 3382) " " - RANGE_EXPR@[3382; 3512) - DOTDOTEQ@[3382; 3385) "..=" - RANGE_EXPR@[3385; 3512) - DOTDOT@[3385; 3387) ".." - WHITESPACE@[3387; 3388) " " - RANGE_EXPR@[3388; 3512) - DOTDOT@[3388; 3390) ".." - WHITESPACE@[3390; 3395) "\n " - RANGE_EXPR@[3395; 3512) - DOTDOTEQ@[3395; 3398) "..=" - RANGE_EXPR@[3398; 3512) - DOTDOT@[3398; 3400) ".." - WHITESPACE@[3400; 3401) " " - RANGE_EXPR@[3401; 3512) - DOTDOTEQ@[3401; 3404) "..=" - RANGE_EXPR@[3404; 3512) - DOTDOT@[3404; 3406) ".." - WHITESPACE@[3406; 3410) " " - RANGE_EXPR@[3410; 3512) - DOTDOTEQ@[3410; 3413) "..=" - RANGE_EXPR@[3413; 3512) - DOTDOT@[3413; 3415) ".." - WHITESPACE@[3415; 3416) " " - RANGE_EXPR@[3416; 3512) - DOTDOTEQ@[3416; 3419) "..=" - RANGE_EXPR@[3419; 3512) - DOTDOT@[3419; 3421) ".." - WHITESPACE@[3421; 3425) " " - RANGE_EXPR@[3425; 3512) - DOTDOT@[3425; 3427) ".." - WHITESPACE@[3427; 3428) " " - RANGE_EXPR@[3428; 3512) - DOTDOT@[3428; 3430) ".." - WHITESPACE@[3430; 3431) " " - RANGE_EXPR@[3431; 3512) - DOTDOTEQ@[3431; 3434) "..=" - RANGE_EXPR@[3434; 3512) - DOTDOT@[3434; 3436) ".." - WHITESPACE@[3436; 3440) " " - RANGE_EXPR@[3440; 3512) - DOTDOT@[3440; 3442) ".." - WHITESPACE@[3442; 3443) " " - RANGE_EXPR@[3443; 3512) - DOTDOTEQ@[3443; 3446) "..=" - RANGE_EXPR@[3446; 3512) - DOTDOT@[3446; 3448) ".." - WHITESPACE@[3448; 3449) " " - RANGE_EXPR@[3449; 3512) - DOTDOT@[3449; 3451) ".." - WHITESPACE@[3451; 3456) "\n " - RANGE_EXPR@[3456; 3512) - DOTDOTEQ@[3456; 3459) "..=" - RANGE_EXPR@[3459; 3512) - DOTDOT@[3459; 3461) ".." - WHITESPACE@[3461; 3462) " " - RANGE_EXPR@[3462; 3512) - DOTDOTEQ@[3462; 3465) "..=" - RANGE_EXPR@[3465; 3512) - DOTDOT@[3465; 3467) ".." - WHITESPACE@[3467; 3471) " " - RANGE_EXPR@[3471; 3512) - DOTDOT@[3471; 3473) ".." - WHITESPACE@[3473; 3474) " " - RANGE_EXPR@[3474; 3512) - DOTDOTEQ@[3474; 3477) "..=" - RANGE_EXPR@[3477; 3512) - DOTDOTEQ@[3477; 3480) "..=" - RANGE_EXPR@[3480; 3512) - DOTDOT@[3480; 3482) ".." - WHITESPACE@[3482; 3486) " " - RANGE_EXPR@[3486; 3512) - DOTDOTEQ@[3486; 3489) "..=" - RANGE_EXPR@[3489; 3512) - DOTDOTEQ@[3489; 3492) "..=" - RANGE_EXPR@[3492; 3512) - DOTDOT@[3492; 3494) ".." - WHITESPACE@[3494; 3495) " " - RANGE_EXPR@[3495; 3512) - DOTDOT@[3495; 3497) ".." - WHITESPACE@[3497; 3501) " " - RANGE_EXPR@[3501; 3512) - DOTDOT@[3501; 3503) ".." - WHITESPACE@[3503; 3504) " " - RANGE_EXPR@[3504; 3512) - DOTDOTEQ@[3504; 3507) "..=" - RANGE_EXPR@[3507; 3512) - DOTDOT@[3507; 3509) ".." - WHITESPACE@[3509; 3510) " " - RANGE_EXPR@[3510; 3512) - DOTDOT@[3510; 3512) ".." - WHITESPACE@[3512; 3513) "\n" - R_CURLY@[3513; 3514) "}" - WHITESPACE@[3514; 3516) "\n\n" - FN_DEF@[3516; 3552) - FN_KW@[3516; 3518) "fn" - WHITESPACE@[3518; 3519) " " - NAME@[3519; 3525) - IDENT@[3519; 3525) "ktulhu" - PARAM_LIST@[3525; 3527) - L_PAREN@[3525; 3526) "(" - R_PAREN@[3526; 3527) ")" - WHITESPACE@[3527; 3528) " " - BLOCK_EXPR@[3528; 3552) - BLOCK@[3528; 3552) - L_CURLY@[3528; 3529) "{" - WHITESPACE@[3529; 3534) "\n " - SEMI@[3534; 3535) ";" - SEMI@[3535; 3536) ";" - SEMI@[3536; 3537) ";" - EXPR_STMT@[3537; 3540) - TUPLE_EXPR@[3537; 3539) - L_PAREN@[3537; 3538) "(" - R_PAREN@[3538; 3539) ")" - SEMI@[3539; 3540) ";" - SEMI@[3540; 3541) ";" - SEMI@[3541; 3542) ";" - SEMI@[3542; 3543) ";" - SEMI@[3543; 3544) ";" - SEMI@[3544; 3545) ";" - SEMI@[3545; 3546) ";" - SEMI@[3546; 3547) ";" - SEMI@[3547; 3548) ";" - TUPLE_EXPR@[3548; 3550) - L_PAREN@[3548; 3549) "(" - R_PAREN@[3549; 3550) ")" - WHITESPACE@[3550; 3551) "\n" - R_CURLY@[3551; 3552) "}" - WHITESPACE@[3552; 3554) "\n\n" - FN_DEF@[3554; 3812) - VISIBILITY@[3554; 3557) - PUB_KW@[3554; 3557) "pub" - WHITESPACE@[3557; 3558) " " - FN_KW@[3558; 3560) "fn" - WHITESPACE@[3560; 3561) " " - NAME@[3561; 3565) - IDENT@[3561; 3565) "main" - PARAM_LIST@[3565; 3567) - L_PAREN@[3565; 3566) "(" - R_PAREN@[3566; 3567) ")" - WHITESPACE@[3567; 3568) " " - BLOCK_EXPR@[3568; 3812) - BLOCK@[3568; 3812) - L_CURLY@[3568; 3569) "{" - WHITESPACE@[3569; 3574) "\n " - EXPR_STMT@[3574; 3584) - CALL_EXPR@[3574; 3583) - PATH_EXPR@[3574; 3581) - PATH@[3574; 3581) - PATH_SEGMENT@[3574; 3581) - NAME_REF@[3574; 3581) - IDENT@[3574; 3581) "strange" - ARG_LIST@[3581; 3583) - L_PAREN@[3581; 3582) "(" - R_PAREN@[3582; 3583) ")" - SEMI@[3583; 3584) ";" - WHITESPACE@[3584; 3589) "\n " - EXPR_STMT@[3589; 3597) - CALL_EXPR@[3589; 3596) - PATH_EXPR@[3589; 3594) - PATH@[3589; 3594) - PATH_SEGMENT@[3589; 3594) - NAME_REF@[3589; 3594) - IDENT@[3589; 3594) "funny" - ARG_LIST@[3594; 3596) - L_PAREN@[3594; 3595) "(" - R_PAREN@[3595; 3596) ")" - SEMI@[3596; 3597) ";" - WHITESPACE@[3597; 3602) "\n " - EXPR_STMT@[3602; 3609) - CALL_EXPR@[3602; 3608) - PATH_EXPR@[3602; 3606) - PATH@[3602; 3606) - PATH_SEGMENT@[3602; 3606) - NAME_REF@[3602; 3606) - IDENT@[3602; 3606) "what" - ARG_LIST@[3606; 3608) - L_PAREN@[3606; 3607) "(" - R_PAREN@[3607; 3608) ")" - SEMI@[3608; 3609) ";" - WHITESPACE@[3609; 3614) "\n " - EXPR_STMT@[3614; 3628) - CALL_EXPR@[3614; 3627) - PATH_EXPR@[3614; 3625) - PATH@[3614; 3625) - PATH_SEGMENT@[3614; 3625) - NAME_REF@[3614; 3625) - IDENT@[3614; 3625) "zombiejesus" - ARG_LIST@[3625; 3627) - L_PAREN@[3625; 3626) "(" - R_PAREN@[3626; 3627) ")" - SEMI@[3627; 3628) ";" - WHITESPACE@[3628; 3633) "\n " - EXPR_STMT@[3633; 3643) - CALL_EXPR@[3633; 3642) - PATH_EXPR@[3633; 3640) - PATH@[3633; 3640) - PATH_SEGMENT@[3633; 3640) - NAME_REF@[3633; 3640) - IDENT@[3633; 3640) "notsure" - ARG_LIST@[3640; 3642) - L_PAREN@[3640; 3641) "(" - R_PAREN@[3641; 3642) ")" - SEMI@[3642; 3643) ";" - WHITESPACE@[3643; 3648) "\n " - EXPR_STMT@[3648; 3664) - CALL_EXPR@[3648; 3663) - PATH_EXPR@[3648; 3661) - PATH@[3648; 3661) - PATH_SEGMENT@[3648; 3661) - NAME_REF@[3648; 3661) - IDENT@[3648; 3661) "canttouchthis" - ARG_LIST@[3661; 3663) - L_PAREN@[3661; 3662) "(" - R_PAREN@[3662; 3663) ")" - SEMI@[3663; 3664) ";" - WHITESPACE@[3664; 3669) "\n " - EXPR_STMT@[3669; 3681) - CALL_EXPR@[3669; 3680) - PATH_EXPR@[3669; 3678) - PATH@[3669; 3678) - PATH_SEGMENT@[3669; 3678) - NAME_REF@[3669; 3678) - IDENT@[3669; 3678) "angrydome" - ARG_LIST@[3678; 3680) - L_PAREN@[3678; 3679) "(" - R_PAREN@[3679; 3680) ")" - SEMI@[3680; 3681) ";" - WHITESPACE@[3681; 3686) "\n " - EXPR_STMT@[3686; 3701) - CALL_EXPR@[3686; 3700) - PATH_EXPR@[3686; 3698) - PATH@[3686; 3698) - PATH_SEGMENT@[3686; 3698) - NAME_REF@[3686; 3698) - IDENT@[3686; 3698) "evil_lincoln" - ARG_LIST@[3698; 3700) - L_PAREN@[3698; 3699) "(" - R_PAREN@[3699; 3700) ")" - SEMI@[3700; 3701) ";" - WHITESPACE@[3701; 3706) "\n " - EXPR_STMT@[3706; 3713) - CALL_EXPR@[3706; 3712) - PATH_EXPR@[3706; 3710) - PATH@[3706; 3710) - PATH_SEGMENT@[3706; 3710) - NAME_REF@[3706; 3710) - IDENT@[3706; 3710) "dots" - ARG_LIST@[3710; 3712) - L_PAREN@[3710; 3711) "(" - R_PAREN@[3711; 3712) ")" - SEMI@[3712; 3713) ";" - WHITESPACE@[3713; 3718) "\n " - EXPR_STMT@[3718; 3726) - CALL_EXPR@[3718; 3725) - PATH_EXPR@[3718; 3720) - PATH@[3718; 3720) - PATH_SEGMENT@[3718; 3720) - NAME_REF@[3718; 3720) - IDENT@[3718; 3720) "u8" - ARG_LIST@[3720; 3725) - L_PAREN@[3720; 3721) "(" - LITERAL@[3721; 3724) - INT_NUMBER@[3721; 3724) "8u8" - R_PAREN@[3724; 3725) ")" - SEMI@[3725; 3726) ";" - WHITESPACE@[3726; 3731) "\n " - EXPR_STMT@[3731; 3739) - CALL_EXPR@[3731; 3738) - PATH_EXPR@[3731; 3736) - PATH@[3731; 3736) - PATH_SEGMENT@[3731; 3736) - NAME_REF@[3731; 3736) - IDENT@[3731; 3736) "fishy" - ARG_LIST@[3736; 3738) - L_PAREN@[3736; 3737) "(" - R_PAREN@[3737; 3738) ")" - SEMI@[3738; 3739) ";" - WHITESPACE@[3739; 3744) "\n " - EXPR_STMT@[3744; 3752) - CALL_EXPR@[3744; 3751) - PATH_EXPR@[3744; 3749) - PATH@[3744; 3749) - PATH_SEGMENT@[3744; 3749) - NAME_REF@[3744; 3749) - IDENT@[3744; 3749) "union" - ARG_LIST@[3749; 3751) - L_PAREN@[3749; 3750) "(" - R_PAREN@[3750; 3751) ")" - SEMI@[3751; 3752) ";" - WHITESPACE@[3752; 3757) "\n " - EXPR_STMT@[3757; 3778) - CALL_EXPR@[3757; 3777) - PATH_EXPR@[3757; 3775) - PATH@[3757; 3775) - PATH_SEGMENT@[3757; 3775) - NAME_REF@[3757; 3775) - IDENT@[3757; 3775) "special_characters" - ARG_LIST@[3775; 3777) - L_PAREN@[3775; 3776) "(" - R_PAREN@[3776; 3777) ")" - SEMI@[3777; 3778) ";" - WHITESPACE@[3778; 3783) "\n " - EXPR_STMT@[3783; 3796) - CALL_EXPR@[3783; 3795) - PATH_EXPR@[3783; 3793) - PATH@[3783; 3793) - PATH_SEGMENT@[3783; 3793) - NAME_REF@[3783; 3793) - IDENT@[3783; 3793) "punch_card" - ARG_LIST@[3793; 3795) - L_PAREN@[3793; 3794) "(" - R_PAREN@[3794; 3795) ")" - SEMI@[3795; 3796) ";" - WHITESPACE@[3796; 3801) "\n " - EXPR_STMT@[3801; 3810) - CALL_EXPR@[3801; 3809) - PATH_EXPR@[3801; 3807) - PATH@[3801; 3807) - PATH_SEGMENT@[3801; 3807) - NAME_REF@[3801; 3807) - IDENT@[3801; 3807) "ktulhu" - ARG_LIST@[3807; 3809) - L_PAREN@[3807; 3808) "(" - R_PAREN@[3808; 3809) ")" - SEMI@[3809; 3810) ";" - WHITESPACE@[3810; 3811) "\n" - R_CURLY@[3811; 3812) "}" - WHITESPACE@[3812; 3813) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast b/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast new file mode 100644 index 000000000..ac5444087 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast @@ -0,0 +1,93 @@ +SOURCE_FILE@[0; 157) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" + FN_DEF@[62; 156) + VISIBILITY@[62; 65) + PUB_KW@[62; 65) "pub" + WHITESPACE@[65; 66) " " + FN_KW@[66; 68) "fn" + WHITESPACE@[68; 69) " " + NAME@[69; 72) + IDENT@[69; 72) "foo" + TYPE_PARAM_LIST@[72; 85) + L_ANGLE@[72; 73) "<" + TYPE_PARAM@[73; 84) + NAME@[73; 74) + IDENT@[73; 74) "S" + COLON@[74; 75) ":" + WHITESPACE@[75; 76) " " + TYPE_BOUND_LIST@[76; 84) + TYPE_BOUND@[76; 84) + PATH_TYPE@[76; 84) + PATH@[76; 84) + PATH_SEGMENT@[76; 84) + NAME_REF@[76; 84) + IDENT@[76; 84) "Iterator" + R_ANGLE@[84; 85) ">" + PARAM_LIST@[85; 87) + L_PAREN@[85; 86) "(" + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " + RET_TYPE@[88; 97) + THIN_ARROW@[88; 90) "->" + WHITESPACE@[90; 91) " " + PATH_TYPE@[91; 97) + PATH@[91; 97) + PATH_SEGMENT@[91; 97) + NAME_REF@[91; 97) + IDENT@[91; 97) "String" + WHITESPACE@[97; 98) "\n" + WHERE_CLAUSE@[98; 134) + WHERE_KW@[98; 103) "where" + WHITESPACE@[103; 108) "\n " + WHERE_PRED@[108; 133) + PATH_TYPE@[108; 129) + PATH@[108; 129) + PATH@[108; 123) + PATH_SEGMENT@[108; 123) + L_ANGLE@[108; 109) "<" + PATH_TYPE@[109; 110) + PATH@[109; 110) + PATH_SEGMENT@[109; 110) + NAME_REF@[109; 110) + IDENT@[109; 110) "S" + WHITESPACE@[110; 111) " " + AS_KW@[111; 113) "as" + WHITESPACE@[113; 114) " " + PATH_TYPE@[114; 122) + PATH@[114; 122) + PATH_SEGMENT@[114; 122) + NAME_REF@[114; 122) + IDENT@[114; 122) "Iterator" + R_ANGLE@[122; 123) ">" + COLONCOLON@[123; 125) "::" + PATH_SEGMENT@[125; 129) + NAME_REF@[125; 129) + IDENT@[125; 129) "Item" + COLON@[129; 130) ":" + WHITESPACE@[130; 131) " " + TYPE_BOUND_LIST@[131; 133) + TYPE_BOUND@[131; 133) + PATH_TYPE@[131; 133) + PATH@[131; 133) + PATH_SEGMENT@[131; 133) + NAME_REF@[131; 133) + IDENT@[131; 133) "Eq" + COMMA@[133; 134) "," + WHITESPACE@[134; 135) "\n" + BLOCK_EXPR@[135; 156) + BLOCK@[135; 156) + L_CURLY@[135; 136) "{" + WHITESPACE@[136; 141) "\n " + METHOD_CALL_EXPR@[141; 154) + LITERAL@[141; 143) + STRING@[141; 143) "\"\"" + DOT@[143; 144) "." + NAME_REF@[144; 152) + IDENT@[144; 152) "to_owned" + ARG_LIST@[152; 154) + L_PAREN@[152; 153) "(" + R_PAREN@[153; 154) ")" + WHITESPACE@[154; 155) "\n" + R_CURLY@[155; 156) "}" + WHITESPACE@[156; 157) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.txt deleted file mode 100644 index ac5444087..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.txt +++ /dev/null @@ -1,93 +0,0 @@ -SOURCE_FILE@[0; 157) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 62) "\n\n" - FN_DEF@[62; 156) - VISIBILITY@[62; 65) - PUB_KW@[62; 65) "pub" - WHITESPACE@[65; 66) " " - FN_KW@[66; 68) "fn" - WHITESPACE@[68; 69) " " - NAME@[69; 72) - IDENT@[69; 72) "foo" - TYPE_PARAM_LIST@[72; 85) - L_ANGLE@[72; 73) "<" - TYPE_PARAM@[73; 84) - NAME@[73; 74) - IDENT@[73; 74) "S" - COLON@[74; 75) ":" - WHITESPACE@[75; 76) " " - TYPE_BOUND_LIST@[76; 84) - TYPE_BOUND@[76; 84) - PATH_TYPE@[76; 84) - PATH@[76; 84) - PATH_SEGMENT@[76; 84) - NAME_REF@[76; 84) - IDENT@[76; 84) "Iterator" - R_ANGLE@[84; 85) ">" - PARAM_LIST@[85; 87) - L_PAREN@[85; 86) "(" - R_PAREN@[86; 87) ")" - WHITESPACE@[87; 88) " " - RET_TYPE@[88; 97) - THIN_ARROW@[88; 90) "->" - WHITESPACE@[90; 91) " " - PATH_TYPE@[91; 97) - PATH@[91; 97) - PATH_SEGMENT@[91; 97) - NAME_REF@[91; 97) - IDENT@[91; 97) "String" - WHITESPACE@[97; 98) "\n" - WHERE_CLAUSE@[98; 134) - WHERE_KW@[98; 103) "where" - WHITESPACE@[103; 108) "\n " - WHERE_PRED@[108; 133) - PATH_TYPE@[108; 129) - PATH@[108; 129) - PATH@[108; 123) - PATH_SEGMENT@[108; 123) - L_ANGLE@[108; 109) "<" - PATH_TYPE@[109; 110) - PATH@[109; 110) - PATH_SEGMENT@[109; 110) - NAME_REF@[109; 110) - IDENT@[109; 110) "S" - WHITESPACE@[110; 111) " " - AS_KW@[111; 113) "as" - WHITESPACE@[113; 114) " " - PATH_TYPE@[114; 122) - PATH@[114; 122) - PATH_SEGMENT@[114; 122) - NAME_REF@[114; 122) - IDENT@[114; 122) "Iterator" - R_ANGLE@[122; 123) ">" - COLONCOLON@[123; 125) "::" - PATH_SEGMENT@[125; 129) - NAME_REF@[125; 129) - IDENT@[125; 129) "Item" - COLON@[129; 130) ":" - WHITESPACE@[130; 131) " " - TYPE_BOUND_LIST@[131; 133) - TYPE_BOUND@[131; 133) - PATH_TYPE@[131; 133) - PATH@[131; 133) - PATH_SEGMENT@[131; 133) - NAME_REF@[131; 133) - IDENT@[131; 133) "Eq" - COMMA@[133; 134) "," - WHITESPACE@[134; 135) "\n" - BLOCK_EXPR@[135; 156) - BLOCK@[135; 156) - L_CURLY@[135; 136) "{" - WHITESPACE@[136; 141) "\n " - METHOD_CALL_EXPR@[141; 154) - LITERAL@[141; 143) - STRING@[141; 143) "\"\"" - DOT@[143; 144) "." - NAME_REF@[144; 152) - IDENT@[144; 152) "to_owned" - ARG_LIST@[152; 154) - L_PAREN@[152; 153) "(" - R_PAREN@[153; 154) ")" - WHITESPACE@[154; 155) "\n" - R_CURLY@[155; 156) "}" - WHITESPACE@[156; 157) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0037_mod.rast b/crates/ra_syntax/test_data/parser/ok/0037_mod.rast new file mode 100644 index 000000000..3af40a104 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0037_mod.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 93) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" + MODULE@[62; 93) + COMMENT@[62; 70) "//! docs" + WHITESPACE@[70; 71) "\n" + COMMENT@[71; 82) "// non-docs" + WHITESPACE@[82; 83) "\n" + MOD_KW@[83; 86) "mod" + WHITESPACE@[86; 87) " " + NAME@[87; 90) + IDENT@[87; 90) "foo" + WHITESPACE@[90; 91) " " + ITEM_LIST@[91; 93) + L_CURLY@[91; 92) "{" + R_CURLY@[92; 93) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0037_mod.txt b/crates/ra_syntax/test_data/parser/ok/0037_mod.txt deleted file mode 100644 index 3af40a104..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0037_mod.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 93) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 62) "\n\n" - MODULE@[62; 93) - COMMENT@[62; 70) "//! docs" - WHITESPACE@[70; 71) "\n" - COMMENT@[71; 82) "// non-docs" - WHITESPACE@[82; 83) "\n" - MOD_KW@[83; 86) "mod" - WHITESPACE@[86; 87) " " - NAME@[87; 90) - IDENT@[87; 90) "foo" - WHITESPACE@[90; 91) " " - ITEM_LIST@[91; 93) - L_CURLY@[91; 92) "{" - R_CURLY@[92; 93) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast b/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast new file mode 100644 index 000000000..377367914 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast @@ -0,0 +1,43 @@ +SOURCE_FILE@[0; 34) + FN_DEF@[0; 34) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 7) + IDENT@[3; 7) "test" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " + WHERE_CLAUSE@[10; 31) + WHERE_KW@[10; 15) "where" + WHITESPACE@[15; 16) " " + WHERE_PRED@[16; 31) + TUPLE_TYPE@[16; 26) + L_PAREN@[16; 17) "(" + PATH_TYPE@[17; 20) + PATH@[17; 20) + PATH_SEGMENT@[17; 20) + NAME_REF@[17; 20) + IDENT@[17; 20) "u64" + COMMA@[20; 21) "," + WHITESPACE@[21; 22) " " + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "u64" + R_PAREN@[25; 26) ")" + COLON@[26; 27) ":" + WHITESPACE@[27; 28) " " + TYPE_BOUND_LIST@[28; 31) + TYPE_BOUND@[28; 31) + PATH_TYPE@[28; 31) + PATH@[28; 31) + PATH_SEGMENT@[28; 31) + NAME_REF@[28; 31) + IDENT@[28; 31) "Foo" + WHITESPACE@[31; 32) " " + BLOCK_EXPR@[32; 34) + BLOCK@[32; 34) + L_CURLY@[32; 33) "{" + R_CURLY@[33; 34) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.txt b/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.txt deleted file mode 100644 index 377367914..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.txt +++ /dev/null @@ -1,43 +0,0 @@ -SOURCE_FILE@[0; 34) - FN_DEF@[0; 34) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 7) - IDENT@[3; 7) "test" - PARAM_LIST@[7; 9) - L_PAREN@[7; 8) "(" - R_PAREN@[8; 9) ")" - WHITESPACE@[9; 10) " " - WHERE_CLAUSE@[10; 31) - WHERE_KW@[10; 15) "where" - WHITESPACE@[15; 16) " " - WHERE_PRED@[16; 31) - TUPLE_TYPE@[16; 26) - L_PAREN@[16; 17) "(" - PATH_TYPE@[17; 20) - PATH@[17; 20) - PATH_SEGMENT@[17; 20) - NAME_REF@[17; 20) - IDENT@[17; 20) "u64" - COMMA@[20; 21) "," - WHITESPACE@[21; 22) " " - PATH_TYPE@[22; 25) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "u64" - R_PAREN@[25; 26) ")" - COLON@[26; 27) ":" - WHITESPACE@[27; 28) " " - TYPE_BOUND_LIST@[28; 31) - TYPE_BOUND@[28; 31) - PATH_TYPE@[28; 31) - PATH@[28; 31) - PATH_SEGMENT@[28; 31) - NAME_REF@[28; 31) - IDENT@[28; 31) "Foo" - WHITESPACE@[31; 32) " " - BLOCK_EXPR@[32; 34) - BLOCK@[32; 34) - L_CURLY@[32; 33) "{" - R_CURLY@[33; 34) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast b/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast new file mode 100644 index 000000000..9936892e9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast @@ -0,0 +1,16 @@ +SOURCE_FILE@[0; 15) + FN_DEF@[0; 14) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 8) + IDENT@[3; 8) "r#foo" + PARAM_LIST@[8; 10) + L_PAREN@[8; 9) "(" + R_PAREN@[9; 10) ")" + WHITESPACE@[10; 11) " " + BLOCK_EXPR@[11; 14) + BLOCK@[11; 14) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 13) "\n" + R_CURLY@[13; 14) "}" + WHITESPACE@[14; 15) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.txt b/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.txt deleted file mode 100644 index 9936892e9..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.txt +++ /dev/null @@ -1,16 +0,0 @@ -SOURCE_FILE@[0; 15) - FN_DEF@[0; 14) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 8) - IDENT@[3; 8) "r#foo" - PARAM_LIST@[8; 10) - L_PAREN@[8; 9) "(" - R_PAREN@[9; 10) ")" - WHITESPACE@[10; 11) " " - BLOCK_EXPR@[11; 14) - BLOCK@[11; 14) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 13) "\n" - R_CURLY@[13; 14) "}" - WHITESPACE@[14; 15) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.rast b/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.rast new file mode 100644 index 000000000..05f2c656f --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.rast @@ -0,0 +1,22 @@ +SOURCE_FILE@[0; 27) + STRUCT_DEF@[0; 27) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " + NAME@[7; 8) + IDENT@[7; 8) "S" + WHITESPACE@[8; 9) " " + RECORD_FIELD_DEF_LIST@[9; 27) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + RECORD_FIELD_DEF@[15; 25) + NAME@[15; 20) + IDENT@[15; 20) "r#foo" + COLON@[20; 21) ":" + WHITESPACE@[21; 22) " " + PATH_TYPE@[22; 25) + PATH@[22; 25) + PATH_SEGMENT@[22; 25) + NAME_REF@[22; 25) + IDENT@[22; 25) "u32" + WHITESPACE@[25; 26) "\n" + R_CURLY@[26; 27) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.txt b/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.txt deleted file mode 100644 index 05f2c656f..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0040_raw_struct_item_field.txt +++ /dev/null @@ -1,22 +0,0 @@ -SOURCE_FILE@[0; 27) - STRUCT_DEF@[0; 27) - STRUCT_KW@[0; 6) "struct" - WHITESPACE@[6; 7) " " - NAME@[7; 8) - IDENT@[7; 8) "S" - WHITESPACE@[8; 9) " " - RECORD_FIELD_DEF_LIST@[9; 27) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - RECORD_FIELD_DEF@[15; 25) - NAME@[15; 20) - IDENT@[15; 20) "r#foo" - COLON@[20; 21) ":" - WHITESPACE@[21; 22) " " - PATH_TYPE@[22; 25) - PATH@[22; 25) - PATH_SEGMENT@[22; 25) - NAME_REF@[22; 25) - IDENT@[22; 25) "u32" - WHITESPACE@[25; 26) "\n" - R_CURLY@[26; 27) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast b/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast new file mode 100644 index 000000000..64c70e196 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast @@ -0,0 +1,50 @@ +SOURCE_FILE@[0; 59) + FN_DEF@[0; 59) + 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; 59) + BLOCK@[9; 59) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " + LET_STMT@[11; 29) + LET_KW@[11; 14) "let" + WHITESPACE@[14; 15) " " + BIND_PAT@[15; 23) + NAME@[15; 23) + IDENT@[15; 23) "r#struct" + WHITESPACE@[23; 24) " " + EQ@[24; 25) "=" + WHITESPACE@[25; 26) " " + LITERAL@[26; 28) + INT_NUMBER@[26; 28) "92" + SEMI@[28; 29) ";" + WHITESPACE@[29; 30) " " + LET_STMT@[30; 57) + LET_KW@[30; 33) "let" + WHITESPACE@[33; 34) " " + BIND_PAT@[34; 41) + NAME@[34; 41) + IDENT@[34; 41) "r#trait" + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " + BIN_EXPR@[44; 56) + PATH_EXPR@[44; 52) + PATH@[44; 52) + PATH_SEGMENT@[44; 52) + NAME_REF@[44; 52) + IDENT@[44; 52) "r#struct" + WHITESPACE@[52; 53) " " + STAR@[53; 54) "*" + WHITESPACE@[54; 55) " " + LITERAL@[55; 56) + INT_NUMBER@[55; 56) "2" + SEMI@[56; 57) ";" + WHITESPACE@[57; 58) " " + R_CURLY@[58; 59) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.txt b/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.txt deleted file mode 100644 index 64c70e196..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.txt +++ /dev/null @@ -1,50 +0,0 @@ -SOURCE_FILE@[0; 59) - FN_DEF@[0; 59) - 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; 59) - BLOCK@[9; 59) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 11) " " - LET_STMT@[11; 29) - LET_KW@[11; 14) "let" - WHITESPACE@[14; 15) " " - BIND_PAT@[15; 23) - NAME@[15; 23) - IDENT@[15; 23) "r#struct" - WHITESPACE@[23; 24) " " - EQ@[24; 25) "=" - WHITESPACE@[25; 26) " " - LITERAL@[26; 28) - INT_NUMBER@[26; 28) "92" - SEMI@[28; 29) ";" - WHITESPACE@[29; 30) " " - LET_STMT@[30; 57) - LET_KW@[30; 33) "let" - WHITESPACE@[33; 34) " " - BIND_PAT@[34; 41) - NAME@[34; 41) - IDENT@[34; 41) "r#trait" - WHITESPACE@[41; 42) " " - EQ@[42; 43) "=" - WHITESPACE@[43; 44) " " - BIN_EXPR@[44; 56) - PATH_EXPR@[44; 52) - PATH@[44; 52) - PATH_SEGMENT@[44; 52) - NAME_REF@[44; 52) - IDENT@[44; 52) "r#struct" - WHITESPACE@[52; 53) " " - STAR@[53; 54) "*" - WHITESPACE@[54; 55) " " - LITERAL@[55; 56) - INT_NUMBER@[55; 56) "2" - SEMI@[56; 57) ";" - WHITESPACE@[57; 58) " " - R_CURLY@[58; 59) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast new file mode 100644 index 000000000..341e02704 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast @@ -0,0 +1,126 @@ +SOURCE_FILE@[0; 199) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" + STRUCT_DEF@[62; 73) + STRUCT_KW@[62; 68) "struct" + WHITESPACE@[68; 69) " " + NAME@[69; 72) + IDENT@[69; 72) "Foo" + SEMI@[72; 73) ";" + WHITESPACE@[73; 75) "\n\n" + IMPL_DEF@[75; 141) + IMPL_KW@[75; 79) "impl" + WHITESPACE@[79; 80) " " + PATH_TYPE@[80; 83) + PATH@[80; 83) + PATH_SEGMENT@[80; 83) + NAME_REF@[80; 83) + IDENT@[80; 83) "Foo" + WHITESPACE@[83; 84) " " + ITEM_LIST@[84; 141) + L_CURLY@[84; 85) "{" + WHITESPACE@[85; 90) "\n " + FN_DEF@[90; 139) + FN_KW@[90; 92) "fn" + WHITESPACE@[92; 93) " " + NAME@[93; 96) + IDENT@[93; 96) "bar" + PARAM_LIST@[96; 98) + L_PAREN@[96; 97) "(" + R_PAREN@[97; 98) ")" + WHITESPACE@[98; 99) " " + RET_TYPE@[99; 106) + THIN_ARROW@[99; 101) "->" + WHITESPACE@[101; 102) " " + PATH_TYPE@[102; 106) + PATH@[102; 106) + PATH_SEGMENT@[102; 106) + NAME_REF@[102; 106) + IDENT@[102; 106) "bool" + WHITESPACE@[106; 107) " " + BLOCK_EXPR@[107; 139) + BLOCK@[107; 139) + L_CURLY@[107; 108) "{" + WHITESPACE@[108; 117) "\n " + MACRO_CALL@[117; 133) + PATH@[117; 130) + PATH_SEGMENT@[117; 130) + NAME_REF@[117; 130) + IDENT@[117; 130) "unimplemented" + EXCL@[130; 131) "!" + TOKEN_TREE@[131; 133) + L_PAREN@[131; 132) "(" + R_PAREN@[132; 133) ")" + WHITESPACE@[133; 138) "\n " + R_CURLY@[138; 139) "}" + WHITESPACE@[139; 140) "\n" + R_CURLY@[140; 141) "}" + WHITESPACE@[141; 143) "\n\n" + FN_DEF@[143; 161) + FN_KW@[143; 145) "fn" + WHITESPACE@[145; 146) " " + NAME@[146; 149) + IDENT@[146; 149) "baz" + PARAM_LIST@[149; 158) + L_PAREN@[149; 150) "(" + PARAM@[150; 157) + PLACEHOLDER_PAT@[150; 151) + UNDERSCORE@[150; 151) "_" + COLON@[151; 152) ":" + WHITESPACE@[152; 153) " " + PATH_TYPE@[153; 157) + PATH@[153; 157) + PATH_SEGMENT@[153; 157) + NAME_REF@[153; 157) + IDENT@[153; 157) "bool" + R_PAREN@[157; 158) ")" + WHITESPACE@[158; 159) " " + BLOCK_EXPR@[159; 161) + BLOCK@[159; 161) + L_CURLY@[159; 160) "{" + R_CURLY@[160; 161) "}" + WHITESPACE@[161; 163) "\n\n" + FN_DEF@[163; 198) + FN_KW@[163; 165) "fn" + WHITESPACE@[165; 166) " " + NAME@[166; 170) + IDENT@[166; 170) "main" + PARAM_LIST@[170; 172) + L_PAREN@[170; 171) "(" + R_PAREN@[171; 172) ")" + WHITESPACE@[172; 173) " " + BLOCK_EXPR@[173; 198) + BLOCK@[173; 198) + L_CURLY@[173; 174) "{" + WHITESPACE@[174; 179) "\n " + CALL_EXPR@[179; 196) + PATH_EXPR@[179; 182) + PATH@[179; 182) + PATH_SEGMENT@[179; 182) + NAME_REF@[179; 182) + IDENT@[179; 182) "baz" + ARG_LIST@[182; 196) + L_PAREN@[182; 183) "(" + CALL_EXPR@[183; 195) + PATH_EXPR@[183; 193) + PATH@[183; 193) + PATH@[183; 188) + PATH_SEGMENT@[183; 188) + L_ANGLE@[183; 184) "<" + PATH_TYPE@[184; 187) + PATH@[184; 187) + PATH_SEGMENT@[184; 187) + NAME_REF@[184; 187) + IDENT@[184; 187) "Foo" + R_ANGLE@[187; 188) ">" + COLONCOLON@[188; 190) "::" + PATH_SEGMENT@[190; 193) + NAME_REF@[190; 193) + IDENT@[190; 193) "bar" + ARG_LIST@[193; 195) + L_PAREN@[193; 194) "(" + R_PAREN@[194; 195) ")" + R_PAREN@[195; 196) ")" + WHITESPACE@[196; 197) "\n" + R_CURLY@[197; 198) "}" + WHITESPACE@[198; 199) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.txt b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.txt deleted file mode 100644 index 341e02704..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.txt +++ /dev/null @@ -1,126 +0,0 @@ -SOURCE_FILE@[0; 199) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 62) "\n\n" - STRUCT_DEF@[62; 73) - STRUCT_KW@[62; 68) "struct" - WHITESPACE@[68; 69) " " - NAME@[69; 72) - IDENT@[69; 72) "Foo" - SEMI@[72; 73) ";" - WHITESPACE@[73; 75) "\n\n" - IMPL_DEF@[75; 141) - IMPL_KW@[75; 79) "impl" - WHITESPACE@[79; 80) " " - PATH_TYPE@[80; 83) - PATH@[80; 83) - PATH_SEGMENT@[80; 83) - NAME_REF@[80; 83) - IDENT@[80; 83) "Foo" - WHITESPACE@[83; 84) " " - ITEM_LIST@[84; 141) - L_CURLY@[84; 85) "{" - WHITESPACE@[85; 90) "\n " - FN_DEF@[90; 139) - FN_KW@[90; 92) "fn" - WHITESPACE@[92; 93) " " - NAME@[93; 96) - IDENT@[93; 96) "bar" - PARAM_LIST@[96; 98) - L_PAREN@[96; 97) "(" - R_PAREN@[97; 98) ")" - WHITESPACE@[98; 99) " " - RET_TYPE@[99; 106) - THIN_ARROW@[99; 101) "->" - WHITESPACE@[101; 102) " " - PATH_TYPE@[102; 106) - PATH@[102; 106) - PATH_SEGMENT@[102; 106) - NAME_REF@[102; 106) - IDENT@[102; 106) "bool" - WHITESPACE@[106; 107) " " - BLOCK_EXPR@[107; 139) - BLOCK@[107; 139) - L_CURLY@[107; 108) "{" - WHITESPACE@[108; 117) "\n " - MACRO_CALL@[117; 133) - PATH@[117; 130) - PATH_SEGMENT@[117; 130) - NAME_REF@[117; 130) - IDENT@[117; 130) "unimplemented" - EXCL@[130; 131) "!" - TOKEN_TREE@[131; 133) - L_PAREN@[131; 132) "(" - R_PAREN@[132; 133) ")" - WHITESPACE@[133; 138) "\n " - R_CURLY@[138; 139) "}" - WHITESPACE@[139; 140) "\n" - R_CURLY@[140; 141) "}" - WHITESPACE@[141; 143) "\n\n" - FN_DEF@[143; 161) - FN_KW@[143; 145) "fn" - WHITESPACE@[145; 146) " " - NAME@[146; 149) - IDENT@[146; 149) "baz" - PARAM_LIST@[149; 158) - L_PAREN@[149; 150) "(" - PARAM@[150; 157) - PLACEHOLDER_PAT@[150; 151) - UNDERSCORE@[150; 151) "_" - COLON@[151; 152) ":" - WHITESPACE@[152; 153) " " - PATH_TYPE@[153; 157) - PATH@[153; 157) - PATH_SEGMENT@[153; 157) - NAME_REF@[153; 157) - IDENT@[153; 157) "bool" - R_PAREN@[157; 158) ")" - WHITESPACE@[158; 159) " " - BLOCK_EXPR@[159; 161) - BLOCK@[159; 161) - L_CURLY@[159; 160) "{" - R_CURLY@[160; 161) "}" - WHITESPACE@[161; 163) "\n\n" - FN_DEF@[163; 198) - FN_KW@[163; 165) "fn" - WHITESPACE@[165; 166) " " - NAME@[166; 170) - IDENT@[166; 170) "main" - PARAM_LIST@[170; 172) - L_PAREN@[170; 171) "(" - R_PAREN@[171; 172) ")" - WHITESPACE@[172; 173) " " - BLOCK_EXPR@[173; 198) - BLOCK@[173; 198) - L_CURLY@[173; 174) "{" - WHITESPACE@[174; 179) "\n " - CALL_EXPR@[179; 196) - PATH_EXPR@[179; 182) - PATH@[179; 182) - PATH_SEGMENT@[179; 182) - NAME_REF@[179; 182) - IDENT@[179; 182) "baz" - ARG_LIST@[182; 196) - L_PAREN@[182; 183) "(" - CALL_EXPR@[183; 195) - PATH_EXPR@[183; 193) - PATH@[183; 193) - PATH@[183; 188) - PATH_SEGMENT@[183; 188) - L_ANGLE@[183; 184) "<" - PATH_TYPE@[184; 187) - PATH@[184; 187) - PATH_SEGMENT@[184; 187) - NAME_REF@[184; 187) - IDENT@[184; 187) "Foo" - R_ANGLE@[187; 188) ">" - COLONCOLON@[188; 190) "::" - PATH_SEGMENT@[190; 193) - NAME_REF@[190; 193) - IDENT@[190; 193) "bar" - ARG_LIST@[193; 195) - L_PAREN@[193; 194) "(" - R_PAREN@[194; 195) ")" - R_PAREN@[195; 196) ")" - WHITESPACE@[196; 197) "\n" - R_CURLY@[197; 198) "}" - WHITESPACE@[198; 199) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast new file mode 100644 index 000000000..c5821afd0 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast @@ -0,0 +1,110 @@ +SOURCE_FILE@[0; 160) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" + STRUCT_DEF@[62; 90) + STRUCT_KW@[62; 68) "struct" + WHITESPACE@[68; 69) " " + NAME@[69; 73) + IDENT@[69; 73) "Repr" + WHITESPACE@[73; 74) " " + RECORD_FIELD_DEF_LIST@[74; 90) + L_CURLY@[74; 75) "{" + WHITESPACE@[75; 76) " " + RECORD_FIELD_DEF@[76; 88) + NAME@[76; 79) + IDENT@[76; 79) "raw" + COLON@[79; 80) ":" + WHITESPACE@[80; 81) " " + ARRAY_TYPE@[81; 88) + L_BRACK@[81; 82) "[" + PATH_TYPE@[82; 84) + PATH@[82; 84) + PATH_SEGMENT@[82; 84) + NAME_REF@[82; 84) + IDENT@[82; 84) "u8" + SEMI@[84; 85) ";" + WHITESPACE@[85; 86) " " + LITERAL@[86; 87) + INT_NUMBER@[86; 87) "1" + R_BRACK@[87; 88) "]" + WHITESPACE@[88; 89) " " + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 92) "\n\n" + FN_DEF@[92; 159) + FN_KW@[92; 94) "fn" + WHITESPACE@[94; 95) " " + NAME@[95; 98) + IDENT@[95; 98) "abc" + PARAM_LIST@[98; 100) + L_PAREN@[98; 99) "(" + R_PAREN@[99; 100) ")" + WHITESPACE@[100; 101) " " + BLOCK_EXPR@[101; 159) + BLOCK@[101; 159) + L_CURLY@[101; 102) "{" + WHITESPACE@[102; 107) "\n " + EXPR_STMT@[107; 136) + BIN_EXPR@[107; 135) + INDEX_EXPR@[107; 131) + FIELD_EXPR@[107; 128) + RECORD_LIT@[107; 124) + PATH@[107; 111) + PATH_SEGMENT@[107; 111) + NAME_REF@[107; 111) + IDENT@[107; 111) "Repr" + WHITESPACE@[111; 112) " " + RECORD_FIELD_LIST@[112; 124) + L_CURLY@[112; 113) "{" + WHITESPACE@[113; 114) " " + RECORD_FIELD@[114; 122) + NAME_REF@[114; 117) + IDENT@[114; 117) "raw" + COLON@[117; 118) ":" + WHITESPACE@[118; 119) " " + ARRAY_EXPR@[119; 122) + L_BRACK@[119; 120) "[" + LITERAL@[120; 121) + INT_NUMBER@[120; 121) "0" + R_BRACK@[121; 122) "]" + WHITESPACE@[122; 123) " " + R_CURLY@[123; 124) "}" + DOT@[124; 125) "." + NAME_REF@[125; 128) + IDENT@[125; 128) "raw" + L_BRACK@[128; 129) "[" + LITERAL@[129; 130) + INT_NUMBER@[129; 130) "0" + R_BRACK@[130; 131) "]" + WHITESPACE@[131; 132) " " + EQ@[132; 133) "=" + WHITESPACE@[133; 134) " " + LITERAL@[134; 135) + INT_NUMBER@[134; 135) "0" + SEMI@[135; 136) ";" + WHITESPACE@[136; 141) "\n " + EXPR_STMT@[141; 157) + CALL_EXPR@[141; 156) + RECORD_LIT@[141; 154) + PATH@[141; 145) + PATH_SEGMENT@[141; 145) + NAME_REF@[141; 145) + IDENT@[141; 145) "Repr" + RECORD_FIELD_LIST@[145; 154) + L_CURLY@[145; 146) "{" + RECORD_FIELD@[146; 153) + NAME_REF@[146; 149) + IDENT@[146; 149) "raw" + COLON@[149; 150) ":" + ARRAY_EXPR@[150; 153) + L_BRACK@[150; 151) "[" + LITERAL@[151; 152) + INT_NUMBER@[151; 152) "0" + R_BRACK@[152; 153) "]" + R_CURLY@[153; 154) "}" + ARG_LIST@[154; 156) + L_PAREN@[154; 155) "(" + R_PAREN@[155; 156) ")" + SEMI@[156; 157) ";" + WHITESPACE@[157; 158) "\n" + R_CURLY@[158; 159) "}" + WHITESPACE@[159; 160) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.txt b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.txt deleted file mode 100644 index c5821afd0..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.txt +++ /dev/null @@ -1,110 +0,0 @@ -SOURCE_FILE@[0; 160) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 62) "\n\n" - STRUCT_DEF@[62; 90) - STRUCT_KW@[62; 68) "struct" - WHITESPACE@[68; 69) " " - NAME@[69; 73) - IDENT@[69; 73) "Repr" - WHITESPACE@[73; 74) " " - RECORD_FIELD_DEF_LIST@[74; 90) - L_CURLY@[74; 75) "{" - WHITESPACE@[75; 76) " " - RECORD_FIELD_DEF@[76; 88) - NAME@[76; 79) - IDENT@[76; 79) "raw" - COLON@[79; 80) ":" - WHITESPACE@[80; 81) " " - ARRAY_TYPE@[81; 88) - L_BRACK@[81; 82) "[" - PATH_TYPE@[82; 84) - PATH@[82; 84) - PATH_SEGMENT@[82; 84) - NAME_REF@[82; 84) - IDENT@[82; 84) "u8" - SEMI@[84; 85) ";" - WHITESPACE@[85; 86) " " - LITERAL@[86; 87) - INT_NUMBER@[86; 87) "1" - R_BRACK@[87; 88) "]" - WHITESPACE@[88; 89) " " - R_CURLY@[89; 90) "}" - WHITESPACE@[90; 92) "\n\n" - FN_DEF@[92; 159) - FN_KW@[92; 94) "fn" - WHITESPACE@[94; 95) " " - NAME@[95; 98) - IDENT@[95; 98) "abc" - PARAM_LIST@[98; 100) - L_PAREN@[98; 99) "(" - R_PAREN@[99; 100) ")" - WHITESPACE@[100; 101) " " - BLOCK_EXPR@[101; 159) - BLOCK@[101; 159) - L_CURLY@[101; 102) "{" - WHITESPACE@[102; 107) "\n " - EXPR_STMT@[107; 136) - BIN_EXPR@[107; 135) - INDEX_EXPR@[107; 131) - FIELD_EXPR@[107; 128) - RECORD_LIT@[107; 124) - PATH@[107; 111) - PATH_SEGMENT@[107; 111) - NAME_REF@[107; 111) - IDENT@[107; 111) "Repr" - WHITESPACE@[111; 112) " " - RECORD_FIELD_LIST@[112; 124) - L_CURLY@[112; 113) "{" - WHITESPACE@[113; 114) " " - RECORD_FIELD@[114; 122) - NAME_REF@[114; 117) - IDENT@[114; 117) "raw" - COLON@[117; 118) ":" - WHITESPACE@[118; 119) " " - ARRAY_EXPR@[119; 122) - L_BRACK@[119; 120) "[" - LITERAL@[120; 121) - INT_NUMBER@[120; 121) "0" - R_BRACK@[121; 122) "]" - WHITESPACE@[122; 123) " " - R_CURLY@[123; 124) "}" - DOT@[124; 125) "." - NAME_REF@[125; 128) - IDENT@[125; 128) "raw" - L_BRACK@[128; 129) "[" - LITERAL@[129; 130) - INT_NUMBER@[129; 130) "0" - R_BRACK@[130; 131) "]" - WHITESPACE@[131; 132) " " - EQ@[132; 133) "=" - WHITESPACE@[133; 134) " " - LITERAL@[134; 135) - INT_NUMBER@[134; 135) "0" - SEMI@[135; 136) ";" - WHITESPACE@[136; 141) "\n " - EXPR_STMT@[141; 157) - CALL_EXPR@[141; 156) - RECORD_LIT@[141; 154) - PATH@[141; 145) - PATH_SEGMENT@[141; 145) - NAME_REF@[141; 145) - IDENT@[141; 145) "Repr" - RECORD_FIELD_LIST@[145; 154) - L_CURLY@[145; 146) "{" - RECORD_FIELD@[146; 153) - NAME_REF@[146; 149) - IDENT@[146; 149) "raw" - COLON@[149; 150) ":" - ARRAY_EXPR@[150; 153) - L_BRACK@[150; 151) "[" - LITERAL@[151; 152) - INT_NUMBER@[151; 152) "0" - R_BRACK@[152; 153) "]" - R_CURLY@[153; 154) "}" - ARG_LIST@[154; 156) - L_PAREN@[154; 155) "(" - R_PAREN@[155; 156) ")" - SEMI@[156; 157) ";" - WHITESPACE@[157; 158) "\n" - R_CURLY@[158; 159) "}" - WHITESPACE@[159; 160) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast new file mode 100644 index 000000000..bfc793dc1 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast @@ -0,0 +1,76 @@ +SOURCE_FILE@[0; 166) + FN_DEF@[0; 165) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 61) "\n" + FN_KW@[61; 63) "fn" + WHITESPACE@[63; 64) " " + NAME@[64; 68) + IDENT@[64; 68) "main" + PARAM_LIST@[68; 70) + L_PAREN@[68; 69) "(" + R_PAREN@[69; 70) ")" + WHITESPACE@[70; 71) " " + BLOCK_EXPR@[71; 165) + BLOCK@[71; 165) + L_CURLY@[71; 72) "{" + WHITESPACE@[72; 77) "\n " + LET_STMT@[77; 163) + ATTR@[77; 106) + POUND@[77; 78) "#" + L_BRACK@[78; 79) "[" + PATH@[79; 82) + PATH_SEGMENT@[79; 82) + NAME_REF@[79; 82) + IDENT@[79; 82) "cfg" + TOKEN_TREE@[82; 105) + L_PAREN@[82; 83) "(" + IDENT@[83; 90) "feature" + WHITESPACE@[90; 91) " " + EQ@[91; 92) "=" + WHITESPACE@[92; 93) " " + STRING@[93; 104) "\"backtrace\"" + R_PAREN@[104; 105) ")" + R_BRACK@[105; 106) "]" + WHITESPACE@[106; 111) "\n " + LET_KW@[111; 114) "let" + WHITESPACE@[114; 115) " " + BIND_PAT@[115; 124) + NAME@[115; 124) + IDENT@[115; 124) "exit_code" + WHITESPACE@[124; 125) " " + EQ@[125; 126) "=" + WHITESPACE@[126; 127) " " + CALL_EXPR@[127; 162) + PATH_EXPR@[127; 146) + PATH@[127; 146) + PATH@[127; 132) + PATH_SEGMENT@[127; 132) + NAME_REF@[127; 132) + IDENT@[127; 132) "panic" + COLONCOLON@[132; 134) "::" + PATH_SEGMENT@[134; 146) + NAME_REF@[134; 146) + IDENT@[134; 146) "catch_unwind" + ARG_LIST@[146; 162) + L_PAREN@[146; 147) "(" + LAMBDA_EXPR@[147; 161) + MOVE_KW@[147; 151) "move" + WHITESPACE@[151; 152) " " + PARAM_LIST@[152; 154) + PIPE@[152; 153) "|" + PIPE@[153; 154) "|" + WHITESPACE@[154; 155) " " + CALL_EXPR@[155; 161) + PATH_EXPR@[155; 159) + PATH@[155; 159) + PATH_SEGMENT@[155; 159) + NAME_REF@[155; 159) + IDENT@[155; 159) "main" + ARG_LIST@[159; 161) + L_PAREN@[159; 160) "(" + R_PAREN@[160; 161) ")" + R_PAREN@[161; 162) ")" + SEMI@[162; 163) ";" + WHITESPACE@[163; 164) "\n" + R_CURLY@[164; 165) "}" + WHITESPACE@[165; 166) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt deleted file mode 100644 index bfc793dc1..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt +++ /dev/null @@ -1,76 +0,0 @@ -SOURCE_FILE@[0; 166) - FN_DEF@[0; 165) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 61) "\n" - FN_KW@[61; 63) "fn" - WHITESPACE@[63; 64) " " - NAME@[64; 68) - IDENT@[64; 68) "main" - PARAM_LIST@[68; 70) - L_PAREN@[68; 69) "(" - R_PAREN@[69; 70) ")" - WHITESPACE@[70; 71) " " - BLOCK_EXPR@[71; 165) - BLOCK@[71; 165) - L_CURLY@[71; 72) "{" - WHITESPACE@[72; 77) "\n " - LET_STMT@[77; 163) - ATTR@[77; 106) - POUND@[77; 78) "#" - L_BRACK@[78; 79) "[" - PATH@[79; 82) - PATH_SEGMENT@[79; 82) - NAME_REF@[79; 82) - IDENT@[79; 82) "cfg" - TOKEN_TREE@[82; 105) - L_PAREN@[82; 83) "(" - IDENT@[83; 90) "feature" - WHITESPACE@[90; 91) " " - EQ@[91; 92) "=" - WHITESPACE@[92; 93) " " - STRING@[93; 104) "\"backtrace\"" - R_PAREN@[104; 105) ")" - R_BRACK@[105; 106) "]" - WHITESPACE@[106; 111) "\n " - LET_KW@[111; 114) "let" - WHITESPACE@[114; 115) " " - BIND_PAT@[115; 124) - NAME@[115; 124) - IDENT@[115; 124) "exit_code" - WHITESPACE@[124; 125) " " - EQ@[125; 126) "=" - WHITESPACE@[126; 127) " " - CALL_EXPR@[127; 162) - PATH_EXPR@[127; 146) - PATH@[127; 146) - PATH@[127; 132) - PATH_SEGMENT@[127; 132) - NAME_REF@[127; 132) - IDENT@[127; 132) "panic" - COLONCOLON@[132; 134) "::" - PATH_SEGMENT@[134; 146) - NAME_REF@[134; 146) - IDENT@[134; 146) "catch_unwind" - ARG_LIST@[146; 162) - L_PAREN@[146; 147) "(" - LAMBDA_EXPR@[147; 161) - MOVE_KW@[147; 151) "move" - WHITESPACE@[151; 152) " " - PARAM_LIST@[152; 154) - PIPE@[152; 153) "|" - PIPE@[153; 154) "|" - WHITESPACE@[154; 155) " " - CALL_EXPR@[155; 161) - PATH_EXPR@[155; 159) - PATH@[155; 159) - PATH_SEGMENT@[155; 159) - NAME_REF@[155; 159) - IDENT@[155; 159) "main" - ARG_LIST@[159; 161) - L_PAREN@[159; 160) "(" - R_PAREN@[160; 161) ")" - R_PAREN@[161; 162) ")" - SEMI@[162; 163) ";" - WHITESPACE@[163; 164) "\n" - R_CURLY@[164; 165) "}" - WHITESPACE@[165; 166) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast new file mode 100644 index 000000000..e15447ca7 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast @@ -0,0 +1,181 @@ +SOURCE_FILE@[0; 686) + FN_DEF@[0; 461) + 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; 461) + BLOCK@[11; 461) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " + ATTR@[17; 57) + POUND@[17; 18) "#" + EXCL@[18; 19) "!" + L_BRACK@[19; 20) "[" + PATH@[20; 23) + PATH_SEGMENT@[20; 23) + NAME_REF@[20; 23) + IDENT@[20; 23) "doc" + TOKEN_TREE@[23; 56) + L_PAREN@[23; 24) "(" + STRING@[24; 55) "\"Inner attributes all ..." + R_PAREN@[55; 56) ")" + R_BRACK@[56; 57) "]" + WHITESPACE@[57; 62) "\n " + COMMENT@[62; 97) "//! As are ModuleDoc ..." + WHITESPACE@[97; 102) "\n " + EXPR_STMT@[102; 295) + BLOCK_EXPR@[102; 294) + BLOCK@[102; 294) + L_CURLY@[102; 103) "{" + WHITESPACE@[103; 112) "\n " + ATTR@[112; 180) + POUND@[112; 113) "#" + EXCL@[113; 114) "!" + L_BRACK@[114; 115) "[" + PATH@[115; 118) + PATH_SEGMENT@[115; 118) + NAME_REF@[115; 118) + IDENT@[115; 118) "doc" + TOKEN_TREE@[118; 179) + L_PAREN@[118; 119) "(" + STRING@[119; 178) "\"Inner attributes are ..." + R_PAREN@[178; 179) ")" + R_BRACK@[179; 180) "]" + WHITESPACE@[180; 189) "\n " + ATTR@[189; 244) + POUND@[189; 190) "#" + EXCL@[190; 191) "!" + L_BRACK@[191; 192) "[" + PATH@[192; 195) + PATH_SEGMENT@[192; 195) + NAME_REF@[192; 195) + IDENT@[192; 195) "doc" + TOKEN_TREE@[195; 243) + L_PAREN@[195; 196) "(" + STRING@[196; 242) "\"Being validated is n ..." + R_PAREN@[242; 243) ")" + R_BRACK@[243; 244) "]" + WHITESPACE@[244; 253) "\n " + COMMENT@[253; 288) "//! As are ModuleDoc ..." + WHITESPACE@[288; 293) "\n " + R_CURLY@[293; 294) "}" + SEMI@[294; 295) ";" + WHITESPACE@[295; 300) "\n " + BLOCK_EXPR@[300; 459) + BLOCK@[300; 459) + L_CURLY@[300; 301) "{" + WHITESPACE@[301; 310) "\n " + ATTR@[310; 409) + POUND@[310; 311) "#" + EXCL@[311; 312) "!" + L_BRACK@[312; 313) "[" + PATH@[313; 316) + PATH_SEGMENT@[313; 316) + NAME_REF@[313; 316) + IDENT@[313; 316) "doc" + TOKEN_TREE@[316; 408) + L_PAREN@[316; 317) "(" + STRING@[317; 407) "\"Inner attributes are ..." + R_PAREN@[407; 408) ")" + R_BRACK@[408; 409) "]" + WHITESPACE@[409; 418) "\n " + COMMENT@[418; 453) "//! As are ModuleDoc ..." + WHITESPACE@[453; 458) "\n " + R_CURLY@[458; 459) "}" + WHITESPACE@[459; 460) "\n" + R_CURLY@[460; 461) "}" + WHITESPACE@[461; 463) "\n\n" + COMMENT@[463; 523) "// https://github.com ..." + WHITESPACE@[523; 524) "\n" + IMPL_DEF@[524; 685) + IMPL_KW@[524; 528) "impl" + WHITESPACE@[528; 529) " " + PATH_TYPE@[529; 537) + PATH@[529; 537) + PATH_SEGMENT@[529; 537) + NAME_REF@[529; 537) + IDENT@[529; 537) "Whatever" + WHITESPACE@[537; 538) " " + ITEM_LIST@[538; 685) + L_CURLY@[538; 539) "{" + WHITESPACE@[539; 544) "\n " + FN_DEF@[544; 683) + FN_KW@[544; 546) "fn" + WHITESPACE@[546; 547) " " + NAME@[547; 558) + IDENT@[547; 558) "salsa_event" + PARAM_LIST@[558; 601) + L_PAREN@[558; 559) "(" + SELF_PARAM@[559; 564) + AMP@[559; 560) "&" + SELF_KW@[560; 564) "self" + COMMA@[564; 565) "," + WHITESPACE@[565; 566) " " + PARAM@[566; 600) + BIND_PAT@[566; 574) + NAME@[566; 574) + IDENT@[566; 574) "event_fn" + COLON@[574; 575) ":" + WHITESPACE@[575; 576) " " + IMPL_TRAIT_TYPE@[576; 600) + IMPL_KW@[576; 580) "impl" + WHITESPACE@[580; 581) " " + TYPE_BOUND_LIST@[581; 600) + TYPE_BOUND@[581; 600) + PATH_TYPE@[581; 600) + PATH@[581; 600) + PATH_SEGMENT@[581; 600) + NAME_REF@[581; 583) + IDENT@[581; 583) "Fn" + PARAM_LIST@[583; 585) + L_PAREN@[583; 584) "(" + R_PAREN@[584; 585) ")" + WHITESPACE@[585; 586) " " + RET_TYPE@[586; 600) + THIN_ARROW@[586; 588) "->" + WHITESPACE@[588; 589) " " + PATH_TYPE@[589; 600) + PATH@[589; 600) + PATH_SEGMENT@[589; 600) + NAME_REF@[589; 594) + IDENT@[589; 594) "Event" + TYPE_ARG_LIST@[594; 600) + L_ANGLE@[594; 595) "<" + TYPE_ARG@[595; 599) + PATH_TYPE@[595; 599) + PATH@[595; 599) + PATH_SEGMENT@[595; 599) + NAME_REF@[595; 599) + IDENT@[595; 599) "Self" + R_ANGLE@[599; 600) ">" + R_PAREN@[600; 601) ")" + WHITESPACE@[601; 602) " " + BLOCK_EXPR@[602; 683) + BLOCK@[602; 683) + L_CURLY@[602; 603) "{" + WHITESPACE@[603; 612) "\n " + ATTR@[612; 639) + POUND@[612; 613) "#" + EXCL@[613; 614) "!" + L_BRACK@[614; 615) "[" + PATH@[615; 620) + PATH_SEGMENT@[615; 620) + NAME_REF@[615; 620) + IDENT@[615; 620) "allow" + TOKEN_TREE@[620; 638) + L_PAREN@[620; 621) "(" + IDENT@[621; 637) "unused_variables" + R_PAREN@[637; 638) ")" + R_BRACK@[638; 639) "]" + WHITESPACE@[639; 640) " " + COMMENT@[640; 677) "// this is `inner_at ..." + WHITESPACE@[677; 682) "\n " + R_CURLY@[682; 683) "}" + WHITESPACE@[683; 684) "\n" + R_CURLY@[684; 685) "}" + WHITESPACE@[685; 686) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt deleted file mode 100644 index e15447ca7..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt +++ /dev/null @@ -1,181 +0,0 @@ -SOURCE_FILE@[0; 686) - FN_DEF@[0; 461) - 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; 461) - BLOCK@[11; 461) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 17) "\n " - ATTR@[17; 57) - POUND@[17; 18) "#" - EXCL@[18; 19) "!" - L_BRACK@[19; 20) "[" - PATH@[20; 23) - PATH_SEGMENT@[20; 23) - NAME_REF@[20; 23) - IDENT@[20; 23) "doc" - TOKEN_TREE@[23; 56) - L_PAREN@[23; 24) "(" - STRING@[24; 55) "\"Inner attributes all ..." - R_PAREN@[55; 56) ")" - R_BRACK@[56; 57) "]" - WHITESPACE@[57; 62) "\n " - COMMENT@[62; 97) "//! As are ModuleDoc ..." - WHITESPACE@[97; 102) "\n " - EXPR_STMT@[102; 295) - BLOCK_EXPR@[102; 294) - BLOCK@[102; 294) - L_CURLY@[102; 103) "{" - WHITESPACE@[103; 112) "\n " - ATTR@[112; 180) - POUND@[112; 113) "#" - EXCL@[113; 114) "!" - L_BRACK@[114; 115) "[" - PATH@[115; 118) - PATH_SEGMENT@[115; 118) - NAME_REF@[115; 118) - IDENT@[115; 118) "doc" - TOKEN_TREE@[118; 179) - L_PAREN@[118; 119) "(" - STRING@[119; 178) "\"Inner attributes are ..." - R_PAREN@[178; 179) ")" - R_BRACK@[179; 180) "]" - WHITESPACE@[180; 189) "\n " - ATTR@[189; 244) - POUND@[189; 190) "#" - EXCL@[190; 191) "!" - L_BRACK@[191; 192) "[" - PATH@[192; 195) - PATH_SEGMENT@[192; 195) - NAME_REF@[192; 195) - IDENT@[192; 195) "doc" - TOKEN_TREE@[195; 243) - L_PAREN@[195; 196) "(" - STRING@[196; 242) "\"Being validated is n ..." - R_PAREN@[242; 243) ")" - R_BRACK@[243; 244) "]" - WHITESPACE@[244; 253) "\n " - COMMENT@[253; 288) "//! As are ModuleDoc ..." - WHITESPACE@[288; 293) "\n " - R_CURLY@[293; 294) "}" - SEMI@[294; 295) ";" - WHITESPACE@[295; 300) "\n " - BLOCK_EXPR@[300; 459) - BLOCK@[300; 459) - L_CURLY@[300; 301) "{" - WHITESPACE@[301; 310) "\n " - ATTR@[310; 409) - POUND@[310; 311) "#" - EXCL@[311; 312) "!" - L_BRACK@[312; 313) "[" - PATH@[313; 316) - PATH_SEGMENT@[313; 316) - NAME_REF@[313; 316) - IDENT@[313; 316) "doc" - TOKEN_TREE@[316; 408) - L_PAREN@[316; 317) "(" - STRING@[317; 407) "\"Inner attributes are ..." - R_PAREN@[407; 408) ")" - R_BRACK@[408; 409) "]" - WHITESPACE@[409; 418) "\n " - COMMENT@[418; 453) "//! As are ModuleDoc ..." - WHITESPACE@[453; 458) "\n " - R_CURLY@[458; 459) "}" - WHITESPACE@[459; 460) "\n" - R_CURLY@[460; 461) "}" - WHITESPACE@[461; 463) "\n\n" - COMMENT@[463; 523) "// https://github.com ..." - WHITESPACE@[523; 524) "\n" - IMPL_DEF@[524; 685) - IMPL_KW@[524; 528) "impl" - WHITESPACE@[528; 529) " " - PATH_TYPE@[529; 537) - PATH@[529; 537) - PATH_SEGMENT@[529; 537) - NAME_REF@[529; 537) - IDENT@[529; 537) "Whatever" - WHITESPACE@[537; 538) " " - ITEM_LIST@[538; 685) - L_CURLY@[538; 539) "{" - WHITESPACE@[539; 544) "\n " - FN_DEF@[544; 683) - FN_KW@[544; 546) "fn" - WHITESPACE@[546; 547) " " - NAME@[547; 558) - IDENT@[547; 558) "salsa_event" - PARAM_LIST@[558; 601) - L_PAREN@[558; 559) "(" - SELF_PARAM@[559; 564) - AMP@[559; 560) "&" - SELF_KW@[560; 564) "self" - COMMA@[564; 565) "," - WHITESPACE@[565; 566) " " - PARAM@[566; 600) - BIND_PAT@[566; 574) - NAME@[566; 574) - IDENT@[566; 574) "event_fn" - COLON@[574; 575) ":" - WHITESPACE@[575; 576) " " - IMPL_TRAIT_TYPE@[576; 600) - IMPL_KW@[576; 580) "impl" - WHITESPACE@[580; 581) " " - TYPE_BOUND_LIST@[581; 600) - TYPE_BOUND@[581; 600) - PATH_TYPE@[581; 600) - PATH@[581; 600) - PATH_SEGMENT@[581; 600) - NAME_REF@[581; 583) - IDENT@[581; 583) "Fn" - PARAM_LIST@[583; 585) - L_PAREN@[583; 584) "(" - R_PAREN@[584; 585) ")" - WHITESPACE@[585; 586) " " - RET_TYPE@[586; 600) - THIN_ARROW@[586; 588) "->" - WHITESPACE@[588; 589) " " - PATH_TYPE@[589; 600) - PATH@[589; 600) - PATH_SEGMENT@[589; 600) - NAME_REF@[589; 594) - IDENT@[589; 594) "Event" - TYPE_ARG_LIST@[594; 600) - L_ANGLE@[594; 595) "<" - TYPE_ARG@[595; 599) - PATH_TYPE@[595; 599) - PATH@[595; 599) - PATH_SEGMENT@[595; 599) - NAME_REF@[595; 599) - IDENT@[595; 599) "Self" - R_ANGLE@[599; 600) ">" - R_PAREN@[600; 601) ")" - WHITESPACE@[601; 602) " " - BLOCK_EXPR@[602; 683) - BLOCK@[602; 683) - L_CURLY@[602; 603) "{" - WHITESPACE@[603; 612) "\n " - ATTR@[612; 639) - POUND@[612; 613) "#" - EXCL@[613; 614) "!" - L_BRACK@[614; 615) "[" - PATH@[615; 620) - PATH_SEGMENT@[615; 620) - NAME_REF@[615; 620) - IDENT@[615; 620) "allow" - TOKEN_TREE@[620; 638) - L_PAREN@[620; 621) "(" - IDENT@[621; 637) "unused_variables" - R_PAREN@[637; 638) ")" - R_BRACK@[638; 639) "]" - WHITESPACE@[639; 640) " " - COMMENT@[640; 677) "// this is `inner_at ..." - WHITESPACE@[677; 682) "\n " - R_CURLY@[682; 683) "}" - WHITESPACE@[683; 684) "\n" - R_CURLY@[684; 685) "}" - WHITESPACE@[685; 686) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast new file mode 100644 index 000000000..8f192124b --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast @@ -0,0 +1,28 @@ +SOURCE_FILE@[0; 87) + EXTERN_BLOCK@[0; 86) + ABI@[0; 10) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + STRING@[7; 10) "\"C\"" + WHITESPACE@[10; 11) " " + EXTERN_ITEM_LIST@[11; 86) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " + COMMENT@[17; 42) "//! This is a doc com ..." + WHITESPACE@[42; 47) "\n " + ATTR@[47; 84) + POUND@[47; 48) "#" + EXCL@[48; 49) "!" + L_BRACK@[49; 50) "[" + PATH@[50; 53) + PATH_SEGMENT@[50; 53) + NAME_REF@[50; 53) + IDENT@[50; 53) "doc" + TOKEN_TREE@[53; 83) + L_PAREN@[53; 54) "(" + STRING@[54; 82) "\"This is also a doc c ..." + R_PAREN@[82; 83) ")" + R_BRACK@[83; 84) "]" + WHITESPACE@[84; 85) "\n" + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt deleted file mode 100644 index 8f192124b..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.txt +++ /dev/null @@ -1,28 +0,0 @@ -SOURCE_FILE@[0; 87) - EXTERN_BLOCK@[0; 86) - ABI@[0; 10) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - STRING@[7; 10) "\"C\"" - WHITESPACE@[10; 11) " " - EXTERN_ITEM_LIST@[11; 86) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 17) "\n " - COMMENT@[17; 42) "//! This is a doc com ..." - WHITESPACE@[42; 47) "\n " - ATTR@[47; 84) - POUND@[47; 48) "#" - EXCL@[48; 49) "!" - L_BRACK@[49; 50) "[" - PATH@[50; 53) - PATH_SEGMENT@[50; 53) - NAME_REF@[50; 53) - IDENT@[50; 53) "doc" - TOKEN_TREE@[53; 83) - L_PAREN@[53; 54) "(" - STRING@[54; 82) "\"This is also a doc c ..." - R_PAREN@[82; 83) ")" - R_BRACK@[83; 84) "]" - WHITESPACE@[84; 85) "\n" - R_CURLY@[85; 86) "}" - WHITESPACE@[86; 87) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast new file mode 100644 index 000000000..07a5fbf2d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast @@ -0,0 +1,323 @@ +SOURCE_FILE@[0; 395) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" + FN_DEF@[62; 341) + FN_KW@[62; 64) "fn" + WHITESPACE@[64; 65) " " + NAME@[65; 69) + IDENT@[65; 69) "main" + PARAM_LIST@[69; 71) + L_PAREN@[69; 70) "(" + R_PAREN@[70; 71) ")" + WHITESPACE@[71; 72) " " + BLOCK_EXPR@[72; 341) + BLOCK@[72; 341) + L_CURLY@[72; 73) "{" + WHITESPACE@[73; 78) "\n " + EXPR_STMT@[78; 141) + MATCH_EXPR@[78; 141) + MATCH_KW@[78; 83) "match" + WHITESPACE@[83; 84) " " + CALL_EXPR@[84; 92) + PATH_EXPR@[84; 88) + PATH@[84; 88) + PATH_SEGMENT@[84; 88) + NAME_REF@[84; 88) + IDENT@[84; 88) "Some" + ARG_LIST@[88; 92) + L_PAREN@[88; 89) "(" + PREFIX_EXPR@[89; 91) + MINUS@[89; 90) "-" + LITERAL@[90; 91) + INT_NUMBER@[90; 91) "1" + R_PAREN@[91; 92) ")" + WHITESPACE@[92; 93) " " + MATCH_ARM_LIST@[93; 141) + L_CURLY@[93; 94) "{" + WHITESPACE@[94; 103) "\n " + MATCH_ARM@[103; 117) + TUPLE_STRUCT_PAT@[103; 111) + PATH@[103; 107) + PATH_SEGMENT@[103; 107) + NAME_REF@[103; 107) + IDENT@[103; 107) "Some" + L_PAREN@[107; 108) "(" + LITERAL_PAT@[108; 110) + MINUS@[108; 109) "-" + LITERAL@[109; 110) + INT_NUMBER@[109; 110) "1" + R_PAREN@[110; 111) ")" + WHITESPACE@[111; 112) " " + FAT_ARROW@[112; 114) "=>" + WHITESPACE@[114; 115) " " + TUPLE_EXPR@[115; 117) + L_PAREN@[115; 116) "(" + R_PAREN@[116; 117) ")" + COMMA@[117; 118) "," + WHITESPACE@[118; 127) "\n " + MATCH_ARM@[127; 134) + PLACEHOLDER_PAT@[127; 128) + UNDERSCORE@[127; 128) "_" + WHITESPACE@[128; 129) " " + FAT_ARROW@[129; 131) "=>" + WHITESPACE@[131; 132) " " + TUPLE_EXPR@[132; 134) + L_PAREN@[132; 133) "(" + R_PAREN@[133; 134) ")" + COMMA@[134; 135) "," + WHITESPACE@[135; 140) "\n " + R_CURLY@[140; 141) "}" + WHITESPACE@[141; 147) "\n\n " + EXPR_STMT@[147; 222) + MATCH_EXPR@[147; 222) + MATCH_KW@[147; 152) "match" + WHITESPACE@[152; 153) " " + CALL_EXPR@[153; 167) + PATH_EXPR@[153; 157) + PATH@[153; 157) + PATH_SEGMENT@[153; 157) + NAME_REF@[153; 157) + IDENT@[153; 157) "Some" + ARG_LIST@[157; 167) + L_PAREN@[157; 158) "(" + TUPLE_EXPR@[158; 166) + L_PAREN@[158; 159) "(" + PREFIX_EXPR@[159; 161) + MINUS@[159; 160) "-" + LITERAL@[160; 161) + INT_NUMBER@[160; 161) "1" + COMMA@[161; 162) "," + WHITESPACE@[162; 163) " " + PREFIX_EXPR@[163; 165) + MINUS@[163; 164) "-" + LITERAL@[164; 165) + INT_NUMBER@[164; 165) "1" + R_PAREN@[165; 166) ")" + R_PAREN@[166; 167) ")" + WHITESPACE@[167; 168) " " + MATCH_ARM_LIST@[168; 222) + L_CURLY@[168; 169) "{" + WHITESPACE@[169; 178) "\n " + MATCH_ARM@[178; 198) + TUPLE_STRUCT_PAT@[178; 192) + PATH@[178; 182) + PATH_SEGMENT@[178; 182) + NAME_REF@[178; 182) + IDENT@[178; 182) "Some" + L_PAREN@[182; 183) "(" + TUPLE_PAT@[183; 191) + L_PAREN@[183; 184) "(" + LITERAL_PAT@[184; 186) + MINUS@[184; 185) "-" + LITERAL@[185; 186) + INT_NUMBER@[185; 186) "1" + COMMA@[186; 187) "," + WHITESPACE@[187; 188) " " + LITERAL_PAT@[188; 190) + MINUS@[188; 189) "-" + LITERAL@[189; 190) + INT_NUMBER@[189; 190) "1" + R_PAREN@[190; 191) ")" + R_PAREN@[191; 192) ")" + WHITESPACE@[192; 193) " " + FAT_ARROW@[193; 195) "=>" + WHITESPACE@[195; 196) " " + TUPLE_EXPR@[196; 198) + L_PAREN@[196; 197) "(" + R_PAREN@[197; 198) ")" + COMMA@[198; 199) "," + WHITESPACE@[199; 208) "\n " + MATCH_ARM@[208; 215) + PLACEHOLDER_PAT@[208; 209) + UNDERSCORE@[208; 209) "_" + WHITESPACE@[209; 210) " " + FAT_ARROW@[210; 212) "=>" + WHITESPACE@[212; 213) " " + TUPLE_EXPR@[213; 215) + L_PAREN@[213; 214) "(" + R_PAREN@[214; 215) ")" + COMMA@[215; 216) "," + WHITESPACE@[216; 221) "\n " + R_CURLY@[221; 222) "}" + WHITESPACE@[222; 228) "\n\n " + EXPR_STMT@[228; 299) + MATCH_EXPR@[228; 299) + MATCH_KW@[228; 233) "match" + WHITESPACE@[233; 234) " " + CALL_EXPR@[234; 246) + PATH_EXPR@[234; 238) + PATH@[234; 238) + PATH@[234; 235) + PATH_SEGMENT@[234; 235) + NAME_REF@[234; 235) + IDENT@[234; 235) "A" + COLONCOLON@[235; 237) "::" + PATH_SEGMENT@[237; 238) + NAME_REF@[237; 238) + IDENT@[237; 238) "B" + ARG_LIST@[238; 246) + L_PAREN@[238; 239) "(" + PREFIX_EXPR@[239; 241) + MINUS@[239; 240) "-" + LITERAL@[240; 241) + INT_NUMBER@[240; 241) "1" + COMMA@[241; 242) "," + WHITESPACE@[242; 243) " " + PREFIX_EXPR@[243; 245) + MINUS@[243; 244) "-" + LITERAL@[244; 245) + INT_NUMBER@[244; 245) "1" + R_PAREN@[245; 246) ")" + WHITESPACE@[246; 247) " " + MATCH_ARM_LIST@[247; 299) + L_CURLY@[247; 248) "{" + WHITESPACE@[248; 257) "\n " + MATCH_ARM@[257; 275) + TUPLE_STRUCT_PAT@[257; 269) + PATH@[257; 261) + PATH@[257; 258) + PATH_SEGMENT@[257; 258) + NAME_REF@[257; 258) + IDENT@[257; 258) "A" + COLONCOLON@[258; 260) "::" + PATH_SEGMENT@[260; 261) + NAME_REF@[260; 261) + IDENT@[260; 261) "B" + L_PAREN@[261; 262) "(" + LITERAL_PAT@[262; 264) + MINUS@[262; 263) "-" + LITERAL@[263; 264) + INT_NUMBER@[263; 264) "1" + COMMA@[264; 265) "," + WHITESPACE@[265; 266) " " + LITERAL_PAT@[266; 268) + MINUS@[266; 267) "-" + LITERAL@[267; 268) + INT_NUMBER@[267; 268) "1" + R_PAREN@[268; 269) ")" + WHITESPACE@[269; 270) " " + FAT_ARROW@[270; 272) "=>" + WHITESPACE@[272; 273) " " + TUPLE_EXPR@[273; 275) + L_PAREN@[273; 274) "(" + R_PAREN@[274; 275) ")" + COMMA@[275; 276) "," + WHITESPACE@[276; 285) "\n " + MATCH_ARM@[285; 292) + PLACEHOLDER_PAT@[285; 286) + UNDERSCORE@[285; 286) "_" + WHITESPACE@[286; 287) " " + FAT_ARROW@[287; 289) "=>" + WHITESPACE@[289; 290) " " + TUPLE_EXPR@[290; 292) + L_PAREN@[290; 291) "(" + R_PAREN@[291; 292) ")" + COMMA@[292; 293) "," + WHITESPACE@[293; 298) "\n " + R_CURLY@[298; 299) "}" + WHITESPACE@[299; 305) "\n\n " + IF_EXPR@[305; 339) + IF_KW@[305; 307) "if" + WHITESPACE@[307; 308) " " + CONDITION@[308; 331) + LET_KW@[308; 311) "let" + WHITESPACE@[311; 312) " " + TUPLE_STRUCT_PAT@[312; 320) + PATH@[312; 316) + PATH_SEGMENT@[312; 316) + NAME_REF@[312; 316) + IDENT@[312; 316) "Some" + L_PAREN@[316; 317) "(" + LITERAL_PAT@[317; 319) + MINUS@[317; 318) "-" + LITERAL@[318; 319) + INT_NUMBER@[318; 319) "1" + R_PAREN@[319; 320) ")" + WHITESPACE@[320; 321) " " + EQ@[321; 322) "=" + WHITESPACE@[322; 323) " " + CALL_EXPR@[323; 331) + PATH_EXPR@[323; 327) + PATH@[323; 327) + PATH_SEGMENT@[323; 327) + NAME_REF@[323; 327) + IDENT@[323; 327) "Some" + ARG_LIST@[327; 331) + L_PAREN@[327; 328) "(" + PREFIX_EXPR@[328; 330) + MINUS@[328; 329) "-" + LITERAL@[329; 330) + INT_NUMBER@[329; 330) "1" + R_PAREN@[330; 331) ")" + WHITESPACE@[331; 332) " " + BLOCK_EXPR@[332; 339) + BLOCK@[332; 339) + L_CURLY@[332; 333) "{" + WHITESPACE@[333; 338) "\n " + R_CURLY@[338; 339) "}" + WHITESPACE@[339; 340) "\n" + R_CURLY@[340; 341) "}" + WHITESPACE@[341; 343) "\n\n" + ENUM_DEF@[343; 367) + ENUM_KW@[343; 347) "enum" + WHITESPACE@[347; 348) " " + NAME@[348; 349) + IDENT@[348; 349) "A" + WHITESPACE@[349; 350) " " + ENUM_VARIANT_LIST@[350; 367) + L_CURLY@[350; 351) "{" + WHITESPACE@[351; 356) "\n " + ENUM_VARIANT@[356; 365) + NAME@[356; 357) + IDENT@[356; 357) "B" + TUPLE_FIELD_DEF_LIST@[357; 365) + L_PAREN@[357; 358) "(" + TUPLE_FIELD_DEF@[358; 360) + PATH_TYPE@[358; 360) + PATH@[358; 360) + PATH_SEGMENT@[358; 360) + NAME_REF@[358; 360) + IDENT@[358; 360) "i8" + COMMA@[360; 361) "," + WHITESPACE@[361; 362) " " + TUPLE_FIELD_DEF@[362; 364) + PATH_TYPE@[362; 364) + PATH@[362; 364) + PATH_SEGMENT@[362; 364) + NAME_REF@[362; 364) + IDENT@[362; 364) "i8" + R_PAREN@[364; 365) ")" + WHITESPACE@[365; 366) "\n" + R_CURLY@[366; 367) "}" + WHITESPACE@[367; 369) "\n\n" + FN_DEF@[369; 394) + FN_KW@[369; 371) "fn" + WHITESPACE@[371; 372) " " + NAME@[372; 375) + IDENT@[372; 375) "foo" + PARAM_LIST@[375; 391) + L_PAREN@[375; 376) "(" + PARAM@[376; 390) + RANGE_PAT@[376; 386) + LITERAL_PAT@[376; 380) + MINUS@[376; 377) "-" + LITERAL@[377; 380) + INT_NUMBER@[377; 380) "128" + DOTDOTEQ@[380; 383) "..=" + LITERAL_PAT@[383; 386) + LITERAL@[383; 386) + INT_NUMBER@[383; 386) "127" + COLON@[386; 387) ":" + WHITESPACE@[387; 388) " " + PATH_TYPE@[388; 390) + PATH@[388; 390) + PATH_SEGMENT@[388; 390) + NAME_REF@[388; 390) + IDENT@[388; 390) "i8" + R_PAREN@[390; 391) ")" + WHITESPACE@[391; 392) " " + BLOCK_EXPR@[392; 394) + BLOCK@[392; 394) + L_CURLY@[392; 393) "{" + R_CURLY@[393; 394) "}" + WHITESPACE@[394; 395) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt deleted file mode 100644 index 07a5fbf2d..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt +++ /dev/null @@ -1,323 +0,0 @@ -SOURCE_FILE@[0; 395) - COMMENT@[0; 60) "// https://github.com ..." - WHITESPACE@[60; 62) "\n\n" - FN_DEF@[62; 341) - FN_KW@[62; 64) "fn" - WHITESPACE@[64; 65) " " - NAME@[65; 69) - IDENT@[65; 69) "main" - PARAM_LIST@[69; 71) - L_PAREN@[69; 70) "(" - R_PAREN@[70; 71) ")" - WHITESPACE@[71; 72) " " - BLOCK_EXPR@[72; 341) - BLOCK@[72; 341) - L_CURLY@[72; 73) "{" - WHITESPACE@[73; 78) "\n " - EXPR_STMT@[78; 141) - MATCH_EXPR@[78; 141) - MATCH_KW@[78; 83) "match" - WHITESPACE@[83; 84) " " - CALL_EXPR@[84; 92) - PATH_EXPR@[84; 88) - PATH@[84; 88) - PATH_SEGMENT@[84; 88) - NAME_REF@[84; 88) - IDENT@[84; 88) "Some" - ARG_LIST@[88; 92) - L_PAREN@[88; 89) "(" - PREFIX_EXPR@[89; 91) - MINUS@[89; 90) "-" - LITERAL@[90; 91) - INT_NUMBER@[90; 91) "1" - R_PAREN@[91; 92) ")" - WHITESPACE@[92; 93) " " - MATCH_ARM_LIST@[93; 141) - L_CURLY@[93; 94) "{" - WHITESPACE@[94; 103) "\n " - MATCH_ARM@[103; 117) - TUPLE_STRUCT_PAT@[103; 111) - PATH@[103; 107) - PATH_SEGMENT@[103; 107) - NAME_REF@[103; 107) - IDENT@[103; 107) "Some" - L_PAREN@[107; 108) "(" - LITERAL_PAT@[108; 110) - MINUS@[108; 109) "-" - LITERAL@[109; 110) - INT_NUMBER@[109; 110) "1" - R_PAREN@[110; 111) ")" - WHITESPACE@[111; 112) " " - FAT_ARROW@[112; 114) "=>" - WHITESPACE@[114; 115) " " - TUPLE_EXPR@[115; 117) - L_PAREN@[115; 116) "(" - R_PAREN@[116; 117) ")" - COMMA@[117; 118) "," - WHITESPACE@[118; 127) "\n " - MATCH_ARM@[127; 134) - PLACEHOLDER_PAT@[127; 128) - UNDERSCORE@[127; 128) "_" - WHITESPACE@[128; 129) " " - FAT_ARROW@[129; 131) "=>" - WHITESPACE@[131; 132) " " - TUPLE_EXPR@[132; 134) - L_PAREN@[132; 133) "(" - R_PAREN@[133; 134) ")" - COMMA@[134; 135) "," - WHITESPACE@[135; 140) "\n " - R_CURLY@[140; 141) "}" - WHITESPACE@[141; 147) "\n\n " - EXPR_STMT@[147; 222) - MATCH_EXPR@[147; 222) - MATCH_KW@[147; 152) "match" - WHITESPACE@[152; 153) " " - CALL_EXPR@[153; 167) - PATH_EXPR@[153; 157) - PATH@[153; 157) - PATH_SEGMENT@[153; 157) - NAME_REF@[153; 157) - IDENT@[153; 157) "Some" - ARG_LIST@[157; 167) - L_PAREN@[157; 158) "(" - TUPLE_EXPR@[158; 166) - L_PAREN@[158; 159) "(" - PREFIX_EXPR@[159; 161) - MINUS@[159; 160) "-" - LITERAL@[160; 161) - INT_NUMBER@[160; 161) "1" - COMMA@[161; 162) "," - WHITESPACE@[162; 163) " " - PREFIX_EXPR@[163; 165) - MINUS@[163; 164) "-" - LITERAL@[164; 165) - INT_NUMBER@[164; 165) "1" - R_PAREN@[165; 166) ")" - R_PAREN@[166; 167) ")" - WHITESPACE@[167; 168) " " - MATCH_ARM_LIST@[168; 222) - L_CURLY@[168; 169) "{" - WHITESPACE@[169; 178) "\n " - MATCH_ARM@[178; 198) - TUPLE_STRUCT_PAT@[178; 192) - PATH@[178; 182) - PATH_SEGMENT@[178; 182) - NAME_REF@[178; 182) - IDENT@[178; 182) "Some" - L_PAREN@[182; 183) "(" - TUPLE_PAT@[183; 191) - L_PAREN@[183; 184) "(" - LITERAL_PAT@[184; 186) - MINUS@[184; 185) "-" - LITERAL@[185; 186) - INT_NUMBER@[185; 186) "1" - COMMA@[186; 187) "," - WHITESPACE@[187; 188) " " - LITERAL_PAT@[188; 190) - MINUS@[188; 189) "-" - LITERAL@[189; 190) - INT_NUMBER@[189; 190) "1" - R_PAREN@[190; 191) ")" - R_PAREN@[191; 192) ")" - WHITESPACE@[192; 193) " " - FAT_ARROW@[193; 195) "=>" - WHITESPACE@[195; 196) " " - TUPLE_EXPR@[196; 198) - L_PAREN@[196; 197) "(" - R_PAREN@[197; 198) ")" - COMMA@[198; 199) "," - WHITESPACE@[199; 208) "\n " - MATCH_ARM@[208; 215) - PLACEHOLDER_PAT@[208; 209) - UNDERSCORE@[208; 209) "_" - WHITESPACE@[209; 210) " " - FAT_ARROW@[210; 212) "=>" - WHITESPACE@[212; 213) " " - TUPLE_EXPR@[213; 215) - L_PAREN@[213; 214) "(" - R_PAREN@[214; 215) ")" - COMMA@[215; 216) "," - WHITESPACE@[216; 221) "\n " - R_CURLY@[221; 222) "}" - WHITESPACE@[222; 228) "\n\n " - EXPR_STMT@[228; 299) - MATCH_EXPR@[228; 299) - MATCH_KW@[228; 233) "match" - WHITESPACE@[233; 234) " " - CALL_EXPR@[234; 246) - PATH_EXPR@[234; 238) - PATH@[234; 238) - PATH@[234; 235) - PATH_SEGMENT@[234; 235) - NAME_REF@[234; 235) - IDENT@[234; 235) "A" - COLONCOLON@[235; 237) "::" - PATH_SEGMENT@[237; 238) - NAME_REF@[237; 238) - IDENT@[237; 238) "B" - ARG_LIST@[238; 246) - L_PAREN@[238; 239) "(" - PREFIX_EXPR@[239; 241) - MINUS@[239; 240) "-" - LITERAL@[240; 241) - INT_NUMBER@[240; 241) "1" - COMMA@[241; 242) "," - WHITESPACE@[242; 243) " " - PREFIX_EXPR@[243; 245) - MINUS@[243; 244) "-" - LITERAL@[244; 245) - INT_NUMBER@[244; 245) "1" - R_PAREN@[245; 246) ")" - WHITESPACE@[246; 247) " " - MATCH_ARM_LIST@[247; 299) - L_CURLY@[247; 248) "{" - WHITESPACE@[248; 257) "\n " - MATCH_ARM@[257; 275) - TUPLE_STRUCT_PAT@[257; 269) - PATH@[257; 261) - PATH@[257; 258) - PATH_SEGMENT@[257; 258) - NAME_REF@[257; 258) - IDENT@[257; 258) "A" - COLONCOLON@[258; 260) "::" - PATH_SEGMENT@[260; 261) - NAME_REF@[260; 261) - IDENT@[260; 261) "B" - L_PAREN@[261; 262) "(" - LITERAL_PAT@[262; 264) - MINUS@[262; 263) "-" - LITERAL@[263; 264) - INT_NUMBER@[263; 264) "1" - COMMA@[264; 265) "," - WHITESPACE@[265; 266) " " - LITERAL_PAT@[266; 268) - MINUS@[266; 267) "-" - LITERAL@[267; 268) - INT_NUMBER@[267; 268) "1" - R_PAREN@[268; 269) ")" - WHITESPACE@[269; 270) " " - FAT_ARROW@[270; 272) "=>" - WHITESPACE@[272; 273) " " - TUPLE_EXPR@[273; 275) - L_PAREN@[273; 274) "(" - R_PAREN@[274; 275) ")" - COMMA@[275; 276) "," - WHITESPACE@[276; 285) "\n " - MATCH_ARM@[285; 292) - PLACEHOLDER_PAT@[285; 286) - UNDERSCORE@[285; 286) "_" - WHITESPACE@[286; 287) " " - FAT_ARROW@[287; 289) "=>" - WHITESPACE@[289; 290) " " - TUPLE_EXPR@[290; 292) - L_PAREN@[290; 291) "(" - R_PAREN@[291; 292) ")" - COMMA@[292; 293) "," - WHITESPACE@[293; 298) "\n " - R_CURLY@[298; 299) "}" - WHITESPACE@[299; 305) "\n\n " - IF_EXPR@[305; 339) - IF_KW@[305; 307) "if" - WHITESPACE@[307; 308) " " - CONDITION@[308; 331) - LET_KW@[308; 311) "let" - WHITESPACE@[311; 312) " " - TUPLE_STRUCT_PAT@[312; 320) - PATH@[312; 316) - PATH_SEGMENT@[312; 316) - NAME_REF@[312; 316) - IDENT@[312; 316) "Some" - L_PAREN@[316; 317) "(" - LITERAL_PAT@[317; 319) - MINUS@[317; 318) "-" - LITERAL@[318; 319) - INT_NUMBER@[318; 319) "1" - R_PAREN@[319; 320) ")" - WHITESPACE@[320; 321) " " - EQ@[321; 322) "=" - WHITESPACE@[322; 323) " " - CALL_EXPR@[323; 331) - PATH_EXPR@[323; 327) - PATH@[323; 327) - PATH_SEGMENT@[323; 327) - NAME_REF@[323; 327) - IDENT@[323; 327) "Some" - ARG_LIST@[327; 331) - L_PAREN@[327; 328) "(" - PREFIX_EXPR@[328; 330) - MINUS@[328; 329) "-" - LITERAL@[329; 330) - INT_NUMBER@[329; 330) "1" - R_PAREN@[330; 331) ")" - WHITESPACE@[331; 332) " " - BLOCK_EXPR@[332; 339) - BLOCK@[332; 339) - L_CURLY@[332; 333) "{" - WHITESPACE@[333; 338) "\n " - R_CURLY@[338; 339) "}" - WHITESPACE@[339; 340) "\n" - R_CURLY@[340; 341) "}" - WHITESPACE@[341; 343) "\n\n" - ENUM_DEF@[343; 367) - ENUM_KW@[343; 347) "enum" - WHITESPACE@[347; 348) " " - NAME@[348; 349) - IDENT@[348; 349) "A" - WHITESPACE@[349; 350) " " - ENUM_VARIANT_LIST@[350; 367) - L_CURLY@[350; 351) "{" - WHITESPACE@[351; 356) "\n " - ENUM_VARIANT@[356; 365) - NAME@[356; 357) - IDENT@[356; 357) "B" - TUPLE_FIELD_DEF_LIST@[357; 365) - L_PAREN@[357; 358) "(" - TUPLE_FIELD_DEF@[358; 360) - PATH_TYPE@[358; 360) - PATH@[358; 360) - PATH_SEGMENT@[358; 360) - NAME_REF@[358; 360) - IDENT@[358; 360) "i8" - COMMA@[360; 361) "," - WHITESPACE@[361; 362) " " - TUPLE_FIELD_DEF@[362; 364) - PATH_TYPE@[362; 364) - PATH@[362; 364) - PATH_SEGMENT@[362; 364) - NAME_REF@[362; 364) - IDENT@[362; 364) "i8" - R_PAREN@[364; 365) ")" - WHITESPACE@[365; 366) "\n" - R_CURLY@[366; 367) "}" - WHITESPACE@[367; 369) "\n\n" - FN_DEF@[369; 394) - FN_KW@[369; 371) "fn" - WHITESPACE@[371; 372) " " - NAME@[372; 375) - IDENT@[372; 375) "foo" - PARAM_LIST@[375; 391) - L_PAREN@[375; 376) "(" - PARAM@[376; 390) - RANGE_PAT@[376; 386) - LITERAL_PAT@[376; 380) - MINUS@[376; 377) "-" - LITERAL@[377; 380) - INT_NUMBER@[377; 380) "128" - DOTDOTEQ@[380; 383) "..=" - LITERAL_PAT@[383; 386) - LITERAL@[383; 386) - INT_NUMBER@[383; 386) "127" - COLON@[386; 387) ":" - WHITESPACE@[387; 388) " " - PATH_TYPE@[388; 390) - PATH@[388; 390) - PATH_SEGMENT@[388; 390) - NAME_REF@[388; 390) - IDENT@[388; 390) "i8" - R_PAREN@[390; 391) ")" - WHITESPACE@[391; 392) " " - BLOCK_EXPR@[392; 394) - BLOCK@[392; 394) - L_CURLY@[392; 393) "{" - R_CURLY@[393; 394) "}" - WHITESPACE@[394; 395) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast new file mode 100644 index 000000000..c9cf84ffd --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast @@ -0,0 +1,201 @@ +SOURCE_FILE@[0; 257) + COMMENT@[0; 58) "// https://github.com ..." + WHITESPACE@[58; 60) "\n\n" + FN_DEF@[60; 256) + FN_KW@[60; 62) "fn" + WHITESPACE@[62; 63) " " + NAME@[63; 82) + IDENT@[63; 82) "compound_assignment" + PARAM_LIST@[82; 84) + L_PAREN@[82; 83) "(" + R_PAREN@[83; 84) ")" + WHITESPACE@[84; 85) " " + BLOCK_EXPR@[85; 256) + BLOCK@[85; 256) + L_CURLY@[85; 86) "{" + WHITESPACE@[86; 91) "\n " + LET_STMT@[91; 105) + LET_KW@[91; 94) "let" + WHITESPACE@[94; 95) " " + BIND_PAT@[95; 100) + MUT_KW@[95; 98) "mut" + WHITESPACE@[98; 99) " " + NAME@[99; 100) + IDENT@[99; 100) "a" + WHITESPACE@[100; 101) " " + EQ@[101; 102) "=" + WHITESPACE@[102; 103) " " + LITERAL@[103; 104) + INT_NUMBER@[103; 104) "0" + SEMI@[104; 105) ";" + WHITESPACE@[105; 110) "\n " + EXPR_STMT@[110; 117) + BIN_EXPR@[110; 116) + PATH_EXPR@[110; 111) + PATH@[110; 111) + PATH_SEGMENT@[110; 111) + NAME_REF@[110; 111) + IDENT@[110; 111) "a" + WHITESPACE@[111; 112) " " + PLUSEQ@[112; 114) "+=" + WHITESPACE@[114; 115) " " + LITERAL@[115; 116) + INT_NUMBER@[115; 116) "1" + SEMI@[116; 117) ";" + WHITESPACE@[117; 122) "\n " + EXPR_STMT@[122; 129) + BIN_EXPR@[122; 128) + PATH_EXPR@[122; 123) + PATH@[122; 123) + PATH_SEGMENT@[122; 123) + NAME_REF@[122; 123) + IDENT@[122; 123) "a" + WHITESPACE@[123; 124) " " + MINUSEQ@[124; 126) "-=" + WHITESPACE@[126; 127) " " + LITERAL@[127; 128) + INT_NUMBER@[127; 128) "2" + SEMI@[128; 129) ";" + WHITESPACE@[129; 134) "\n " + EXPR_STMT@[134; 141) + BIN_EXPR@[134; 140) + PATH_EXPR@[134; 135) + PATH@[134; 135) + PATH_SEGMENT@[134; 135) + NAME_REF@[134; 135) + IDENT@[134; 135) "a" + WHITESPACE@[135; 136) " " + STAREQ@[136; 138) "*=" + WHITESPACE@[138; 139) " " + LITERAL@[139; 140) + INT_NUMBER@[139; 140) "3" + SEMI@[140; 141) ";" + WHITESPACE@[141; 146) "\n " + EXPR_STMT@[146; 153) + BIN_EXPR@[146; 152) + PATH_EXPR@[146; 147) + PATH@[146; 147) + PATH_SEGMENT@[146; 147) + NAME_REF@[146; 147) + IDENT@[146; 147) "a" + WHITESPACE@[147; 148) " " + PERCENTEQ@[148; 150) "%=" + WHITESPACE@[150; 151) " " + LITERAL@[151; 152) + INT_NUMBER@[151; 152) "4" + SEMI@[152; 153) ";" + WHITESPACE@[153; 158) "\n " + EXPR_STMT@[158; 165) + BIN_EXPR@[158; 164) + PATH_EXPR@[158; 159) + PATH@[158; 159) + PATH_SEGMENT@[158; 159) + NAME_REF@[158; 159) + IDENT@[158; 159) "a" + WHITESPACE@[159; 160) " " + SLASHEQ@[160; 162) "/=" + WHITESPACE@[162; 163) " " + LITERAL@[163; 164) + INT_NUMBER@[163; 164) "5" + SEMI@[164; 165) ";" + WHITESPACE@[165; 170) "\n " + EXPR_STMT@[170; 177) + BIN_EXPR@[170; 176) + PATH_EXPR@[170; 171) + PATH@[170; 171) + PATH_SEGMENT@[170; 171) + NAME_REF@[170; 171) + IDENT@[170; 171) "a" + WHITESPACE@[171; 172) " " + PIPEEQ@[172; 174) "|=" + WHITESPACE@[174; 175) " " + LITERAL@[175; 176) + INT_NUMBER@[175; 176) "6" + SEMI@[176; 177) ";" + WHITESPACE@[177; 182) "\n " + EXPR_STMT@[182; 189) + BIN_EXPR@[182; 188) + PATH_EXPR@[182; 183) + PATH@[182; 183) + PATH_SEGMENT@[182; 183) + NAME_REF@[182; 183) + IDENT@[182; 183) "a" + WHITESPACE@[183; 184) " " + AMPEQ@[184; 186) "&=" + WHITESPACE@[186; 187) " " + LITERAL@[187; 188) + INT_NUMBER@[187; 188) "7" + SEMI@[188; 189) ";" + WHITESPACE@[189; 194) "\n " + EXPR_STMT@[194; 201) + BIN_EXPR@[194; 200) + PATH_EXPR@[194; 195) + PATH@[194; 195) + PATH_SEGMENT@[194; 195) + NAME_REF@[194; 195) + IDENT@[194; 195) "a" + WHITESPACE@[195; 196) " " + CARETEQ@[196; 198) "^=" + WHITESPACE@[198; 199) " " + LITERAL@[199; 200) + INT_NUMBER@[199; 200) "8" + SEMI@[200; 201) ";" + WHITESPACE@[201; 206) "\n " + EXPR_STMT@[206; 213) + BIN_EXPR@[206; 212) + PATH_EXPR@[206; 207) + PATH@[206; 207) + PATH_SEGMENT@[206; 207) + NAME_REF@[206; 207) + IDENT@[206; 207) "a" + WHITESPACE@[207; 208) " " + LTEQ@[208; 210) "<=" + WHITESPACE@[210; 211) " " + LITERAL@[211; 212) + INT_NUMBER@[211; 212) "9" + SEMI@[212; 213) ";" + WHITESPACE@[213; 218) "\n " + EXPR_STMT@[218; 226) + BIN_EXPR@[218; 225) + PATH_EXPR@[218; 219) + PATH@[218; 219) + PATH_SEGMENT@[218; 219) + NAME_REF@[218; 219) + IDENT@[218; 219) "a" + WHITESPACE@[219; 220) " " + GTEQ@[220; 222) ">=" + WHITESPACE@[222; 223) " " + LITERAL@[223; 225) + INT_NUMBER@[223; 225) "10" + SEMI@[225; 226) ";" + WHITESPACE@[226; 231) "\n " + EXPR_STMT@[231; 240) + BIN_EXPR@[231; 239) + PATH_EXPR@[231; 232) + PATH@[231; 232) + PATH_SEGMENT@[231; 232) + NAME_REF@[231; 232) + IDENT@[231; 232) "a" + WHITESPACE@[232; 233) " " + SHREQ@[233; 236) ">>=" + WHITESPACE@[236; 237) " " + LITERAL@[237; 239) + INT_NUMBER@[237; 239) "11" + SEMI@[239; 240) ";" + WHITESPACE@[240; 245) "\n " + EXPR_STMT@[245; 254) + BIN_EXPR@[245; 253) + PATH_EXPR@[245; 246) + PATH@[245; 246) + PATH_SEGMENT@[245; 246) + NAME_REF@[245; 246) + IDENT@[245; 246) "a" + WHITESPACE@[246; 247) " " + SHLEQ@[247; 250) "<<=" + WHITESPACE@[250; 251) " " + LITERAL@[251; 253) + INT_NUMBER@[251; 253) "12" + SEMI@[253; 254) ";" + WHITESPACE@[254; 255) "\n" + R_CURLY@[255; 256) "}" + WHITESPACE@[256; 257) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.txt b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.txt deleted file mode 100644 index c9cf84ffd..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.txt +++ /dev/null @@ -1,201 +0,0 @@ -SOURCE_FILE@[0; 257) - COMMENT@[0; 58) "// https://github.com ..." - WHITESPACE@[58; 60) "\n\n" - FN_DEF@[60; 256) - FN_KW@[60; 62) "fn" - WHITESPACE@[62; 63) " " - NAME@[63; 82) - IDENT@[63; 82) "compound_assignment" - PARAM_LIST@[82; 84) - L_PAREN@[82; 83) "(" - R_PAREN@[83; 84) ")" - WHITESPACE@[84; 85) " " - BLOCK_EXPR@[85; 256) - BLOCK@[85; 256) - L_CURLY@[85; 86) "{" - WHITESPACE@[86; 91) "\n " - LET_STMT@[91; 105) - LET_KW@[91; 94) "let" - WHITESPACE@[94; 95) " " - BIND_PAT@[95; 100) - MUT_KW@[95; 98) "mut" - WHITESPACE@[98; 99) " " - NAME@[99; 100) - IDENT@[99; 100) "a" - WHITESPACE@[100; 101) " " - EQ@[101; 102) "=" - WHITESPACE@[102; 103) " " - LITERAL@[103; 104) - INT_NUMBER@[103; 104) "0" - SEMI@[104; 105) ";" - WHITESPACE@[105; 110) "\n " - EXPR_STMT@[110; 117) - BIN_EXPR@[110; 116) - PATH_EXPR@[110; 111) - PATH@[110; 111) - PATH_SEGMENT@[110; 111) - NAME_REF@[110; 111) - IDENT@[110; 111) "a" - WHITESPACE@[111; 112) " " - PLUSEQ@[112; 114) "+=" - WHITESPACE@[114; 115) " " - LITERAL@[115; 116) - INT_NUMBER@[115; 116) "1" - SEMI@[116; 117) ";" - WHITESPACE@[117; 122) "\n " - EXPR_STMT@[122; 129) - BIN_EXPR@[122; 128) - PATH_EXPR@[122; 123) - PATH@[122; 123) - PATH_SEGMENT@[122; 123) - NAME_REF@[122; 123) - IDENT@[122; 123) "a" - WHITESPACE@[123; 124) " " - MINUSEQ@[124; 126) "-=" - WHITESPACE@[126; 127) " " - LITERAL@[127; 128) - INT_NUMBER@[127; 128) "2" - SEMI@[128; 129) ";" - WHITESPACE@[129; 134) "\n " - EXPR_STMT@[134; 141) - BIN_EXPR@[134; 140) - PATH_EXPR@[134; 135) - PATH@[134; 135) - PATH_SEGMENT@[134; 135) - NAME_REF@[134; 135) - IDENT@[134; 135) "a" - WHITESPACE@[135; 136) " " - STAREQ@[136; 138) "*=" - WHITESPACE@[138; 139) " " - LITERAL@[139; 140) - INT_NUMBER@[139; 140) "3" - SEMI@[140; 141) ";" - WHITESPACE@[141; 146) "\n " - EXPR_STMT@[146; 153) - BIN_EXPR@[146; 152) - PATH_EXPR@[146; 147) - PATH@[146; 147) - PATH_SEGMENT@[146; 147) - NAME_REF@[146; 147) - IDENT@[146; 147) "a" - WHITESPACE@[147; 148) " " - PERCENTEQ@[148; 150) "%=" - WHITESPACE@[150; 151) " " - LITERAL@[151; 152) - INT_NUMBER@[151; 152) "4" - SEMI@[152; 153) ";" - WHITESPACE@[153; 158) "\n " - EXPR_STMT@[158; 165) - BIN_EXPR@[158; 164) - PATH_EXPR@[158; 159) - PATH@[158; 159) - PATH_SEGMENT@[158; 159) - NAME_REF@[158; 159) - IDENT@[158; 159) "a" - WHITESPACE@[159; 160) " " - SLASHEQ@[160; 162) "/=" - WHITESPACE@[162; 163) " " - LITERAL@[163; 164) - INT_NUMBER@[163; 164) "5" - SEMI@[164; 165) ";" - WHITESPACE@[165; 170) "\n " - EXPR_STMT@[170; 177) - BIN_EXPR@[170; 176) - PATH_EXPR@[170; 171) - PATH@[170; 171) - PATH_SEGMENT@[170; 171) - NAME_REF@[170; 171) - IDENT@[170; 171) "a" - WHITESPACE@[171; 172) " " - PIPEEQ@[172; 174) "|=" - WHITESPACE@[174; 175) " " - LITERAL@[175; 176) - INT_NUMBER@[175; 176) "6" - SEMI@[176; 177) ";" - WHITESPACE@[177; 182) "\n " - EXPR_STMT@[182; 189) - BIN_EXPR@[182; 188) - PATH_EXPR@[182; 183) - PATH@[182; 183) - PATH_SEGMENT@[182; 183) - NAME_REF@[182; 183) - IDENT@[182; 183) "a" - WHITESPACE@[183; 184) " " - AMPEQ@[184; 186) "&=" - WHITESPACE@[186; 187) " " - LITERAL@[187; 188) - INT_NUMBER@[187; 188) "7" - SEMI@[188; 189) ";" - WHITESPACE@[189; 194) "\n " - EXPR_STMT@[194; 201) - BIN_EXPR@[194; 200) - PATH_EXPR@[194; 195) - PATH@[194; 195) - PATH_SEGMENT@[194; 195) - NAME_REF@[194; 195) - IDENT@[194; 195) "a" - WHITESPACE@[195; 196) " " - CARETEQ@[196; 198) "^=" - WHITESPACE@[198; 199) " " - LITERAL@[199; 200) - INT_NUMBER@[199; 200) "8" - SEMI@[200; 201) ";" - WHITESPACE@[201; 206) "\n " - EXPR_STMT@[206; 213) - BIN_EXPR@[206; 212) - PATH_EXPR@[206; 207) - PATH@[206; 207) - PATH_SEGMENT@[206; 207) - NAME_REF@[206; 207) - IDENT@[206; 207) "a" - WHITESPACE@[207; 208) " " - LTEQ@[208; 210) "<=" - WHITESPACE@[210; 211) " " - LITERAL@[211; 212) - INT_NUMBER@[211; 212) "9" - SEMI@[212; 213) ";" - WHITESPACE@[213; 218) "\n " - EXPR_STMT@[218; 226) - BIN_EXPR@[218; 225) - PATH_EXPR@[218; 219) - PATH@[218; 219) - PATH_SEGMENT@[218; 219) - NAME_REF@[218; 219) - IDENT@[218; 219) "a" - WHITESPACE@[219; 220) " " - GTEQ@[220; 222) ">=" - WHITESPACE@[222; 223) " " - LITERAL@[223; 225) - INT_NUMBER@[223; 225) "10" - SEMI@[225; 226) ";" - WHITESPACE@[226; 231) "\n " - EXPR_STMT@[231; 240) - BIN_EXPR@[231; 239) - PATH_EXPR@[231; 232) - PATH@[231; 232) - PATH_SEGMENT@[231; 232) - NAME_REF@[231; 232) - IDENT@[231; 232) "a" - WHITESPACE@[232; 233) " " - SHREQ@[233; 236) ">>=" - WHITESPACE@[236; 237) " " - LITERAL@[237; 239) - INT_NUMBER@[237; 239) "11" - SEMI@[239; 240) ";" - WHITESPACE@[240; 245) "\n " - EXPR_STMT@[245; 254) - BIN_EXPR@[245; 253) - PATH_EXPR@[245; 246) - PATH@[245; 246) - PATH_SEGMENT@[245; 246) - NAME_REF@[245; 246) - IDENT@[245; 246) "a" - WHITESPACE@[246; 247) " " - SHLEQ@[247; 250) "<<=" - WHITESPACE@[250; 251) " " - LITERAL@[251; 253) - INT_NUMBER@[251; 253) "12" - SEMI@[253; 254) ";" - WHITESPACE@[254; 255) "\n" - R_CURLY@[255; 256) "}" - WHITESPACE@[256; 257) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast b/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast new file mode 100644 index 000000000..aa6daff7d --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast @@ -0,0 +1,36 @@ +SOURCE_FILE@[0; 47) + FN_DEF@[0; 45) + 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; 45) + BLOCK@[9; 45) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 24) + BLOCK_EXPR@[15; 23) + ASYNC_KW@[15; 20) "async" + WHITESPACE@[20; 21) " " + BLOCK@[21; 23) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + SEMI@[23; 24) ";" + WHITESPACE@[24; 29) "\n " + EXPR_STMT@[29; 43) + BLOCK_EXPR@[29; 42) + ASYNC_KW@[29; 34) "async" + WHITESPACE@[34; 35) " " + MOVE_KW@[35; 39) "move" + WHITESPACE@[39; 40) " " + BLOCK@[40; 42) + L_CURLY@[40; 41) "{" + R_CURLY@[41; 42) "}" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) "\n" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 47) "\n\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0049_async_block.txt b/crates/ra_syntax/test_data/parser/ok/0049_async_block.txt deleted file mode 100644 index aa6daff7d..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0049_async_block.txt +++ /dev/null @@ -1,36 +0,0 @@ -SOURCE_FILE@[0; 47) - FN_DEF@[0; 45) - 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; 45) - BLOCK@[9; 45) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 24) - BLOCK_EXPR@[15; 23) - ASYNC_KW@[15; 20) "async" - WHITESPACE@[20; 21) " " - BLOCK@[21; 23) - L_CURLY@[21; 22) "{" - R_CURLY@[22; 23) "}" - SEMI@[23; 24) ";" - WHITESPACE@[24; 29) "\n " - EXPR_STMT@[29; 43) - BLOCK_EXPR@[29; 42) - ASYNC_KW@[29; 34) "async" - WHITESPACE@[34; 35) " " - MOVE_KW@[35; 39) "move" - WHITESPACE@[39; 40) " " - BLOCK@[40; 42) - L_CURLY@[40; 41) "{" - R_CURLY@[41; 42) "}" - SEMI@[42; 43) ";" - WHITESPACE@[43; 44) "\n" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 47) "\n\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast b/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast new file mode 100644 index 000000000..435f27970 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast @@ -0,0 +1,92 @@ +SOURCE_FILE@[0; 95) + FN_DEF@[0; 52) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 49) + L_PAREN@[6; 7) "(" + PARAM@[7; 48) + BIND_PAT@[7; 8) + NAME@[7; 8) + IDENT@[7; 8) "x" + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " + IMPL_TRAIT_TYPE@[10; 48) + IMPL_KW@[10; 14) "impl" + WHITESPACE@[14; 15) " " + TYPE_BOUND_LIST@[15; 48) + TYPE_BOUND@[15; 48) + PATH_TYPE@[15; 48) + PATH@[15; 48) + PATH@[15; 26) + PATH@[15; 18) + PATH_SEGMENT@[15; 18) + NAME_REF@[15; 18) + IDENT@[15; 18) "std" + COLONCOLON@[18; 20) "::" + PATH_SEGMENT@[20; 26) + NAME_REF@[20; 26) + IDENT@[20; 26) "future" + COLONCOLON@[26; 28) "::" + PATH_SEGMENT@[28; 48) + NAME_REF@[28; 34) + IDENT@[28; 34) "Future" + TYPE_ARG_LIST@[34; 48) + L_ANGLE@[34; 35) "<" + ASSOC_TYPE_ARG@[35; 47) + NAME_REF@[35; 41) + IDENT@[35; 41) "Output" + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 47) + PATH@[44; 47) + PATH_SEGMENT@[44; 47) + NAME_REF@[44; 47) + IDENT@[44; 47) "i32" + R_ANGLE@[47; 48) ">" + R_PAREN@[48; 49) ")" + WHITESPACE@[49; 50) " " + BLOCK_EXPR@[50; 52) + BLOCK@[50; 52) + L_CURLY@[50; 51) "{" + R_CURLY@[51; 52) "}" + WHITESPACE@[52; 54) "\n\n" + FN_DEF@[54; 94) + FN_KW@[54; 56) "fn" + WHITESPACE@[56; 57) " " + NAME@[57; 61) + IDENT@[57; 61) "main" + PARAM_LIST@[61; 63) + L_PAREN@[61; 62) "(" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " + BLOCK_EXPR@[64; 94) + BLOCK@[64; 94) + L_CURLY@[64; 65) "{" + WHITESPACE@[65; 70) "\n " + CALL_EXPR@[70; 92) + PATH_EXPR@[70; 73) + PATH@[70; 73) + PATH_SEGMENT@[70; 73) + NAME_REF@[70; 73) + IDENT@[70; 73) "foo" + ARG_LIST@[73; 92) + L_PAREN@[73; 74) "(" + BLOCK_EXPR@[74; 91) + ASYNC_KW@[74; 79) "async" + WHITESPACE@[79; 80) " " + MOVE_KW@[80; 84) "move" + WHITESPACE@[84; 85) " " + BLOCK@[85; 91) + L_CURLY@[85; 86) "{" + WHITESPACE@[86; 87) " " + LITERAL@[87; 89) + INT_NUMBER@[87; 89) "12" + WHITESPACE@[89; 90) " " + R_CURLY@[90; 91) "}" + R_PAREN@[91; 92) ")" + WHITESPACE@[92; 93) "\n" + R_CURLY@[93; 94) "}" + WHITESPACE@[94; 95) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.txt b/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.txt deleted file mode 100644 index 435f27970..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.txt +++ /dev/null @@ -1,92 +0,0 @@ -SOURCE_FILE@[0; 95) - FN_DEF@[0; 52) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 49) - L_PAREN@[6; 7) "(" - PARAM@[7; 48) - BIND_PAT@[7; 8) - NAME@[7; 8) - IDENT@[7; 8) "x" - COLON@[8; 9) ":" - WHITESPACE@[9; 10) " " - IMPL_TRAIT_TYPE@[10; 48) - IMPL_KW@[10; 14) "impl" - WHITESPACE@[14; 15) " " - TYPE_BOUND_LIST@[15; 48) - TYPE_BOUND@[15; 48) - PATH_TYPE@[15; 48) - PATH@[15; 48) - PATH@[15; 26) - PATH@[15; 18) - PATH_SEGMENT@[15; 18) - NAME_REF@[15; 18) - IDENT@[15; 18) "std" - COLONCOLON@[18; 20) "::" - PATH_SEGMENT@[20; 26) - NAME_REF@[20; 26) - IDENT@[20; 26) "future" - COLONCOLON@[26; 28) "::" - PATH_SEGMENT@[28; 48) - NAME_REF@[28; 34) - IDENT@[28; 34) "Future" - TYPE_ARG_LIST@[34; 48) - L_ANGLE@[34; 35) "<" - ASSOC_TYPE_ARG@[35; 47) - NAME_REF@[35; 41) - IDENT@[35; 41) "Output" - WHITESPACE@[41; 42) " " - EQ@[42; 43) "=" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 47) - PATH@[44; 47) - PATH_SEGMENT@[44; 47) - NAME_REF@[44; 47) - IDENT@[44; 47) "i32" - R_ANGLE@[47; 48) ">" - R_PAREN@[48; 49) ")" - WHITESPACE@[49; 50) " " - BLOCK_EXPR@[50; 52) - BLOCK@[50; 52) - L_CURLY@[50; 51) "{" - R_CURLY@[51; 52) "}" - WHITESPACE@[52; 54) "\n\n" - FN_DEF@[54; 94) - FN_KW@[54; 56) "fn" - WHITESPACE@[56; 57) " " - NAME@[57; 61) - IDENT@[57; 61) "main" - PARAM_LIST@[61; 63) - L_PAREN@[61; 62) "(" - R_PAREN@[62; 63) ")" - WHITESPACE@[63; 64) " " - BLOCK_EXPR@[64; 94) - BLOCK@[64; 94) - L_CURLY@[64; 65) "{" - WHITESPACE@[65; 70) "\n " - CALL_EXPR@[70; 92) - PATH_EXPR@[70; 73) - PATH@[70; 73) - PATH_SEGMENT@[70; 73) - NAME_REF@[70; 73) - IDENT@[70; 73) "foo" - ARG_LIST@[73; 92) - L_PAREN@[73; 74) "(" - BLOCK_EXPR@[74; 91) - ASYNC_KW@[74; 79) "async" - WHITESPACE@[79; 80) " " - MOVE_KW@[80; 84) "move" - WHITESPACE@[84; 85) " " - BLOCK@[85; 91) - L_CURLY@[85; 86) "{" - WHITESPACE@[86; 87) " " - LITERAL@[87; 89) - INT_NUMBER@[87; 89) "12" - WHITESPACE@[89; 90) " " - R_CURLY@[90; 91) "}" - R_PAREN@[91; 92) ")" - WHITESPACE@[92; 93) "\n" - R_CURLY@[93; 94) "}" - WHITESPACE@[94; 95) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast new file mode 100644 index 000000000..254eafc36 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast @@ -0,0 +1,519 @@ +SOURCE_FILE@[0; 519) + FN_DEF@[0; 37) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 5) + IDENT@[3; 5) "g1" + PARAM_LIST@[5; 34) + L_PAREN@[5; 6) "(" + ATTR@[6; 14) + POUND@[6; 7) "#" + L_BRACK@[7; 8) "[" + PATH@[8; 13) + PATH_SEGMENT@[8; 13) + NAME_REF@[8; 13) + IDENT@[8; 13) "attr1" + R_BRACK@[13; 14) "]" + WHITESPACE@[14; 15) " " + ATTR@[15; 23) + POUND@[15; 16) "#" + L_BRACK@[16; 17) "[" + PATH@[17; 22) + PATH_SEGMENT@[17; 22) + NAME_REF@[17; 22) + IDENT@[17; 22) "attr2" + R_BRACK@[22; 23) "]" + WHITESPACE@[23; 24) " " + PARAM@[24; 33) + BIND_PAT@[24; 27) + NAME@[24; 27) + IDENT@[24; 27) "pat" + COLON@[27; 28) ":" + WHITESPACE@[28; 29) " " + PATH_TYPE@[29; 33) + PATH@[29; 33) + PATH_SEGMENT@[29; 33) + NAME_REF@[29; 33) + IDENT@[29; 33) "Type" + R_PAREN@[33; 34) ")" + WHITESPACE@[34; 35) " " + BLOCK_EXPR@[35; 37) + BLOCK@[35; 37) + L_CURLY@[35; 36) "{" + R_CURLY@[36; 37) "}" + WHITESPACE@[37; 38) "\n" + FN_DEF@[38; 62) + FN_KW@[38; 40) "fn" + WHITESPACE@[40; 41) " " + NAME@[41; 43) + IDENT@[41; 43) "g2" + PARAM_LIST@[43; 59) + L_PAREN@[43; 44) "(" + ATTR@[44; 52) + POUND@[44; 45) "#" + L_BRACK@[45; 46) "[" + PATH@[46; 51) + PATH_SEGMENT@[46; 51) + NAME_REF@[46; 51) + IDENT@[46; 51) "attr1" + R_BRACK@[51; 52) "]" + WHITESPACE@[52; 53) " " + PARAM@[53; 58) + BIND_PAT@[53; 54) + NAME@[53; 54) + IDENT@[53; 54) "x" + COLON@[54; 55) ":" + WHITESPACE@[55; 56) " " + PATH_TYPE@[56; 58) + PATH@[56; 58) + PATH_SEGMENT@[56; 58) + NAME_REF@[56; 58) + IDENT@[56; 58) "u8" + R_PAREN@[58; 59) ")" + WHITESPACE@[59; 60) " " + BLOCK_EXPR@[60; 62) + BLOCK@[60; 62) + L_CURLY@[60; 61) "{" + R_CURLY@[61; 62) "}" + WHITESPACE@[62; 64) "\n\n" + EXTERN_BLOCK@[64; 128) + ABI@[64; 74) + EXTERN_KW@[64; 70) "extern" + WHITESPACE@[70; 71) " " + STRING@[71; 74) "\"C\"" + WHITESPACE@[74; 75) " " + EXTERN_ITEM_LIST@[75; 128) + L_CURLY@[75; 76) "{" + WHITESPACE@[76; 77) " " + FN_DEF@[77; 126) + FN_KW@[77; 79) "fn" + WHITESPACE@[79; 80) " " + NAME@[80; 86) + IDENT@[80; 86) "printf" + PARAM_LIST@[86; 118) + L_PAREN@[86; 87) "(" + PARAM@[87; 104) + BIND_PAT@[87; 93) + NAME@[87; 93) + IDENT@[87; 93) "format" + COLON@[93; 94) ":" + WHITESPACE@[94; 95) " " + POINTER_TYPE@[95; 104) + STAR@[95; 96) "*" + CONST_KW@[96; 101) "const" + WHITESPACE@[101; 102) " " + PATH_TYPE@[102; 104) + PATH@[102; 104) + PATH_SEGMENT@[102; 104) + NAME_REF@[102; 104) + IDENT@[102; 104) "i8" + COMMA@[104; 105) "," + WHITESPACE@[105; 106) " " + ATTR@[106; 113) + POUND@[106; 107) "#" + L_BRACK@[107; 108) "[" + PATH@[108; 112) + PATH_SEGMENT@[108; 112) + NAME_REF@[108; 112) + IDENT@[108; 112) "attr" + R_BRACK@[112; 113) "]" + WHITESPACE@[113; 114) " " + PARAM@[114; 117) + DOTDOTDOT@[114; 117) "..." + R_PAREN@[117; 118) ")" + WHITESPACE@[118; 119) " " + RET_TYPE@[119; 125) + THIN_ARROW@[119; 121) "->" + WHITESPACE@[121; 122) " " + PATH_TYPE@[122; 125) + PATH@[122; 125) + PATH_SEGMENT@[122; 125) + NAME_REF@[122; 125) + IDENT@[122; 125) "i32" + SEMI@[125; 126) ";" + WHITESPACE@[126; 127) " " + R_CURLY@[127; 128) "}" + WHITESPACE@[128; 130) "\n\n" + FN_DEF@[130; 172) + FN_KW@[130; 132) "fn" + WHITESPACE@[132; 133) " " + NAME@[133; 136) + IDENT@[133; 136) "foo" + TYPE_PARAM_LIST@[136; 168) + L_ANGLE@[136; 137) "<" + TYPE_PARAM@[137; 167) + NAME@[137; 138) + IDENT@[137; 138) "F" + COLON@[138; 139) ":" + WHITESPACE@[139; 140) " " + TYPE_BOUND_LIST@[140; 167) + TYPE_BOUND@[140; 167) + PATH_TYPE@[140; 167) + PATH@[140; 167) + PATH_SEGMENT@[140; 167) + NAME_REF@[140; 145) + IDENT@[140; 145) "FnMut" + PARAM_LIST@[145; 167) + L_PAREN@[145; 146) "(" + ATTR@[146; 153) + POUND@[146; 147) "#" + L_BRACK@[147; 148) "[" + PATH@[148; 152) + PATH_SEGMENT@[148; 152) + NAME_REF@[148; 152) + IDENT@[148; 152) "attr" + R_BRACK@[152; 153) "]" + WHITESPACE@[153; 154) " " + PARAM@[154; 166) + REFERENCE_TYPE@[154; 166) + AMP@[154; 155) "&" + MUT_KW@[155; 158) "mut" + WHITESPACE@[158; 159) " " + PATH_TYPE@[159; 166) + PATH@[159; 166) + PATH_SEGMENT@[159; 166) + NAME_REF@[159; 162) + IDENT@[159; 162) "Foo" + TYPE_ARG_LIST@[162; 166) + L_ANGLE@[162; 163) "<" + LIFETIME_ARG@[163; 165) + LIFETIME@[163; 165) "\'a" + R_ANGLE@[165; 166) ">" + R_PAREN@[166; 167) ")" + R_ANGLE@[167; 168) ">" + PARAM_LIST@[168; 170) + L_PAREN@[168; 169) "(" + R_PAREN@[169; 170) ")" + BLOCK_EXPR@[170; 172) + BLOCK@[170; 172) + L_CURLY@[170; 171) "{" + R_CURLY@[171; 172) "}" + WHITESPACE@[172; 174) "\n\n" + TRAIT_DEF@[174; 236) + TRAIT_KW@[174; 179) "trait" + WHITESPACE@[179; 180) " " + NAME@[180; 183) + IDENT@[180; 183) "Foo" + WHITESPACE@[183; 184) " " + ITEM_LIST@[184; 236) + L_CURLY@[184; 185) "{" + WHITESPACE@[185; 190) "\n " + FN_DEF@[190; 234) + FN_KW@[190; 192) "fn" + WHITESPACE@[192; 193) " " + NAME@[193; 196) + IDENT@[193; 196) "bar" + PARAM_LIST@[196; 233) + L_PAREN@[196; 197) "(" + ATTR@[197; 204) + POUND@[197; 198) "#" + L_BRACK@[198; 199) "[" + PATH@[199; 203) + PATH_SEGMENT@[199; 203) + NAME_REF@[199; 203) + IDENT@[199; 203) "attr" + R_BRACK@[203; 204) "]" + WHITESPACE@[204; 205) " " + PARAM@[205; 211) + PLACEHOLDER_PAT@[205; 206) + UNDERSCORE@[205; 206) "_" + COLON@[206; 207) ":" + WHITESPACE@[207; 208) " " + PATH_TYPE@[208; 211) + PATH@[208; 211) + PATH_SEGMENT@[208; 211) + NAME_REF@[208; 211) + IDENT@[208; 211) "u64" + COMMA@[211; 212) "," + WHITESPACE@[212; 213) " " + ATTR@[213; 221) + POUND@[213; 214) "#" + WHITESPACE@[214; 215) " " + L_BRACK@[215; 216) "[" + PATH@[216; 220) + PATH_SEGMENT@[216; 220) + NAME_REF@[216; 220) + IDENT@[216; 220) "attr" + R_BRACK@[220; 221) "]" + WHITESPACE@[221; 222) " " + PARAM@[222; 232) + BIND_PAT@[222; 227) + MUT_KW@[222; 225) "mut" + WHITESPACE@[225; 226) " " + NAME@[226; 227) + IDENT@[226; 227) "x" + COLON@[227; 228) ":" + WHITESPACE@[228; 229) " " + PATH_TYPE@[229; 232) + PATH@[229; 232) + PATH_SEGMENT@[229; 232) + NAME_REF@[229; 232) + IDENT@[229; 232) "i32" + R_PAREN@[232; 233) ")" + SEMI@[233; 234) ";" + WHITESPACE@[234; 235) "\n" + R_CURLY@[235; 236) "}" + WHITESPACE@[236; 238) "\n\n" + IMPL_DEF@[238; 519) + IMPL_KW@[238; 242) "impl" + WHITESPACE@[242; 243) " " + PATH_TYPE@[243; 244) + PATH@[243; 244) + PATH_SEGMENT@[243; 244) + NAME_REF@[243; 244) + IDENT@[243; 244) "S" + WHITESPACE@[244; 245) " " + ITEM_LIST@[245; 519) + L_CURLY@[245; 246) "{" + WHITESPACE@[246; 252) "\n " + FN_DEF@[252; 277) + FN_KW@[252; 254) "fn" + WHITESPACE@[254; 255) " " + NAME@[255; 256) + IDENT@[255; 256) "f" + PARAM_LIST@[256; 274) + L_PAREN@[256; 257) "(" + ATTR@[257; 268) + POUND@[257; 258) "#" + L_BRACK@[258; 259) "[" + PATH@[259; 267) + PATH_SEGMENT@[259; 267) + NAME_REF@[259; 267) + IDENT@[259; 267) "must_use" + R_BRACK@[267; 268) "]" + WHITESPACE@[268; 269) " " + SELF_PARAM@[269; 273) + SELF_KW@[269; 273) "self" + R_PAREN@[273; 274) ")" + WHITESPACE@[274; 275) " " + BLOCK_EXPR@[275; 277) + BLOCK@[275; 277) + L_CURLY@[275; 276) "{" + R_CURLY@[276; 277) "}" + WHITESPACE@[277; 283) "\n " + FN_DEF@[283; 305) + FN_KW@[283; 285) "fn" + WHITESPACE@[285; 286) " " + NAME@[286; 288) + IDENT@[286; 288) "g1" + PARAM_LIST@[288; 302) + L_PAREN@[288; 289) "(" + ATTR@[289; 296) + POUND@[289; 290) "#" + L_BRACK@[290; 291) "[" + PATH@[291; 295) + PATH_SEGMENT@[291; 295) + NAME_REF@[291; 295) + IDENT@[291; 295) "attr" + R_BRACK@[295; 296) "]" + WHITESPACE@[296; 297) " " + SELF_PARAM@[297; 301) + SELF_KW@[297; 301) "self" + R_PAREN@[301; 302) ")" + WHITESPACE@[302; 303) " " + BLOCK_EXPR@[303; 305) + BLOCK@[303; 305) + L_CURLY@[303; 304) "{" + R_CURLY@[304; 305) "}" + WHITESPACE@[305; 311) "\n " + FN_DEF@[311; 334) + FN_KW@[311; 313) "fn" + WHITESPACE@[313; 314) " " + NAME@[314; 316) + IDENT@[314; 316) "g2" + PARAM_LIST@[316; 331) + L_PAREN@[316; 317) "(" + ATTR@[317; 324) + POUND@[317; 318) "#" + L_BRACK@[318; 319) "[" + PATH@[319; 323) + PATH_SEGMENT@[319; 323) + NAME_REF@[319; 323) + IDENT@[319; 323) "attr" + R_BRACK@[323; 324) "]" + WHITESPACE@[324; 325) " " + SELF_PARAM@[325; 330) + AMP@[325; 326) "&" + SELF_KW@[326; 330) "self" + R_PAREN@[330; 331) ")" + WHITESPACE@[331; 332) " " + BLOCK_EXPR@[332; 334) + BLOCK@[332; 334) + L_CURLY@[332; 333) "{" + R_CURLY@[333; 334) "}" + WHITESPACE@[334; 340) "\n " + FN_DEF@[340; 371) + FN_KW@[340; 342) "fn" + WHITESPACE@[342; 343) " " + NAME@[343; 345) + IDENT@[343; 345) "g3" + TYPE_PARAM_LIST@[345; 349) + L_ANGLE@[345; 346) "<" + LIFETIME_PARAM@[346; 348) + LIFETIME@[346; 348) "\'a" + R_ANGLE@[348; 349) ">" + PARAM_LIST@[349; 368) + L_PAREN@[349; 350) "(" + ATTR@[350; 357) + POUND@[350; 351) "#" + L_BRACK@[351; 352) "[" + PATH@[352; 356) + PATH_SEGMENT@[352; 356) + NAME_REF@[352; 356) + IDENT@[352; 356) "attr" + R_BRACK@[356; 357) "]" + WHITESPACE@[357; 358) " " + SELF_PARAM@[358; 367) + AMP@[358; 359) "&" + MUT_KW@[359; 362) "mut" + WHITESPACE@[362; 363) " " + SELF_KW@[363; 367) "self" + R_PAREN@[367; 368) ")" + WHITESPACE@[368; 369) " " + BLOCK_EXPR@[369; 371) + BLOCK@[369; 371) + L_CURLY@[369; 370) "{" + R_CURLY@[370; 371) "}" + WHITESPACE@[371; 377) "\n " + FN_DEF@[377; 407) + FN_KW@[377; 379) "fn" + WHITESPACE@[379; 380) " " + NAME@[380; 382) + IDENT@[380; 382) "g4" + TYPE_PARAM_LIST@[382; 386) + L_ANGLE@[382; 383) "<" + LIFETIME_PARAM@[383; 385) + LIFETIME@[383; 385) "\'a" + R_ANGLE@[385; 386) ">" + PARAM_LIST@[386; 404) + L_PAREN@[386; 387) "(" + ATTR@[387; 394) + POUND@[387; 388) "#" + L_BRACK@[388; 389) "[" + PATH@[389; 393) + PATH_SEGMENT@[389; 393) + NAME_REF@[389; 393) + IDENT@[389; 393) "attr" + R_BRACK@[393; 394) "]" + WHITESPACE@[394; 395) " " + SELF_PARAM@[395; 403) + AMP@[395; 396) "&" + LIFETIME@[396; 398) "\'a" + WHITESPACE@[398; 399) " " + SELF_KW@[399; 403) "self" + R_PAREN@[403; 404) ")" + WHITESPACE@[404; 405) " " + BLOCK_EXPR@[405; 407) + BLOCK@[405; 407) + L_CURLY@[405; 406) "{" + R_CURLY@[406; 407) "}" + WHITESPACE@[407; 413) "\n " + FN_DEF@[413; 447) + FN_KW@[413; 415) "fn" + WHITESPACE@[415; 416) " " + NAME@[416; 418) + IDENT@[416; 418) "g5" + TYPE_PARAM_LIST@[418; 422) + L_ANGLE@[418; 419) "<" + LIFETIME_PARAM@[419; 421) + LIFETIME@[419; 421) "\'a" + R_ANGLE@[421; 422) ">" + PARAM_LIST@[422; 444) + L_PAREN@[422; 423) "(" + ATTR@[423; 430) + POUND@[423; 424) "#" + L_BRACK@[424; 425) "[" + PATH@[425; 429) + PATH_SEGMENT@[425; 429) + NAME_REF@[425; 429) + IDENT@[425; 429) "attr" + R_BRACK@[429; 430) "]" + WHITESPACE@[430; 431) " " + SELF_PARAM@[431; 443) + AMP@[431; 432) "&" + LIFETIME@[432; 434) "\'a" + WHITESPACE@[434; 435) " " + MUT_KW@[435; 438) "mut" + WHITESPACE@[438; 439) " " + SELF_KW@[439; 443) "self" + R_PAREN@[443; 444) ")" + WHITESPACE@[444; 445) " " + BLOCK_EXPR@[445; 447) + BLOCK@[445; 447) + L_CURLY@[445; 446) "{" + R_CURLY@[446; 447) "}" + WHITESPACE@[447; 453) "\n " + FN_DEF@[453; 480) + FN_KW@[453; 455) "fn" + WHITESPACE@[455; 456) " " + NAME@[456; 457) + IDENT@[456; 457) "c" + PARAM_LIST@[457; 477) + L_PAREN@[457; 458) "(" + ATTR@[458; 465) + POUND@[458; 459) "#" + L_BRACK@[459; 460) "[" + PATH@[460; 464) + PATH_SEGMENT@[460; 464) + NAME_REF@[460; 464) + IDENT@[460; 464) "attr" + R_BRACK@[464; 465) "]" + WHITESPACE@[465; 466) " " + SELF_PARAM@[466; 476) + SELF_KW@[466; 470) "self" + COLON@[470; 471) ":" + WHITESPACE@[471; 472) " " + PATH_TYPE@[472; 476) + PATH@[472; 476) + PATH_SEGMENT@[472; 476) + NAME_REF@[472; 476) + IDENT@[472; 476) "Self" + R_PAREN@[476; 477) ")" + WHITESPACE@[477; 478) " " + BLOCK_EXPR@[478; 480) + BLOCK@[478; 480) + L_CURLY@[478; 479) "{" + R_CURLY@[479; 480) "}" + WHITESPACE@[480; 486) "\n " + FN_DEF@[486; 517) + FN_KW@[486; 488) "fn" + WHITESPACE@[488; 489) " " + NAME@[489; 490) + IDENT@[489; 490) "d" + PARAM_LIST@[490; 514) + L_PAREN@[490; 491) "(" + ATTR@[491; 498) + POUND@[491; 492) "#" + L_BRACK@[492; 493) "[" + PATH@[493; 497) + PATH_SEGMENT@[493; 497) + NAME_REF@[493; 497) + IDENT@[493; 497) "attr" + R_BRACK@[497; 498) "]" + WHITESPACE@[498; 499) " " + SELF_PARAM@[499; 513) + SELF_KW@[499; 503) "self" + COLON@[503; 504) ":" + WHITESPACE@[504; 505) " " + PATH_TYPE@[505; 513) + PATH@[505; 513) + PATH_SEGMENT@[505; 513) + NAME_REF@[505; 507) + IDENT@[505; 507) "Rc" + TYPE_ARG_LIST@[507; 513) + L_ANGLE@[507; 508) "<" + TYPE_ARG@[508; 512) + PATH_TYPE@[508; 512) + PATH@[508; 512) + PATH_SEGMENT@[508; 512) + NAME_REF@[508; 512) + IDENT@[508; 512) "Self" + R_ANGLE@[512; 513) ">" + R_PAREN@[513; 514) ")" + WHITESPACE@[514; 515) " " + BLOCK_EXPR@[515; 517) + BLOCK@[515; 517) + L_CURLY@[515; 516) "{" + R_CURLY@[516; 517) "}" + WHITESPACE@[517; 518) "\n" + R_CURLY@[518; 519) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt deleted file mode 100644 index 254eafc36..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt +++ /dev/null @@ -1,519 +0,0 @@ -SOURCE_FILE@[0; 519) - FN_DEF@[0; 37) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 5) - IDENT@[3; 5) "g1" - PARAM_LIST@[5; 34) - L_PAREN@[5; 6) "(" - ATTR@[6; 14) - POUND@[6; 7) "#" - L_BRACK@[7; 8) "[" - PATH@[8; 13) - PATH_SEGMENT@[8; 13) - NAME_REF@[8; 13) - IDENT@[8; 13) "attr1" - R_BRACK@[13; 14) "]" - WHITESPACE@[14; 15) " " - ATTR@[15; 23) - POUND@[15; 16) "#" - L_BRACK@[16; 17) "[" - PATH@[17; 22) - PATH_SEGMENT@[17; 22) - NAME_REF@[17; 22) - IDENT@[17; 22) "attr2" - R_BRACK@[22; 23) "]" - WHITESPACE@[23; 24) " " - PARAM@[24; 33) - BIND_PAT@[24; 27) - NAME@[24; 27) - IDENT@[24; 27) "pat" - COLON@[27; 28) ":" - WHITESPACE@[28; 29) " " - PATH_TYPE@[29; 33) - PATH@[29; 33) - PATH_SEGMENT@[29; 33) - NAME_REF@[29; 33) - IDENT@[29; 33) "Type" - R_PAREN@[33; 34) ")" - WHITESPACE@[34; 35) " " - BLOCK_EXPR@[35; 37) - BLOCK@[35; 37) - L_CURLY@[35; 36) "{" - R_CURLY@[36; 37) "}" - WHITESPACE@[37; 38) "\n" - FN_DEF@[38; 62) - FN_KW@[38; 40) "fn" - WHITESPACE@[40; 41) " " - NAME@[41; 43) - IDENT@[41; 43) "g2" - PARAM_LIST@[43; 59) - L_PAREN@[43; 44) "(" - ATTR@[44; 52) - POUND@[44; 45) "#" - L_BRACK@[45; 46) "[" - PATH@[46; 51) - PATH_SEGMENT@[46; 51) - NAME_REF@[46; 51) - IDENT@[46; 51) "attr1" - R_BRACK@[51; 52) "]" - WHITESPACE@[52; 53) " " - PARAM@[53; 58) - BIND_PAT@[53; 54) - NAME@[53; 54) - IDENT@[53; 54) "x" - COLON@[54; 55) ":" - WHITESPACE@[55; 56) " " - PATH_TYPE@[56; 58) - PATH@[56; 58) - PATH_SEGMENT@[56; 58) - NAME_REF@[56; 58) - IDENT@[56; 58) "u8" - R_PAREN@[58; 59) ")" - WHITESPACE@[59; 60) " " - BLOCK_EXPR@[60; 62) - BLOCK@[60; 62) - L_CURLY@[60; 61) "{" - R_CURLY@[61; 62) "}" - WHITESPACE@[62; 64) "\n\n" - EXTERN_BLOCK@[64; 128) - ABI@[64; 74) - EXTERN_KW@[64; 70) "extern" - WHITESPACE@[70; 71) " " - STRING@[71; 74) "\"C\"" - WHITESPACE@[74; 75) " " - EXTERN_ITEM_LIST@[75; 128) - L_CURLY@[75; 76) "{" - WHITESPACE@[76; 77) " " - FN_DEF@[77; 126) - FN_KW@[77; 79) "fn" - WHITESPACE@[79; 80) " " - NAME@[80; 86) - IDENT@[80; 86) "printf" - PARAM_LIST@[86; 118) - L_PAREN@[86; 87) "(" - PARAM@[87; 104) - BIND_PAT@[87; 93) - NAME@[87; 93) - IDENT@[87; 93) "format" - COLON@[93; 94) ":" - WHITESPACE@[94; 95) " " - POINTER_TYPE@[95; 104) - STAR@[95; 96) "*" - CONST_KW@[96; 101) "const" - WHITESPACE@[101; 102) " " - PATH_TYPE@[102; 104) - PATH@[102; 104) - PATH_SEGMENT@[102; 104) - NAME_REF@[102; 104) - IDENT@[102; 104) "i8" - COMMA@[104; 105) "," - WHITESPACE@[105; 106) " " - ATTR@[106; 113) - POUND@[106; 107) "#" - L_BRACK@[107; 108) "[" - PATH@[108; 112) - PATH_SEGMENT@[108; 112) - NAME_REF@[108; 112) - IDENT@[108; 112) "attr" - R_BRACK@[112; 113) "]" - WHITESPACE@[113; 114) " " - PARAM@[114; 117) - DOTDOTDOT@[114; 117) "..." - R_PAREN@[117; 118) ")" - WHITESPACE@[118; 119) " " - RET_TYPE@[119; 125) - THIN_ARROW@[119; 121) "->" - WHITESPACE@[121; 122) " " - PATH_TYPE@[122; 125) - PATH@[122; 125) - PATH_SEGMENT@[122; 125) - NAME_REF@[122; 125) - IDENT@[122; 125) "i32" - SEMI@[125; 126) ";" - WHITESPACE@[126; 127) " " - R_CURLY@[127; 128) "}" - WHITESPACE@[128; 130) "\n\n" - FN_DEF@[130; 172) - FN_KW@[130; 132) "fn" - WHITESPACE@[132; 133) " " - NAME@[133; 136) - IDENT@[133; 136) "foo" - TYPE_PARAM_LIST@[136; 168) - L_ANGLE@[136; 137) "<" - TYPE_PARAM@[137; 167) - NAME@[137; 138) - IDENT@[137; 138) "F" - COLON@[138; 139) ":" - WHITESPACE@[139; 140) " " - TYPE_BOUND_LIST@[140; 167) - TYPE_BOUND@[140; 167) - PATH_TYPE@[140; 167) - PATH@[140; 167) - PATH_SEGMENT@[140; 167) - NAME_REF@[140; 145) - IDENT@[140; 145) "FnMut" - PARAM_LIST@[145; 167) - L_PAREN@[145; 146) "(" - ATTR@[146; 153) - POUND@[146; 147) "#" - L_BRACK@[147; 148) "[" - PATH@[148; 152) - PATH_SEGMENT@[148; 152) - NAME_REF@[148; 152) - IDENT@[148; 152) "attr" - R_BRACK@[152; 153) "]" - WHITESPACE@[153; 154) " " - PARAM@[154; 166) - REFERENCE_TYPE@[154; 166) - AMP@[154; 155) "&" - MUT_KW@[155; 158) "mut" - WHITESPACE@[158; 159) " " - PATH_TYPE@[159; 166) - PATH@[159; 166) - PATH_SEGMENT@[159; 166) - NAME_REF@[159; 162) - IDENT@[159; 162) "Foo" - TYPE_ARG_LIST@[162; 166) - L_ANGLE@[162; 163) "<" - LIFETIME_ARG@[163; 165) - LIFETIME@[163; 165) "\'a" - R_ANGLE@[165; 166) ">" - R_PAREN@[166; 167) ")" - R_ANGLE@[167; 168) ">" - PARAM_LIST@[168; 170) - L_PAREN@[168; 169) "(" - R_PAREN@[169; 170) ")" - BLOCK_EXPR@[170; 172) - BLOCK@[170; 172) - L_CURLY@[170; 171) "{" - R_CURLY@[171; 172) "}" - WHITESPACE@[172; 174) "\n\n" - TRAIT_DEF@[174; 236) - TRAIT_KW@[174; 179) "trait" - WHITESPACE@[179; 180) " " - NAME@[180; 183) - IDENT@[180; 183) "Foo" - WHITESPACE@[183; 184) " " - ITEM_LIST@[184; 236) - L_CURLY@[184; 185) "{" - WHITESPACE@[185; 190) "\n " - FN_DEF@[190; 234) - FN_KW@[190; 192) "fn" - WHITESPACE@[192; 193) " " - NAME@[193; 196) - IDENT@[193; 196) "bar" - PARAM_LIST@[196; 233) - L_PAREN@[196; 197) "(" - ATTR@[197; 204) - POUND@[197; 198) "#" - L_BRACK@[198; 199) "[" - PATH@[199; 203) - PATH_SEGMENT@[199; 203) - NAME_REF@[199; 203) - IDENT@[199; 203) "attr" - R_BRACK@[203; 204) "]" - WHITESPACE@[204; 205) " " - PARAM@[205; 211) - PLACEHOLDER_PAT@[205; 206) - UNDERSCORE@[205; 206) "_" - COLON@[206; 207) ":" - WHITESPACE@[207; 208) " " - PATH_TYPE@[208; 211) - PATH@[208; 211) - PATH_SEGMENT@[208; 211) - NAME_REF@[208; 211) - IDENT@[208; 211) "u64" - COMMA@[211; 212) "," - WHITESPACE@[212; 213) " " - ATTR@[213; 221) - POUND@[213; 214) "#" - WHITESPACE@[214; 215) " " - L_BRACK@[215; 216) "[" - PATH@[216; 220) - PATH_SEGMENT@[216; 220) - NAME_REF@[216; 220) - IDENT@[216; 220) "attr" - R_BRACK@[220; 221) "]" - WHITESPACE@[221; 222) " " - PARAM@[222; 232) - BIND_PAT@[222; 227) - MUT_KW@[222; 225) "mut" - WHITESPACE@[225; 226) " " - NAME@[226; 227) - IDENT@[226; 227) "x" - COLON@[227; 228) ":" - WHITESPACE@[228; 229) " " - PATH_TYPE@[229; 232) - PATH@[229; 232) - PATH_SEGMENT@[229; 232) - NAME_REF@[229; 232) - IDENT@[229; 232) "i32" - R_PAREN@[232; 233) ")" - SEMI@[233; 234) ";" - WHITESPACE@[234; 235) "\n" - R_CURLY@[235; 236) "}" - WHITESPACE@[236; 238) "\n\n" - IMPL_DEF@[238; 519) - IMPL_KW@[238; 242) "impl" - WHITESPACE@[242; 243) " " - PATH_TYPE@[243; 244) - PATH@[243; 244) - PATH_SEGMENT@[243; 244) - NAME_REF@[243; 244) - IDENT@[243; 244) "S" - WHITESPACE@[244; 245) " " - ITEM_LIST@[245; 519) - L_CURLY@[245; 246) "{" - WHITESPACE@[246; 252) "\n " - FN_DEF@[252; 277) - FN_KW@[252; 254) "fn" - WHITESPACE@[254; 255) " " - NAME@[255; 256) - IDENT@[255; 256) "f" - PARAM_LIST@[256; 274) - L_PAREN@[256; 257) "(" - ATTR@[257; 268) - POUND@[257; 258) "#" - L_BRACK@[258; 259) "[" - PATH@[259; 267) - PATH_SEGMENT@[259; 267) - NAME_REF@[259; 267) - IDENT@[259; 267) "must_use" - R_BRACK@[267; 268) "]" - WHITESPACE@[268; 269) " " - SELF_PARAM@[269; 273) - SELF_KW@[269; 273) "self" - R_PAREN@[273; 274) ")" - WHITESPACE@[274; 275) " " - BLOCK_EXPR@[275; 277) - BLOCK@[275; 277) - L_CURLY@[275; 276) "{" - R_CURLY@[276; 277) "}" - WHITESPACE@[277; 283) "\n " - FN_DEF@[283; 305) - FN_KW@[283; 285) "fn" - WHITESPACE@[285; 286) " " - NAME@[286; 288) - IDENT@[286; 288) "g1" - PARAM_LIST@[288; 302) - L_PAREN@[288; 289) "(" - ATTR@[289; 296) - POUND@[289; 290) "#" - L_BRACK@[290; 291) "[" - PATH@[291; 295) - PATH_SEGMENT@[291; 295) - NAME_REF@[291; 295) - IDENT@[291; 295) "attr" - R_BRACK@[295; 296) "]" - WHITESPACE@[296; 297) " " - SELF_PARAM@[297; 301) - SELF_KW@[297; 301) "self" - R_PAREN@[301; 302) ")" - WHITESPACE@[302; 303) " " - BLOCK_EXPR@[303; 305) - BLOCK@[303; 305) - L_CURLY@[303; 304) "{" - R_CURLY@[304; 305) "}" - WHITESPACE@[305; 311) "\n " - FN_DEF@[311; 334) - FN_KW@[311; 313) "fn" - WHITESPACE@[313; 314) " " - NAME@[314; 316) - IDENT@[314; 316) "g2" - PARAM_LIST@[316; 331) - L_PAREN@[316; 317) "(" - ATTR@[317; 324) - POUND@[317; 318) "#" - L_BRACK@[318; 319) "[" - PATH@[319; 323) - PATH_SEGMENT@[319; 323) - NAME_REF@[319; 323) - IDENT@[319; 323) "attr" - R_BRACK@[323; 324) "]" - WHITESPACE@[324; 325) " " - SELF_PARAM@[325; 330) - AMP@[325; 326) "&" - SELF_KW@[326; 330) "self" - R_PAREN@[330; 331) ")" - WHITESPACE@[331; 332) " " - BLOCK_EXPR@[332; 334) - BLOCK@[332; 334) - L_CURLY@[332; 333) "{" - R_CURLY@[333; 334) "}" - WHITESPACE@[334; 340) "\n " - FN_DEF@[340; 371) - FN_KW@[340; 342) "fn" - WHITESPACE@[342; 343) " " - NAME@[343; 345) - IDENT@[343; 345) "g3" - TYPE_PARAM_LIST@[345; 349) - L_ANGLE@[345; 346) "<" - LIFETIME_PARAM@[346; 348) - LIFETIME@[346; 348) "\'a" - R_ANGLE@[348; 349) ">" - PARAM_LIST@[349; 368) - L_PAREN@[349; 350) "(" - ATTR@[350; 357) - POUND@[350; 351) "#" - L_BRACK@[351; 352) "[" - PATH@[352; 356) - PATH_SEGMENT@[352; 356) - NAME_REF@[352; 356) - IDENT@[352; 356) "attr" - R_BRACK@[356; 357) "]" - WHITESPACE@[357; 358) " " - SELF_PARAM@[358; 367) - AMP@[358; 359) "&" - MUT_KW@[359; 362) "mut" - WHITESPACE@[362; 363) " " - SELF_KW@[363; 367) "self" - R_PAREN@[367; 368) ")" - WHITESPACE@[368; 369) " " - BLOCK_EXPR@[369; 371) - BLOCK@[369; 371) - L_CURLY@[369; 370) "{" - R_CURLY@[370; 371) "}" - WHITESPACE@[371; 377) "\n " - FN_DEF@[377; 407) - FN_KW@[377; 379) "fn" - WHITESPACE@[379; 380) " " - NAME@[380; 382) - IDENT@[380; 382) "g4" - TYPE_PARAM_LIST@[382; 386) - L_ANGLE@[382; 383) "<" - LIFETIME_PARAM@[383; 385) - LIFETIME@[383; 385) "\'a" - R_ANGLE@[385; 386) ">" - PARAM_LIST@[386; 404) - L_PAREN@[386; 387) "(" - ATTR@[387; 394) - POUND@[387; 388) "#" - L_BRACK@[388; 389) "[" - PATH@[389; 393) - PATH_SEGMENT@[389; 393) - NAME_REF@[389; 393) - IDENT@[389; 393) "attr" - R_BRACK@[393; 394) "]" - WHITESPACE@[394; 395) " " - SELF_PARAM@[395; 403) - AMP@[395; 396) "&" - LIFETIME@[396; 398) "\'a" - WHITESPACE@[398; 399) " " - SELF_KW@[399; 403) "self" - R_PAREN@[403; 404) ")" - WHITESPACE@[404; 405) " " - BLOCK_EXPR@[405; 407) - BLOCK@[405; 407) - L_CURLY@[405; 406) "{" - R_CURLY@[406; 407) "}" - WHITESPACE@[407; 413) "\n " - FN_DEF@[413; 447) - FN_KW@[413; 415) "fn" - WHITESPACE@[415; 416) " " - NAME@[416; 418) - IDENT@[416; 418) "g5" - TYPE_PARAM_LIST@[418; 422) - L_ANGLE@[418; 419) "<" - LIFETIME_PARAM@[419; 421) - LIFETIME@[419; 421) "\'a" - R_ANGLE@[421; 422) ">" - PARAM_LIST@[422; 444) - L_PAREN@[422; 423) "(" - ATTR@[423; 430) - POUND@[423; 424) "#" - L_BRACK@[424; 425) "[" - PATH@[425; 429) - PATH_SEGMENT@[425; 429) - NAME_REF@[425; 429) - IDENT@[425; 429) "attr" - R_BRACK@[429; 430) "]" - WHITESPACE@[430; 431) " " - SELF_PARAM@[431; 443) - AMP@[431; 432) "&" - LIFETIME@[432; 434) "\'a" - WHITESPACE@[434; 435) " " - MUT_KW@[435; 438) "mut" - WHITESPACE@[438; 439) " " - SELF_KW@[439; 443) "self" - R_PAREN@[443; 444) ")" - WHITESPACE@[444; 445) " " - BLOCK_EXPR@[445; 447) - BLOCK@[445; 447) - L_CURLY@[445; 446) "{" - R_CURLY@[446; 447) "}" - WHITESPACE@[447; 453) "\n " - FN_DEF@[453; 480) - FN_KW@[453; 455) "fn" - WHITESPACE@[455; 456) " " - NAME@[456; 457) - IDENT@[456; 457) "c" - PARAM_LIST@[457; 477) - L_PAREN@[457; 458) "(" - ATTR@[458; 465) - POUND@[458; 459) "#" - L_BRACK@[459; 460) "[" - PATH@[460; 464) - PATH_SEGMENT@[460; 464) - NAME_REF@[460; 464) - IDENT@[460; 464) "attr" - R_BRACK@[464; 465) "]" - WHITESPACE@[465; 466) " " - SELF_PARAM@[466; 476) - SELF_KW@[466; 470) "self" - COLON@[470; 471) ":" - WHITESPACE@[471; 472) " " - PATH_TYPE@[472; 476) - PATH@[472; 476) - PATH_SEGMENT@[472; 476) - NAME_REF@[472; 476) - IDENT@[472; 476) "Self" - R_PAREN@[476; 477) ")" - WHITESPACE@[477; 478) " " - BLOCK_EXPR@[478; 480) - BLOCK@[478; 480) - L_CURLY@[478; 479) "{" - R_CURLY@[479; 480) "}" - WHITESPACE@[480; 486) "\n " - FN_DEF@[486; 517) - FN_KW@[486; 488) "fn" - WHITESPACE@[488; 489) " " - NAME@[489; 490) - IDENT@[489; 490) "d" - PARAM_LIST@[490; 514) - L_PAREN@[490; 491) "(" - ATTR@[491; 498) - POUND@[491; 492) "#" - L_BRACK@[492; 493) "[" - PATH@[493; 497) - PATH_SEGMENT@[493; 497) - NAME_REF@[493; 497) - IDENT@[493; 497) "attr" - R_BRACK@[497; 498) "]" - WHITESPACE@[498; 499) " " - SELF_PARAM@[499; 513) - SELF_KW@[499; 503) "self" - COLON@[503; 504) ":" - WHITESPACE@[504; 505) " " - PATH_TYPE@[505; 513) - PATH@[505; 513) - PATH_SEGMENT@[505; 513) - NAME_REF@[505; 507) - IDENT@[505; 507) "Rc" - TYPE_ARG_LIST@[507; 513) - L_ANGLE@[507; 508) "<" - TYPE_ARG@[508; 512) - PATH_TYPE@[508; 512) - PATH@[508; 512) - PATH_SEGMENT@[508; 512) - NAME_REF@[508; 512) - IDENT@[508; 512) "Self" - R_ANGLE@[512; 513) ">" - R_PAREN@[513; 514) ")" - WHITESPACE@[514; 515) " " - BLOCK_EXPR@[515; 517) - BLOCK@[515; 517) - L_CURLY@[515; 516) "{" - R_CURLY@[516; 517) "}" - WHITESPACE@[517; 518) "\n" - R_CURLY@[518; 519) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast b/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast new file mode 100644 index 000000000..374c58670 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast @@ -0,0 +1,81 @@ +SOURCE_FILE@[0; 80) + FN_DEF@[0; 79) + 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; 79) + BLOCK@[9; 79) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 14) "\n " + FOR_EXPR@[14; 77) + FOR_KW@[14; 17) "for" + WHITESPACE@[17; 18) " " + BIND_PAT@[18; 20) + NAME@[18; 20) + IDENT@[18; 20) "_x" + WHITESPACE@[20; 21) " " + IN_KW@[21; 23) "in" + WHITESPACE@[23; 24) " " + RANGE_EXPR@[24; 56) + LITERAL@[24; 25) + INT_NUMBER@[24; 25) "0" + WHITESPACE@[25; 26) " " + DOTDOT@[26; 28) ".." + WHITESPACE@[28; 29) " " + METHOD_CALL_EXPR@[29; 56) + PAREN_EXPR@[29; 43) + L_PAREN@[29; 30) "(" + RANGE_EXPR@[30; 42) + LITERAL@[30; 31) + INT_NUMBER@[30; 31) "0" + WHITESPACE@[31; 32) " " + DOTDOT@[32; 34) ".." + WHITESPACE@[34; 35) " " + BLOCK_EXPR@[35; 42) + BLOCK@[35; 42) + L_CURLY@[35; 36) "{" + BIN_EXPR@[36; 41) + LITERAL@[36; 37) + INT_NUMBER@[36; 37) "1" + WHITESPACE@[37; 38) " " + PLUS@[38; 39) "+" + WHITESPACE@[39; 40) " " + LITERAL@[40; 41) + INT_NUMBER@[40; 41) "2" + R_CURLY@[41; 42) "}" + R_PAREN@[42; 43) ")" + DOT@[43; 44) "." + NAME_REF@[44; 47) + IDENT@[44; 47) "sum" + TYPE_ARG_LIST@[47; 54) + COLONCOLON@[47; 49) "::" + L_ANGLE@[49; 50) "<" + TYPE_ARG@[50; 53) + PATH_TYPE@[50; 53) + PATH@[50; 53) + PATH_SEGMENT@[50; 53) + NAME_REF@[50; 53) + IDENT@[50; 53) "u32" + R_ANGLE@[53; 54) ">" + ARG_LIST@[54; 56) + L_PAREN@[54; 55) "(" + R_PAREN@[55; 56) ")" + WHITESPACE@[56; 57) " " + BLOCK_EXPR@[57; 77) + BLOCK@[57; 77) + L_CURLY@[57; 58) "{" + WHITESPACE@[58; 66) "\n " + EXPR_STMT@[66; 72) + BREAK_EXPR@[66; 71) + BREAK_KW@[66; 71) "break" + SEMI@[71; 72) ";" + WHITESPACE@[72; 76) "\n " + R_CURLY@[76; 77) "}" + WHITESPACE@[77; 78) "\n" + R_CURLY@[78; 79) "}" + WHITESPACE@[79; 80) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.txt b/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.txt deleted file mode 100644 index 374c58670..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.txt +++ /dev/null @@ -1,81 +0,0 @@ -SOURCE_FILE@[0; 80) - FN_DEF@[0; 79) - 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; 79) - BLOCK@[9; 79) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 14) "\n " - FOR_EXPR@[14; 77) - FOR_KW@[14; 17) "for" - WHITESPACE@[17; 18) " " - BIND_PAT@[18; 20) - NAME@[18; 20) - IDENT@[18; 20) "_x" - WHITESPACE@[20; 21) " " - IN_KW@[21; 23) "in" - WHITESPACE@[23; 24) " " - RANGE_EXPR@[24; 56) - LITERAL@[24; 25) - INT_NUMBER@[24; 25) "0" - WHITESPACE@[25; 26) " " - DOTDOT@[26; 28) ".." - WHITESPACE@[28; 29) " " - METHOD_CALL_EXPR@[29; 56) - PAREN_EXPR@[29; 43) - L_PAREN@[29; 30) "(" - RANGE_EXPR@[30; 42) - LITERAL@[30; 31) - INT_NUMBER@[30; 31) "0" - WHITESPACE@[31; 32) " " - DOTDOT@[32; 34) ".." - WHITESPACE@[34; 35) " " - BLOCK_EXPR@[35; 42) - BLOCK@[35; 42) - L_CURLY@[35; 36) "{" - BIN_EXPR@[36; 41) - LITERAL@[36; 37) - INT_NUMBER@[36; 37) "1" - WHITESPACE@[37; 38) " " - PLUS@[38; 39) "+" - WHITESPACE@[39; 40) " " - LITERAL@[40; 41) - INT_NUMBER@[40; 41) "2" - R_CURLY@[41; 42) "}" - R_PAREN@[42; 43) ")" - DOT@[43; 44) "." - NAME_REF@[44; 47) - IDENT@[44; 47) "sum" - TYPE_ARG_LIST@[47; 54) - COLONCOLON@[47; 49) "::" - L_ANGLE@[49; 50) "<" - TYPE_ARG@[50; 53) - PATH_TYPE@[50; 53) - PATH@[50; 53) - PATH_SEGMENT@[50; 53) - NAME_REF@[50; 53) - IDENT@[50; 53) "u32" - R_ANGLE@[53; 54) ">" - ARG_LIST@[54; 56) - L_PAREN@[54; 55) "(" - R_PAREN@[55; 56) ")" - WHITESPACE@[56; 57) " " - BLOCK_EXPR@[57; 77) - BLOCK@[57; 77) - L_CURLY@[57; 58) "{" - WHITESPACE@[58; 66) "\n " - EXPR_STMT@[66; 72) - BREAK_EXPR@[66; 71) - BREAK_KW@[66; 71) "break" - SEMI@[71; 72) ";" - WHITESPACE@[72; 76) "\n " - R_CURLY@[76; 77) "}" - WHITESPACE@[77; 78) "\n" - R_CURLY@[78; 79) "}" - WHITESPACE@[79; 80) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast new file mode 100644 index 000000000..04ff0e2ff --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast @@ -0,0 +1,39 @@ +SOURCE_FILE@[0; 65) + MACRO_CALL@[0; 64) + COMMENT@[0; 13) "/// Some docs" + WHITESPACE@[13; 14) "\n" + ATTR@[14; 29) + POUND@[14; 15) "#" + L_BRACK@[15; 16) "[" + PATH@[16; 28) + PATH_SEGMENT@[16; 28) + NAME_REF@[16; 28) + IDENT@[16; 28) "macro_export" + R_BRACK@[28; 29) "]" + WHITESPACE@[29; 30) "\n" + PATH@[30; 41) + PATH_SEGMENT@[30; 41) + NAME_REF@[30; 41) + IDENT@[30; 41) "macro_rules" + EXCL@[41; 42) "!" + WHITESPACE@[42; 43) " " + NAME@[43; 46) + IDENT@[43; 46) "foo" + WHITESPACE@[46; 47) " " + TOKEN_TREE@[47; 64) + L_CURLY@[47; 48) "{" + WHITESPACE@[48; 53) "\n " + TOKEN_TREE@[53; 55) + L_PAREN@[53; 54) "(" + R_PAREN@[54; 55) ")" + WHITESPACE@[55; 56) " " + EQ@[56; 57) "=" + R_ANGLE@[57; 58) ">" + WHITESPACE@[58; 59) " " + TOKEN_TREE@[59; 61) + L_CURLY@[59; 60) "{" + R_CURLY@[60; 61) "}" + SEMI@[61; 62) ";" + WHITESPACE@[62; 63) "\n" + R_CURLY@[63; 64) "}" + WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt deleted file mode 100644 index 04ff0e2ff..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.txt +++ /dev/null @@ -1,39 +0,0 @@ -SOURCE_FILE@[0; 65) - MACRO_CALL@[0; 64) - COMMENT@[0; 13) "/// Some docs" - WHITESPACE@[13; 14) "\n" - ATTR@[14; 29) - POUND@[14; 15) "#" - L_BRACK@[15; 16) "[" - PATH@[16; 28) - PATH_SEGMENT@[16; 28) - NAME_REF@[16; 28) - IDENT@[16; 28) "macro_export" - R_BRACK@[28; 29) "]" - WHITESPACE@[29; 30) "\n" - PATH@[30; 41) - PATH_SEGMENT@[30; 41) - NAME_REF@[30; 41) - IDENT@[30; 41) "macro_rules" - EXCL@[41; 42) "!" - WHITESPACE@[42; 43) " " - NAME@[43; 46) - IDENT@[43; 46) "foo" - WHITESPACE@[46; 47) " " - TOKEN_TREE@[47; 64) - L_CURLY@[47; 48) "{" - WHITESPACE@[48; 53) "\n " - TOKEN_TREE@[53; 55) - L_PAREN@[53; 54) "(" - R_PAREN@[54; 55) ")" - WHITESPACE@[55; 56) " " - EQ@[56; 57) "=" - R_ANGLE@[57; 58) ">" - WHITESPACE@[58; 59) " " - TOKEN_TREE@[59; 61) - L_CURLY@[59; 60) "{" - R_CURLY@[60; 61) "}" - SEMI@[61; 62) ";" - WHITESPACE@[62; 63) "\n" - R_CURLY@[63; 64) "}" - WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast new file mode 100644 index 000000000..7e1af254c --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast @@ -0,0 +1,126 @@ +SOURCE_FILE@[0; 88) + FN_DEF@[0; 26) + 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) " " + RET_TYPE@[7; 23) + THIN_ARROW@[7; 9) "->" + WHITESPACE@[9; 10) " " + PATH_TYPE@[10; 23) + PATH@[10; 23) + PATH_SEGMENT@[10; 23) + NAME_REF@[10; 13) + IDENT@[10; 13) "Foo" + TYPE_ARG_LIST@[13; 23) + L_ANGLE@[13; 14) "<" + TYPE_ARG@[14; 22) + PATH_TYPE@[14; 22) + PATH@[14; 22) + PATH@[14; 17) + PATH_SEGMENT@[14; 17) + NAME_REF@[14; 17) + IDENT@[14; 17) "bar" + COLONCOLON@[17; 19) "::" + PATH_SEGMENT@[19; 22) + NAME_REF@[19; 22) + IDENT@[19; 22) "Baz" + R_ANGLE@[22; 23) ">" + WHITESPACE@[23; 24) " " + BLOCK_EXPR@[24; 26) + BLOCK@[24; 26) + L_CURLY@[24; 25) "{" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 28) "\n\n" + FN_DEF@[28; 56) + FN_KW@[28; 30) "fn" + WHITESPACE@[30; 31) " " + NAME@[31; 32) + IDENT@[31; 32) "b" + PARAM_LIST@[32; 53) + L_PAREN@[32; 33) "(" + PARAM@[33; 52) + PLACEHOLDER_PAT@[33; 34) + UNDERSCORE@[33; 34) "_" + COLON@[34; 35) ":" + WHITESPACE@[35; 36) " " + IMPL_TRAIT_TYPE@[36; 52) + IMPL_KW@[36; 40) "impl" + WHITESPACE@[40; 41) " " + TYPE_BOUND_LIST@[41; 52) + TYPE_BOUND@[41; 52) + PATH_TYPE@[41; 52) + PATH@[41; 52) + PATH_SEGMENT@[41; 52) + NAME_REF@[41; 46) + IDENT@[41; 46) "FnMut" + PARAM_LIST@[46; 52) + L_PAREN@[46; 47) "(" + PARAM@[47; 51) + PATH_TYPE@[47; 51) + PATH@[47; 51) + PATH@[47; 48) + PATH_SEGMENT@[47; 48) + NAME_REF@[47; 48) + IDENT@[47; 48) "x" + COLONCOLON@[48; 50) "::" + PATH_SEGMENT@[50; 51) + NAME_REF@[50; 51) + IDENT@[50; 51) "Y" + R_PAREN@[51; 52) ")" + R_PAREN@[52; 53) ")" + WHITESPACE@[53; 54) " " + BLOCK_EXPR@[54; 56) + BLOCK@[54; 56) + L_CURLY@[54; 55) "{" + R_CURLY@[55; 56) "}" + WHITESPACE@[56; 58) "\n\n" + FN_DEF@[58; 87) + FN_KW@[58; 60) "fn" + WHITESPACE@[60; 61) " " + NAME@[61; 62) + IDENT@[61; 62) "c" + PARAM_LIST@[62; 84) + L_PAREN@[62; 63) "(" + PARAM@[63; 83) + PLACEHOLDER_PAT@[63; 64) + UNDERSCORE@[63; 64) "_" + COLON@[64; 65) ":" + WHITESPACE@[65; 66) " " + IMPL_TRAIT_TYPE@[66; 83) + IMPL_KW@[66; 70) "impl" + WHITESPACE@[70; 71) " " + TYPE_BOUND_LIST@[71; 83) + TYPE_BOUND@[71; 83) + PATH_TYPE@[71; 83) + PATH@[71; 83) + PATH_SEGMENT@[71; 83) + NAME_REF@[71; 76) + IDENT@[71; 76) "FnMut" + PARAM_LIST@[76; 83) + L_PAREN@[76; 77) "(" + PARAM@[77; 82) + REFERENCE_TYPE@[77; 82) + AMP@[77; 78) "&" + PATH_TYPE@[78; 82) + PATH@[78; 82) + PATH@[78; 79) + PATH_SEGMENT@[78; 79) + NAME_REF@[78; 79) + IDENT@[78; 79) "x" + COLONCOLON@[79; 81) "::" + PATH_SEGMENT@[81; 82) + NAME_REF@[81; 82) + IDENT@[81; 82) "Y" + R_PAREN@[82; 83) ")" + R_PAREN@[83; 84) ")" + WHITESPACE@[84; 85) " " + BLOCK_EXPR@[85; 87) + BLOCK@[85; 87) + L_CURLY@[85; 86) "{" + R_CURLY@[86; 87) "}" + WHITESPACE@[87; 88) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.txt b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.txt deleted file mode 100644 index 7e1af254c..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.txt +++ /dev/null @@ -1,126 +0,0 @@ -SOURCE_FILE@[0; 88) - FN_DEF@[0; 26) - 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) " " - RET_TYPE@[7; 23) - THIN_ARROW@[7; 9) "->" - WHITESPACE@[9; 10) " " - PATH_TYPE@[10; 23) - PATH@[10; 23) - PATH_SEGMENT@[10; 23) - NAME_REF@[10; 13) - IDENT@[10; 13) "Foo" - TYPE_ARG_LIST@[13; 23) - L_ANGLE@[13; 14) "<" - TYPE_ARG@[14; 22) - PATH_TYPE@[14; 22) - PATH@[14; 22) - PATH@[14; 17) - PATH_SEGMENT@[14; 17) - NAME_REF@[14; 17) - IDENT@[14; 17) "bar" - COLONCOLON@[17; 19) "::" - PATH_SEGMENT@[19; 22) - NAME_REF@[19; 22) - IDENT@[19; 22) "Baz" - R_ANGLE@[22; 23) ">" - WHITESPACE@[23; 24) " " - BLOCK_EXPR@[24; 26) - BLOCK@[24; 26) - L_CURLY@[24; 25) "{" - R_CURLY@[25; 26) "}" - WHITESPACE@[26; 28) "\n\n" - FN_DEF@[28; 56) - FN_KW@[28; 30) "fn" - WHITESPACE@[30; 31) " " - NAME@[31; 32) - IDENT@[31; 32) "b" - PARAM_LIST@[32; 53) - L_PAREN@[32; 33) "(" - PARAM@[33; 52) - PLACEHOLDER_PAT@[33; 34) - UNDERSCORE@[33; 34) "_" - COLON@[34; 35) ":" - WHITESPACE@[35; 36) " " - IMPL_TRAIT_TYPE@[36; 52) - IMPL_KW@[36; 40) "impl" - WHITESPACE@[40; 41) " " - TYPE_BOUND_LIST@[41; 52) - TYPE_BOUND@[41; 52) - PATH_TYPE@[41; 52) - PATH@[41; 52) - PATH_SEGMENT@[41; 52) - NAME_REF@[41; 46) - IDENT@[41; 46) "FnMut" - PARAM_LIST@[46; 52) - L_PAREN@[46; 47) "(" - PARAM@[47; 51) - PATH_TYPE@[47; 51) - PATH@[47; 51) - PATH@[47; 48) - PATH_SEGMENT@[47; 48) - NAME_REF@[47; 48) - IDENT@[47; 48) "x" - COLONCOLON@[48; 50) "::" - PATH_SEGMENT@[50; 51) - NAME_REF@[50; 51) - IDENT@[50; 51) "Y" - R_PAREN@[51; 52) ")" - R_PAREN@[52; 53) ")" - WHITESPACE@[53; 54) " " - BLOCK_EXPR@[54; 56) - BLOCK@[54; 56) - L_CURLY@[54; 55) "{" - R_CURLY@[55; 56) "}" - WHITESPACE@[56; 58) "\n\n" - FN_DEF@[58; 87) - FN_KW@[58; 60) "fn" - WHITESPACE@[60; 61) " " - NAME@[61; 62) - IDENT@[61; 62) "c" - PARAM_LIST@[62; 84) - L_PAREN@[62; 63) "(" - PARAM@[63; 83) - PLACEHOLDER_PAT@[63; 64) - UNDERSCORE@[63; 64) "_" - COLON@[64; 65) ":" - WHITESPACE@[65; 66) " " - IMPL_TRAIT_TYPE@[66; 83) - IMPL_KW@[66; 70) "impl" - WHITESPACE@[70; 71) " " - TYPE_BOUND_LIST@[71; 83) - TYPE_BOUND@[71; 83) - PATH_TYPE@[71; 83) - PATH@[71; 83) - PATH_SEGMENT@[71; 83) - NAME_REF@[71; 76) - IDENT@[71; 76) "FnMut" - PARAM_LIST@[76; 83) - L_PAREN@[76; 77) "(" - PARAM@[77; 82) - REFERENCE_TYPE@[77; 82) - AMP@[77; 78) "&" - PATH_TYPE@[78; 82) - PATH@[78; 82) - PATH@[78; 79) - PATH_SEGMENT@[78; 79) - NAME_REF@[78; 79) - IDENT@[78; 79) "x" - COLONCOLON@[79; 81) "::" - PATH_SEGMENT@[81; 82) - NAME_REF@[81; 82) - IDENT@[81; 82) "Y" - R_PAREN@[82; 83) ")" - R_PAREN@[83; 84) ")" - WHITESPACE@[84; 85) " " - BLOCK_EXPR@[85; 87) - BLOCK@[85; 87) - L_CURLY@[85; 86) "{" - R_CURLY@[86; 87) "}" - WHITESPACE@[87; 88) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast new file mode 100644 index 000000000..d656e74b1 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast @@ -0,0 +1,50 @@ +SOURCE_FILE@[0; 49) + TYPE_ALIAS_DEF@[0; 12) + TYPE_KW@[0; 4) "type" + WHITESPACE@[4; 5) " " + NAME@[5; 6) + IDENT@[5; 6) "X" + WHITESPACE@[6; 7) " " + EQ@[7; 8) "=" + WHITESPACE@[8; 9) " " + TUPLE_TYPE@[9; 11) + L_PAREN@[9; 10) "(" + R_PAREN@[10; 11) ")" + SEMI@[11; 12) ";" + WHITESPACE@[12; 14) "\n\n" + FN_DEF@[14; 48) + FN_KW@[14; 16) "fn" + WHITESPACE@[16; 17) " " + NAME@[17; 21) + IDENT@[17; 21) "main" + PARAM_LIST@[21; 23) + L_PAREN@[21; 22) "(" + R_PAREN@[22; 23) ")" + WHITESPACE@[23; 24) " " + BLOCK_EXPR@[24; 48) + BLOCK@[24; 48) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 30) "\n " + LET_STMT@[30; 46) + LET_KW@[30; 33) "let" + WHITESPACE@[33; 34) " " + TUPLE_PAT@[34; 36) + L_PAREN@[34; 35) "(" + R_PAREN@[35; 36) ")" + COLON@[36; 37) ":" + PATH_TYPE@[37; 40) + PATH@[37; 40) + PATH_SEGMENT@[37; 40) + COLONCOLON@[37; 39) "::" + NAME_REF@[39; 40) + IDENT@[39; 40) "X" + WHITESPACE@[40; 41) " " + EQ@[41; 42) "=" + WHITESPACE@[42; 43) " " + TUPLE_EXPR@[43; 45) + L_PAREN@[43; 44) "(" + R_PAREN@[44; 45) ")" + SEMI@[45; 46) ";" + WHITESPACE@[46; 47) "\n" + R_CURLY@[47; 48) "}" + WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.txt b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.txt deleted file mode 100644 index d656e74b1..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.txt +++ /dev/null @@ -1,50 +0,0 @@ -SOURCE_FILE@[0; 49) - TYPE_ALIAS_DEF@[0; 12) - TYPE_KW@[0; 4) "type" - WHITESPACE@[4; 5) " " - NAME@[5; 6) - IDENT@[5; 6) "X" - WHITESPACE@[6; 7) " " - EQ@[7; 8) "=" - WHITESPACE@[8; 9) " " - TUPLE_TYPE@[9; 11) - L_PAREN@[9; 10) "(" - R_PAREN@[10; 11) ")" - SEMI@[11; 12) ";" - WHITESPACE@[12; 14) "\n\n" - FN_DEF@[14; 48) - FN_KW@[14; 16) "fn" - WHITESPACE@[16; 17) " " - NAME@[17; 21) - IDENT@[17; 21) "main" - PARAM_LIST@[21; 23) - L_PAREN@[21; 22) "(" - R_PAREN@[22; 23) ")" - WHITESPACE@[23; 24) " " - BLOCK_EXPR@[24; 48) - BLOCK@[24; 48) - L_CURLY@[24; 25) "{" - WHITESPACE@[25; 30) "\n " - LET_STMT@[30; 46) - LET_KW@[30; 33) "let" - WHITESPACE@[33; 34) " " - TUPLE_PAT@[34; 36) - L_PAREN@[34; 35) "(" - R_PAREN@[35; 36) ")" - COLON@[36; 37) ":" - PATH_TYPE@[37; 40) - PATH@[37; 40) - PATH_SEGMENT@[37; 40) - COLONCOLON@[37; 39) "::" - NAME_REF@[39; 40) - IDENT@[39; 40) "X" - WHITESPACE@[40; 41) " " - EQ@[41; 42) "=" - WHITESPACE@[42; 43) " " - TUPLE_EXPR@[43; 45) - L_PAREN@[43; 44) "(" - R_PAREN@[44; 45) ")" - SEMI@[45; 46) ";" - WHITESPACE@[46; 47) "\n" - R_CURLY@[47; 48) "}" - WHITESPACE@[48; 49) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast b/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast new file mode 100644 index 000000000..4a4ad84ca --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast @@ -0,0 +1,66 @@ +SOURCE_FILE@[0; 71) + FN_DEF@[0; 70) + 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; 70) + BLOCK@[10; 70) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + IF_EXPR@[16; 68) + IF_KW@[16; 18) "if" + WHITESPACE@[18; 19) " " + CONDITION@[19; 65) + BIN_EXPR@[19; 65) + CAST_EXPR@[19; 40) + METHOD_CALL_EXPR@[19; 33) + LITERAL@[19; 25) + FLOAT_NUMBER@[19; 25) "1.0f32" + DOT@[25; 26) "." + NAME_REF@[26; 31) + IDENT@[26; 31) "floor" + ARG_LIST@[31; 33) + L_PAREN@[31; 32) "(" + R_PAREN@[32; 33) ")" + WHITESPACE@[33; 34) " " + AS_KW@[34; 36) "as" + WHITESPACE@[36; 37) " " + PATH_TYPE@[37; 40) + PATH@[37; 40) + PATH_SEGMENT@[37; 40) + NAME_REF@[37; 40) + IDENT@[37; 40) "i64" + WHITESPACE@[40; 41) " " + NEQ@[41; 43) "!=" + WHITESPACE@[43; 44) " " + CAST_EXPR@[44; 65) + METHOD_CALL_EXPR@[44; 58) + LITERAL@[44; 50) + FLOAT_NUMBER@[44; 50) "1.0f32" + DOT@[50; 51) "." + NAME_REF@[51; 56) + IDENT@[51; 56) "floor" + ARG_LIST@[56; 58) + L_PAREN@[56; 57) "(" + R_PAREN@[57; 58) ")" + WHITESPACE@[58; 59) " " + AS_KW@[59; 61) "as" + WHITESPACE@[61; 62) " " + PATH_TYPE@[62; 65) + PATH@[62; 65) + PATH_SEGMENT@[62; 65) + NAME_REF@[62; 65) + IDENT@[62; 65) "i64" + WHITESPACE@[65; 66) " " + BLOCK_EXPR@[66; 68) + BLOCK@[66; 68) + L_CURLY@[66; 67) "{" + R_CURLY@[67; 68) "}" + WHITESPACE@[68; 69) "\n" + R_CURLY@[69; 70) "}" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.txt b/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.txt deleted file mode 100644 index 4a4ad84ca..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.txt +++ /dev/null @@ -1,66 +0,0 @@ -SOURCE_FILE@[0; 71) - FN_DEF@[0; 70) - 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; 70) - BLOCK@[10; 70) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - IF_EXPR@[16; 68) - IF_KW@[16; 18) "if" - WHITESPACE@[18; 19) " " - CONDITION@[19; 65) - BIN_EXPR@[19; 65) - CAST_EXPR@[19; 40) - METHOD_CALL_EXPR@[19; 33) - LITERAL@[19; 25) - FLOAT_NUMBER@[19; 25) "1.0f32" - DOT@[25; 26) "." - NAME_REF@[26; 31) - IDENT@[26; 31) "floor" - ARG_LIST@[31; 33) - L_PAREN@[31; 32) "(" - R_PAREN@[32; 33) ")" - WHITESPACE@[33; 34) " " - AS_KW@[34; 36) "as" - WHITESPACE@[36; 37) " " - PATH_TYPE@[37; 40) - PATH@[37; 40) - PATH_SEGMENT@[37; 40) - NAME_REF@[37; 40) - IDENT@[37; 40) "i64" - WHITESPACE@[40; 41) " " - NEQ@[41; 43) "!=" - WHITESPACE@[43; 44) " " - CAST_EXPR@[44; 65) - METHOD_CALL_EXPR@[44; 58) - LITERAL@[44; 50) - FLOAT_NUMBER@[44; 50) "1.0f32" - DOT@[50; 51) "." - NAME_REF@[51; 56) - IDENT@[51; 56) "floor" - ARG_LIST@[56; 58) - L_PAREN@[56; 57) "(" - R_PAREN@[57; 58) ")" - WHITESPACE@[58; 59) " " - AS_KW@[59; 61) "as" - WHITESPACE@[61; 62) " " - PATH_TYPE@[62; 65) - PATH@[62; 65) - PATH_SEGMENT@[62; 65) - NAME_REF@[62; 65) - IDENT@[62; 65) "i64" - WHITESPACE@[65; 66) " " - BLOCK_EXPR@[66; 68) - BLOCK@[66; 68) - L_CURLY@[66; 67) "{" - R_CURLY@[67; 68) "}" - WHITESPACE@[68; 69) "\n" - R_CURLY@[69; 70) "}" - WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast b/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast new file mode 100644 index 000000000..cc8c3f7ec --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast @@ -0,0 +1,59 @@ +SOURCE_FILE@[0; 50) + FN_DEF@[0; 17) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " + NAME@[3; 6) + IDENT@[3; 6) "foo" + PARAM_LIST@[6; 14) + 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" + R_PAREN@[13; 14) ")" + WHITESPACE@[14; 15) " " + BLOCK_EXPR@[15; 17) + BLOCK@[15; 17) + L_CURLY@[15; 16) "{" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 19) "\n\n" + FN_DEF@[19; 50) + FN_KW@[19; 21) "fn" + WHITESPACE@[21; 22) " " + NAME@[22; 26) + IDENT@[22; 26) "main" + PARAM_LIST@[26; 28) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + WHITESPACE@[28; 29) " " + BLOCK_EXPR@[29; 50) + BLOCK@[29; 50) + L_CURLY@[29; 30) "{" + WHITESPACE@[30; 35) "\n " + EXPR_STMT@[35; 48) + CALL_EXPR@[35; 47) + PATH_EXPR@[35; 38) + PATH@[35; 38) + PATH_SEGMENT@[35; 38) + NAME_REF@[35; 38) + IDENT@[35; 38) "foo" + ARG_LIST@[38; 47) + L_PAREN@[38; 39) "(" + LOOP_EXPR@[39; 46) + LOOP_KW@[39; 43) "loop" + WHITESPACE@[43; 44) " " + BLOCK_EXPR@[44; 46) + BLOCK@[44; 46) + L_CURLY@[44; 45) "{" + R_CURLY@[45; 46) "}" + R_PAREN@[46; 47) ")" + SEMI@[47; 48) ";" + WHITESPACE@[48; 49) "\n" + R_CURLY@[49; 50) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.txt b/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.txt deleted file mode 100644 index cc8c3f7ec..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.txt +++ /dev/null @@ -1,59 +0,0 @@ -SOURCE_FILE@[0; 50) - FN_DEF@[0; 17) - FN_KW@[0; 2) "fn" - WHITESPACE@[2; 3) " " - NAME@[3; 6) - IDENT@[3; 6) "foo" - PARAM_LIST@[6; 14) - 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" - R_PAREN@[13; 14) ")" - WHITESPACE@[14; 15) " " - BLOCK_EXPR@[15; 17) - BLOCK@[15; 17) - L_CURLY@[15; 16) "{" - R_CURLY@[16; 17) "}" - WHITESPACE@[17; 19) "\n\n" - FN_DEF@[19; 50) - FN_KW@[19; 21) "fn" - WHITESPACE@[21; 22) " " - NAME@[22; 26) - IDENT@[22; 26) "main" - PARAM_LIST@[26; 28) - L_PAREN@[26; 27) "(" - R_PAREN@[27; 28) ")" - WHITESPACE@[28; 29) " " - BLOCK_EXPR@[29; 50) - BLOCK@[29; 50) - L_CURLY@[29; 30) "{" - WHITESPACE@[30; 35) "\n " - EXPR_STMT@[35; 48) - CALL_EXPR@[35; 47) - PATH_EXPR@[35; 38) - PATH@[35; 38) - PATH_SEGMENT@[35; 38) - NAME_REF@[35; 38) - IDENT@[35; 38) "foo" - ARG_LIST@[38; 47) - L_PAREN@[38; 39) "(" - LOOP_EXPR@[39; 46) - LOOP_KW@[39; 43) "loop" - WHITESPACE@[43; 44) " " - BLOCK_EXPR@[44; 46) - BLOCK@[44; 46) - L_CURLY@[44; 45) "{" - R_CURLY@[45; 46) "}" - R_PAREN@[46; 47) ")" - SEMI@[47; 48) ";" - WHITESPACE@[48; 49) "\n" - R_CURLY@[49; 50) "}" diff --git a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast new file mode 100644 index 000000000..d30cb63ff --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast @@ -0,0 +1,97 @@ +SOURCE_FILE@[0; 79) + FN_DEF@[0; 78) + 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; 78) + BLOCK@[9; 78) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " + EXPR_STMT@[15; 27) + BIN_EXPR@[15; 26) + BIN_EXPR@[15; 22) + LITERAL@[15; 16) + INT_NUMBER@[15; 16) "1" + WHITESPACE@[16; 17) " " + PLUS@[17; 18) "+" + WHITESPACE@[18; 19) " " + PREFIX_EXPR@[19; 22) + STAR@[19; 20) "*" + REF_EXPR@[20; 22) + AMP@[20; 21) "&" + LITERAL@[21; 22) + INT_NUMBER@[21; 22) "2" + WHITESPACE@[22; 23) " " + PLUS@[23; 24) "+" + WHITESPACE@[24; 25) " " + LITERAL@[25; 26) + INT_NUMBER@[25; 26) "3" + SEMI@[26; 27) ";" + WHITESPACE@[27; 32) "\n " + EXPR_STMT@[32; 43) + CAST_EXPR@[32; 42) + PREFIX_EXPR@[32; 35) + STAR@[32; 33) "*" + REF_EXPR@[33; 35) + AMP@[33; 34) "&" + LITERAL@[34; 35) + INT_NUMBER@[34; 35) "1" + WHITESPACE@[35; 36) " " + AS_KW@[36; 38) "as" + WHITESPACE@[38; 39) " " + PATH_TYPE@[39; 42) + PATH@[39; 42) + PATH_SEGMENT@[39; 42) + NAME_REF@[39; 42) + IDENT@[39; 42) "u64" + SEMI@[42; 43) ";" + WHITESPACE@[43; 48) "\n " + EXPR_STMT@[48; 54) + PREFIX_EXPR@[48; 53) + STAR@[48; 49) "*" + CALL_EXPR@[49; 53) + PATH_EXPR@[49; 50) + PATH@[49; 50) + PATH_SEGMENT@[49; 50) + NAME_REF@[49; 50) + IDENT@[49; 50) "x" + ARG_LIST@[50; 53) + L_PAREN@[50; 51) "(" + LITERAL@[51; 52) + INT_NUMBER@[51; 52) "1" + R_PAREN@[52; 53) ")" + SEMI@[53; 54) ";" + WHITESPACE@[54; 59) "\n " + EXPR_STMT@[59; 65) + REF_EXPR@[59; 64) + AMP@[59; 60) "&" + INDEX_EXPR@[60; 64) + PATH_EXPR@[60; 61) + PATH@[60; 61) + PATH_SEGMENT@[60; 61) + NAME_REF@[60; 61) + IDENT@[60; 61) "x" + L_BRACK@[61; 62) "[" + LITERAL@[62; 63) + INT_NUMBER@[62; 63) "1" + R_BRACK@[63; 64) "]" + SEMI@[64; 65) ";" + WHITESPACE@[65; 70) "\n " + EXPR_STMT@[70; 76) + RANGE_EXPR@[70; 75) + PREFIX_EXPR@[70; 72) + MINUS@[70; 71) "-" + LITERAL@[71; 72) + INT_NUMBER@[71; 72) "1" + DOTDOT@[72; 74) ".." + LITERAL@[74; 75) + INT_NUMBER@[74; 75) "2" + SEMI@[75; 76) ";" + WHITESPACE@[76; 77) "\n" + R_CURLY@[77; 78) "}" + WHITESPACE@[78; 79) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt deleted file mode 100644 index d30cb63ff..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.txt +++ /dev/null @@ -1,97 +0,0 @@ -SOURCE_FILE@[0; 79) - FN_DEF@[0; 78) - 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; 78) - BLOCK@[9; 78) - L_CURLY@[9; 10) "{" - WHITESPACE@[10; 15) "\n " - EXPR_STMT@[15; 27) - BIN_EXPR@[15; 26) - BIN_EXPR@[15; 22) - LITERAL@[15; 16) - INT_NUMBER@[15; 16) "1" - WHITESPACE@[16; 17) " " - PLUS@[17; 18) "+" - WHITESPACE@[18; 19) " " - PREFIX_EXPR@[19; 22) - STAR@[19; 20) "*" - REF_EXPR@[20; 22) - AMP@[20; 21) "&" - LITERAL@[21; 22) - INT_NUMBER@[21; 22) "2" - WHITESPACE@[22; 23) " " - PLUS@[23; 24) "+" - WHITESPACE@[24; 25) " " - LITERAL@[25; 26) - INT_NUMBER@[25; 26) "3" - SEMI@[26; 27) ";" - WHITESPACE@[27; 32) "\n " - EXPR_STMT@[32; 43) - CAST_EXPR@[32; 42) - PREFIX_EXPR@[32; 35) - STAR@[32; 33) "*" - REF_EXPR@[33; 35) - AMP@[33; 34) "&" - LITERAL@[34; 35) - INT_NUMBER@[34; 35) "1" - WHITESPACE@[35; 36) " " - AS_KW@[36; 38) "as" - WHITESPACE@[38; 39) " " - PATH_TYPE@[39; 42) - PATH@[39; 42) - PATH_SEGMENT@[39; 42) - NAME_REF@[39; 42) - IDENT@[39; 42) "u64" - SEMI@[42; 43) ";" - WHITESPACE@[43; 48) "\n " - EXPR_STMT@[48; 54) - PREFIX_EXPR@[48; 53) - STAR@[48; 49) "*" - CALL_EXPR@[49; 53) - PATH_EXPR@[49; 50) - PATH@[49; 50) - PATH_SEGMENT@[49; 50) - NAME_REF@[49; 50) - IDENT@[49; 50) "x" - ARG_LIST@[50; 53) - L_PAREN@[50; 51) "(" - LITERAL@[51; 52) - INT_NUMBER@[51; 52) "1" - R_PAREN@[52; 53) ")" - SEMI@[53; 54) ";" - WHITESPACE@[54; 59) "\n " - EXPR_STMT@[59; 65) - REF_EXPR@[59; 64) - AMP@[59; 60) "&" - INDEX_EXPR@[60; 64) - PATH_EXPR@[60; 61) - PATH@[60; 61) - PATH_SEGMENT@[60; 61) - NAME_REF@[60; 61) - IDENT@[60; 61) "x" - L_BRACK@[61; 62) "[" - LITERAL@[62; 63) - INT_NUMBER@[62; 63) "1" - R_BRACK@[63; 64) "]" - SEMI@[64; 65) ";" - WHITESPACE@[65; 70) "\n " - EXPR_STMT@[70; 76) - RANGE_EXPR@[70; 75) - PREFIX_EXPR@[70; 72) - MINUS@[70; 71) "-" - LITERAL@[71; 72) - INT_NUMBER@[71; 72) "1" - DOTDOT@[72; 74) ".." - LITERAL@[74; 75) - INT_NUMBER@[74; 75) "2" - SEMI@[75; 76) ";" - WHITESPACE@[76; 77) "\n" - R_CURLY@[77; 78) "}" - WHITESPACE@[78; 79) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast b/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast new file mode 100644 index 000000000..c011187ea --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast @@ -0,0 +1,101 @@ +SOURCE_FILE@[0; 105) + FN_DEF@[0; 104) + 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; 104) + BLOCK@[10; 104) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + EXPR_STMT@[16; 50) + CALL_EXPR@[16; 49) + PATH_EXPR@[16; 20) + PATH@[16; 20) + PATH_SEGMENT@[16; 20) + NAME_REF@[16; 20) + IDENT@[16; 20) "Some" + ARG_LIST@[20; 49) + L_PAREN@[20; 21) "(" + FOR_EXPR@[21; 48) + FOR_KW@[21; 24) "for" + WHITESPACE@[24; 25) " " + PLACEHOLDER_PAT@[25; 26) + UNDERSCORE@[25; 26) "_" + WHITESPACE@[26; 27) " " + IN_KW@[27; 29) "in" + WHITESPACE@[29; 30) " " + METHOD_CALL_EXPR@[30; 45) + ARRAY_EXPR@[30; 33) + L_BRACK@[30; 31) "[" + LITERAL@[31; 32) + INT_NUMBER@[31; 32) "1" + R_BRACK@[32; 33) "]" + DOT@[33; 34) "." + NAME_REF@[34; 43) + IDENT@[34; 43) "into_iter" + ARG_LIST@[43; 45) + L_PAREN@[43; 44) "(" + R_PAREN@[44; 45) ")" + WHITESPACE@[45; 46) " " + BLOCK_EXPR@[46; 48) + BLOCK@[46; 48) + L_CURLY@[46; 47) "{" + R_CURLY@[47; 48) "}" + R_PAREN@[48; 49) ")" + SEMI@[49; 50) ";" + WHITESPACE@[50; 55) "\n " + EXPR_STMT@[55; 77) + CALL_EXPR@[55; 76) + PATH_EXPR@[55; 59) + PATH@[55; 59) + PATH_SEGMENT@[55; 59) + NAME_REF@[55; 59) + IDENT@[55; 59) "Some" + ARG_LIST@[59; 76) + L_PAREN@[59; 60) "(" + LOOP_EXPR@[60; 75) + LOOP_KW@[60; 64) "loop" + WHITESPACE@[64; 65) " " + BLOCK_EXPR@[65; 75) + BLOCK@[65; 75) + L_CURLY@[65; 66) "{" + WHITESPACE@[66; 67) " " + EXPR_STMT@[67; 73) + BREAK_EXPR@[67; 72) + BREAK_KW@[67; 72) "break" + SEMI@[72; 73) ";" + WHITESPACE@[73; 74) " " + R_CURLY@[74; 75) "}" + R_PAREN@[75; 76) ")" + SEMI@[76; 77) ";" + WHITESPACE@[77; 82) "\n " + EXPR_STMT@[82; 102) + CALL_EXPR@[82; 101) + PATH_EXPR@[82; 86) + PATH@[82; 86) + PATH_SEGMENT@[82; 86) + NAME_REF@[82; 86) + IDENT@[82; 86) "Some" + ARG_LIST@[86; 101) + L_PAREN@[86; 87) "(" + WHILE_EXPR@[87; 100) + WHILE_KW@[87; 92) "while" + WHITESPACE@[92; 93) " " + CONDITION@[93; 97) + LITERAL@[93; 97) + TRUE_KW@[93; 97) "true" + WHITESPACE@[97; 98) " " + BLOCK_EXPR@[98; 100) + BLOCK@[98; 100) + L_CURLY@[98; 99) "{" + R_CURLY@[99; 100) "}" + R_PAREN@[100; 101) ")" + SEMI@[101; 102) ";" + WHITESPACE@[102; 103) "\n" + R_CURLY@[103; 104) "}" + WHITESPACE@[104; 105) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.txt b/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.txt deleted file mode 100644 index c011187ea..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.txt +++ /dev/null @@ -1,101 +0,0 @@ -SOURCE_FILE@[0; 105) - FN_DEF@[0; 104) - 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; 104) - BLOCK@[10; 104) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - EXPR_STMT@[16; 50) - CALL_EXPR@[16; 49) - PATH_EXPR@[16; 20) - PATH@[16; 20) - PATH_SEGMENT@[16; 20) - NAME_REF@[16; 20) - IDENT@[16; 20) "Some" - ARG_LIST@[20; 49) - L_PAREN@[20; 21) "(" - FOR_EXPR@[21; 48) - FOR_KW@[21; 24) "for" - WHITESPACE@[24; 25) " " - PLACEHOLDER_PAT@[25; 26) - UNDERSCORE@[25; 26) "_" - WHITESPACE@[26; 27) " " - IN_KW@[27; 29) "in" - WHITESPACE@[29; 30) " " - METHOD_CALL_EXPR@[30; 45) - ARRAY_EXPR@[30; 33) - L_BRACK@[30; 31) "[" - LITERAL@[31; 32) - INT_NUMBER@[31; 32) "1" - R_BRACK@[32; 33) "]" - DOT@[33; 34) "." - NAME_REF@[34; 43) - IDENT@[34; 43) "into_iter" - ARG_LIST@[43; 45) - L_PAREN@[43; 44) "(" - R_PAREN@[44; 45) ")" - WHITESPACE@[45; 46) " " - BLOCK_EXPR@[46; 48) - BLOCK@[46; 48) - L_CURLY@[46; 47) "{" - R_CURLY@[47; 48) "}" - R_PAREN@[48; 49) ")" - SEMI@[49; 50) ";" - WHITESPACE@[50; 55) "\n " - EXPR_STMT@[55; 77) - CALL_EXPR@[55; 76) - PATH_EXPR@[55; 59) - PATH@[55; 59) - PATH_SEGMENT@[55; 59) - NAME_REF@[55; 59) - IDENT@[55; 59) "Some" - ARG_LIST@[59; 76) - L_PAREN@[59; 60) "(" - LOOP_EXPR@[60; 75) - LOOP_KW@[60; 64) "loop" - WHITESPACE@[64; 65) " " - BLOCK_EXPR@[65; 75) - BLOCK@[65; 75) - L_CURLY@[65; 66) "{" - WHITESPACE@[66; 67) " " - EXPR_STMT@[67; 73) - BREAK_EXPR@[67; 72) - BREAK_KW@[67; 72) "break" - SEMI@[72; 73) ";" - WHITESPACE@[73; 74) " " - R_CURLY@[74; 75) "}" - R_PAREN@[75; 76) ")" - SEMI@[76; 77) ";" - WHITESPACE@[77; 82) "\n " - EXPR_STMT@[82; 102) - CALL_EXPR@[82; 101) - PATH_EXPR@[82; 86) - PATH@[82; 86) - PATH_SEGMENT@[82; 86) - NAME_REF@[82; 86) - IDENT@[82; 86) "Some" - ARG_LIST@[86; 101) - L_PAREN@[86; 87) "(" - WHILE_EXPR@[87; 100) - WHILE_KW@[87; 92) "while" - WHITESPACE@[92; 93) " " - CONDITION@[93; 97) - LITERAL@[93; 97) - TRUE_KW@[93; 97) "true" - WHITESPACE@[97; 98) " " - BLOCK_EXPR@[98; 100) - BLOCK@[98; 100) - L_CURLY@[98; 99) "{" - R_CURLY@[99; 100) "}" - R_PAREN@[100; 101) ")" - SEMI@[101; 102) ";" - WHITESPACE@[102; 103) "\n" - R_CURLY@[103; 104) "}" - WHITESPACE@[104; 105) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast b/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast new file mode 100644 index 000000000..ad0c4a3fe --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast @@ -0,0 +1,56 @@ +SOURCE_FILE@[0; 56) + 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 " + EXPR_STMT@[16; 30) + RANGE_EXPR@[16; 29) + CAST_EXPR@[16; 26) + LITERAL@[16; 17) + INT_NUMBER@[16; 17) "0" + WHITESPACE@[17; 18) " " + AS_KW@[18; 20) "as" + WHITESPACE@[20; 21) " " + PATH_TYPE@[21; 26) + PATH@[21; 26) + PATH_SEGMENT@[21; 26) + NAME_REF@[21; 26) + IDENT@[21; 26) "usize" + WHITESPACE@[26; 27) " " + DOTDOT@[27; 29) ".." + SEMI@[29; 30) ";" + WHITESPACE@[30; 35) "\n " + EXPR_STMT@[35; 53) + RANGE_EXPR@[35; 52) + BIN_EXPR@[35; 49) + LITERAL@[35; 36) + INT_NUMBER@[35; 36) "1" + WHITESPACE@[36; 37) " " + PLUS@[37; 38) "+" + WHITESPACE@[38; 39) " " + CAST_EXPR@[39; 49) + LITERAL@[39; 40) + INT_NUMBER@[39; 40) "2" + WHITESPACE@[40; 41) " " + AS_KW@[41; 43) "as" + WHITESPACE@[43; 44) " " + PATH_TYPE@[44; 49) + PATH@[44; 49) + PATH_SEGMENT@[44; 49) + NAME_REF@[44; 49) + IDENT@[44; 49) "usize" + WHITESPACE@[49; 50) " " + DOTDOT@[50; 52) ".." + SEMI@[52; 53) ";" + WHITESPACE@[53; 54) "\n" + R_CURLY@[54; 55) "}" + WHITESPACE@[55; 56) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0060_as_range.txt b/crates/ra_syntax/test_data/parser/ok/0060_as_range.txt deleted file mode 100644 index ad0c4a3fe..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0060_as_range.txt +++ /dev/null @@ -1,56 +0,0 @@ -SOURCE_FILE@[0; 56) - 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 " - EXPR_STMT@[16; 30) - RANGE_EXPR@[16; 29) - CAST_EXPR@[16; 26) - LITERAL@[16; 17) - INT_NUMBER@[16; 17) "0" - WHITESPACE@[17; 18) " " - AS_KW@[18; 20) "as" - WHITESPACE@[20; 21) " " - PATH_TYPE@[21; 26) - PATH@[21; 26) - PATH_SEGMENT@[21; 26) - NAME_REF@[21; 26) - IDENT@[21; 26) "usize" - WHITESPACE@[26; 27) " " - DOTDOT@[27; 29) ".." - SEMI@[29; 30) ";" - WHITESPACE@[30; 35) "\n " - EXPR_STMT@[35; 53) - RANGE_EXPR@[35; 52) - BIN_EXPR@[35; 49) - LITERAL@[35; 36) - INT_NUMBER@[35; 36) "1" - WHITESPACE@[36; 37) " " - PLUS@[37; 38) "+" - WHITESPACE@[38; 39) " " - CAST_EXPR@[39; 49) - LITERAL@[39; 40) - INT_NUMBER@[39; 40) "2" - WHITESPACE@[40; 41) " " - AS_KW@[41; 43) "as" - WHITESPACE@[43; 44) " " - PATH_TYPE@[44; 49) - PATH@[44; 49) - PATH_SEGMENT@[44; 49) - NAME_REF@[44; 49) - IDENT@[44; 49) "usize" - WHITESPACE@[49; 50) " " - DOTDOT@[50; 52) ".." - SEMI@[52; 53) ";" - WHITESPACE@[53; 54) "\n" - R_CURLY@[54; 55) "}" - WHITESPACE@[55; 56) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast b/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast new file mode 100644 index 000000000..bdfac9b76 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast @@ -0,0 +1,27 @@ +SOURCE_FILE@[0; 35) + FN_DEF@[0; 34) + 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; 34) + BLOCK@[10; 34) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " + MATCH_EXPR@[16; 32) + MATCH_KW@[16; 21) "match" + WHITESPACE@[21; 22) " " + RANGE_EXPR@[22; 24) + DOTDOT@[22; 24) ".." + WHITESPACE@[24; 25) " " + MATCH_ARM_LIST@[25; 32) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 31) "\n " + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.txt b/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.txt deleted file mode 100644 index bdfac9b76..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.txt +++ /dev/null @@ -1,27 +0,0 @@ -SOURCE_FILE@[0; 35) - FN_DEF@[0; 34) - 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; 34) - BLOCK@[10; 34) - L_CURLY@[10; 11) "{" - WHITESPACE@[11; 16) "\n " - MATCH_EXPR@[16; 32) - MATCH_KW@[16; 21) "match" - WHITESPACE@[21; 22) " " - RANGE_EXPR@[22; 24) - DOTDOT@[22; 24) ".." - WHITESPACE@[24; 25) " " - MATCH_ARM_LIST@[25; 32) - L_CURLY@[25; 26) "{" - WHITESPACE@[26; 31) "\n " - R_CURLY@[31; 32) "}" - WHITESPACE@[32; 33) "\n" - R_CURLY@[33; 34) "}" - WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast new file mode 100644 index 000000000..2be523fc3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast @@ -0,0 +1,176 @@ +SOURCE_FILE@[0; 349) + MACRO_DEF@[0; 93) + MACRO_KW@[0; 5) "macro" + WHITESPACE@[5; 6) " " + NAME@[6; 21) + IDENT@[6; 21) "parse_use_trees" + TOKEN_TREE@[21; 93) + TOKEN_TREE@[21; 41) + L_PAREN@[21; 22) "(" + DOLLAR@[22; 23) "$" + TOKEN_TREE@[23; 32) + L_PAREN@[23; 24) "(" + DOLLAR@[24; 25) "$" + IDENT@[25; 26) "s" + COLON@[26; 27) ":" + IDENT@[27; 31) "expr" + R_PAREN@[31; 32) ")" + COMMA@[32; 33) "," + STAR@[33; 34) "*" + WHITESPACE@[34; 35) " " + DOLLAR@[35; 36) "$" + TOKEN_TREE@[36; 39) + L_PAREN@[36; 37) "(" + COMMA@[37; 38) "," + R_PAREN@[38; 39) ")" + STAR@[39; 40) "*" + R_PAREN@[40; 41) ")" + WHITESPACE@[41; 42) " " + TOKEN_TREE@[42; 93) + L_CURLY@[42; 43) "{" + WHITESPACE@[43; 48) "\n " + IDENT@[48; 51) "vec" + EXCL@[51; 52) "!" + TOKEN_TREE@[52; 91) + L_BRACK@[52; 53) "[" + WHITESPACE@[53; 62) "\n " + DOLLAR@[62; 63) "$" + TOKEN_TREE@[63; 84) + L_PAREN@[63; 64) "(" + IDENT@[64; 78) "parse_use_tree" + TOKEN_TREE@[78; 82) + L_PAREN@[78; 79) "(" + DOLLAR@[79; 80) "$" + IDENT@[80; 81) "s" + R_PAREN@[81; 82) ")" + COMMA@[82; 83) "," + R_PAREN@[83; 84) ")" + STAR@[84; 85) "*" + WHITESPACE@[85; 90) "\n " + R_BRACK@[90; 91) "]" + WHITESPACE@[91; 92) "\n" + R_CURLY@[92; 93) "}" + WHITESPACE@[93; 95) "\n\n" + FN_DEF@[95; 348) + ATTR@[95; 102) + POUND@[95; 96) "#" + L_BRACK@[96; 97) "[" + PATH@[97; 101) + PATH_SEGMENT@[97; 101) + NAME_REF@[97; 101) + IDENT@[97; 101) "test" + R_BRACK@[101; 102) "]" + WHITESPACE@[102; 103) "\n" + FN_KW@[103; 105) "fn" + WHITESPACE@[105; 106) " " + NAME@[106; 125) + IDENT@[106; 125) "test_use_tree_merge" + PARAM_LIST@[125; 127) + L_PAREN@[125; 126) "(" + R_PAREN@[126; 127) ")" + WHITESPACE@[127; 128) " " + BLOCK_EXPR@[128; 348) + BLOCK@[128; 348) + L_CURLY@[128; 129) "{" + WHITESPACE@[129; 134) "\n " + MACRO_DEF@[134; 346) + MACRO_KW@[134; 139) "macro" + WHITESPACE@[139; 140) " " + NAME@[140; 150) + IDENT@[140; 150) "test_merge" + TOKEN_TREE@[150; 346) + TOKEN_TREE@[150; 203) + L_PAREN@[150; 151) "(" + TOKEN_TREE@[151; 175) + L_BRACK@[151; 152) "[" + DOLLAR@[152; 153) "$" + TOKEN_TREE@[153; 166) + L_PAREN@[153; 154) "(" + DOLLAR@[154; 155) "$" + IDENT@[155; 160) "input" + COLON@[160; 161) ":" + IDENT@[161; 165) "expr" + R_PAREN@[165; 166) ")" + COMMA@[166; 167) "," + STAR@[167; 168) "*" + WHITESPACE@[168; 169) " " + DOLLAR@[169; 170) "$" + TOKEN_TREE@[170; 173) + L_PAREN@[170; 171) "(" + COMMA@[171; 172) "," + R_PAREN@[172; 173) ")" + STAR@[173; 174) "*" + R_BRACK@[174; 175) "]" + COMMA@[175; 176) "," + WHITESPACE@[176; 177) " " + TOKEN_TREE@[177; 202) + L_BRACK@[177; 178) "[" + DOLLAR@[178; 179) "$" + TOKEN_TREE@[179; 193) + L_PAREN@[179; 180) "(" + DOLLAR@[180; 181) "$" + IDENT@[181; 187) "output" + COLON@[187; 188) ":" + IDENT@[188; 192) "expr" + R_PAREN@[192; 193) ")" + COMMA@[193; 194) "," + STAR@[194; 195) "*" + WHITESPACE@[195; 196) " " + DOLLAR@[196; 197) "$" + TOKEN_TREE@[197; 200) + L_PAREN@[197; 198) "(" + COMMA@[198; 199) "," + R_PAREN@[199; 200) ")" + STAR@[200; 201) "*" + R_BRACK@[201; 202) "]" + R_PAREN@[202; 203) ")" + WHITESPACE@[203; 204) " " + TOKEN_TREE@[204; 346) + L_CURLY@[204; 205) "{" + WHITESPACE@[205; 214) "\n " + IDENT@[214; 223) "assert_eq" + EXCL@[223; 224) "!" + TOKEN_TREE@[224; 339) + L_PAREN@[224; 225) "(" + WHITESPACE@[225; 238) "\n " + IDENT@[238; 253) "merge_use_trees" + TOKEN_TREE@[253; 284) + L_PAREN@[253; 254) "(" + IDENT@[254; 269) "parse_use_trees" + EXCL@[269; 270) "!" + TOKEN_TREE@[270; 283) + L_PAREN@[270; 271) "(" + DOLLAR@[271; 272) "$" + TOKEN_TREE@[272; 281) + L_PAREN@[272; 273) "(" + DOLLAR@[273; 274) "$" + IDENT@[274; 279) "input" + COMMA@[279; 280) "," + R_PAREN@[280; 281) ")" + STAR@[281; 282) "*" + R_PAREN@[282; 283) ")" + R_PAREN@[283; 284) ")" + COMMA@[284; 285) "," + WHITESPACE@[285; 298) "\n " + IDENT@[298; 313) "parse_use_trees" + EXCL@[313; 314) "!" + TOKEN_TREE@[314; 328) + L_PAREN@[314; 315) "(" + DOLLAR@[315; 316) "$" + TOKEN_TREE@[316; 326) + L_PAREN@[316; 317) "(" + DOLLAR@[317; 318) "$" + IDENT@[318; 324) "output" + COMMA@[324; 325) "," + R_PAREN@[325; 326) ")" + STAR@[326; 327) "*" + R_PAREN@[327; 328) ")" + COMMA@[328; 329) "," + WHITESPACE@[329; 338) "\n " + R_PAREN@[338; 339) ")" + SEMI@[339; 340) ";" + WHITESPACE@[340; 345) "\n " + R_CURLY@[345; 346) "}" + WHITESPACE@[346; 347) "\n" + R_CURLY@[347; 348) "}" + WHITESPACE@[348; 349) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.txt b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.txt deleted file mode 100644 index 2be523fc3..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.txt +++ /dev/null @@ -1,176 +0,0 @@ -SOURCE_FILE@[0; 349) - MACRO_DEF@[0; 93) - MACRO_KW@[0; 5) "macro" - WHITESPACE@[5; 6) " " - NAME@[6; 21) - IDENT@[6; 21) "parse_use_trees" - TOKEN_TREE@[21; 93) - TOKEN_TREE@[21; 41) - L_PAREN@[21; 22) "(" - DOLLAR@[22; 23) "$" - TOKEN_TREE@[23; 32) - L_PAREN@[23; 24) "(" - DOLLAR@[24; 25) "$" - IDENT@[25; 26) "s" - COLON@[26; 27) ":" - IDENT@[27; 31) "expr" - R_PAREN@[31; 32) ")" - COMMA@[32; 33) "," - STAR@[33; 34) "*" - WHITESPACE@[34; 35) " " - DOLLAR@[35; 36) "$" - TOKEN_TREE@[36; 39) - L_PAREN@[36; 37) "(" - COMMA@[37; 38) "," - R_PAREN@[38; 39) ")" - STAR@[39; 40) "*" - R_PAREN@[40; 41) ")" - WHITESPACE@[41; 42) " " - TOKEN_TREE@[42; 93) - L_CURLY@[42; 43) "{" - WHITESPACE@[43; 48) "\n " - IDENT@[48; 51) "vec" - EXCL@[51; 52) "!" - TOKEN_TREE@[52; 91) - L_BRACK@[52; 53) "[" - WHITESPACE@[53; 62) "\n " - DOLLAR@[62; 63) "$" - TOKEN_TREE@[63; 84) - L_PAREN@[63; 64) "(" - IDENT@[64; 78) "parse_use_tree" - TOKEN_TREE@[78; 82) - L_PAREN@[78; 79) "(" - DOLLAR@[79; 80) "$" - IDENT@[80; 81) "s" - R_PAREN@[81; 82) ")" - COMMA@[82; 83) "," - R_PAREN@[83; 84) ")" - STAR@[84; 85) "*" - WHITESPACE@[85; 90) "\n " - R_BRACK@[90; 91) "]" - WHITESPACE@[91; 92) "\n" - R_CURLY@[92; 93) "}" - WHITESPACE@[93; 95) "\n\n" - FN_DEF@[95; 348) - ATTR@[95; 102) - POUND@[95; 96) "#" - L_BRACK@[96; 97) "[" - PATH@[97; 101) - PATH_SEGMENT@[97; 101) - NAME_REF@[97; 101) - IDENT@[97; 101) "test" - R_BRACK@[101; 102) "]" - WHITESPACE@[102; 103) "\n" - FN_KW@[103; 105) "fn" - WHITESPACE@[105; 106) " " - NAME@[106; 125) - IDENT@[106; 125) "test_use_tree_merge" - PARAM_LIST@[125; 127) - L_PAREN@[125; 126) "(" - R_PAREN@[126; 127) ")" - WHITESPACE@[127; 128) " " - BLOCK_EXPR@[128; 348) - BLOCK@[128; 348) - L_CURLY@[128; 129) "{" - WHITESPACE@[129; 134) "\n " - MACRO_DEF@[134; 346) - MACRO_KW@[134; 139) "macro" - WHITESPACE@[139; 140) " " - NAME@[140; 150) - IDENT@[140; 150) "test_merge" - TOKEN_TREE@[150; 346) - TOKEN_TREE@[150; 203) - L_PAREN@[150; 151) "(" - TOKEN_TREE@[151; 175) - L_BRACK@[151; 152) "[" - DOLLAR@[152; 153) "$" - TOKEN_TREE@[153; 166) - L_PAREN@[153; 154) "(" - DOLLAR@[154; 155) "$" - IDENT@[155; 160) "input" - COLON@[160; 161) ":" - IDENT@[161; 165) "expr" - R_PAREN@[165; 166) ")" - COMMA@[166; 167) "," - STAR@[167; 168) "*" - WHITESPACE@[168; 169) " " - DOLLAR@[169; 170) "$" - TOKEN_TREE@[170; 173) - L_PAREN@[170; 171) "(" - COMMA@[171; 172) "," - R_PAREN@[172; 173) ")" - STAR@[173; 174) "*" - R_BRACK@[174; 175) "]" - COMMA@[175; 176) "," - WHITESPACE@[176; 177) " " - TOKEN_TREE@[177; 202) - L_BRACK@[177; 178) "[" - DOLLAR@[178; 179) "$" - TOKEN_TREE@[179; 193) - L_PAREN@[179; 180) "(" - DOLLAR@[180; 181) "$" - IDENT@[181; 187) "output" - COLON@[187; 188) ":" - IDENT@[188; 192) "expr" - R_PAREN@[192; 193) ")" - COMMA@[193; 194) "," - STAR@[194; 195) "*" - WHITESPACE@[195; 196) " " - DOLLAR@[196; 197) "$" - TOKEN_TREE@[197; 200) - L_PAREN@[197; 198) "(" - COMMA@[198; 199) "," - R_PAREN@[199; 200) ")" - STAR@[200; 201) "*" - R_BRACK@[201; 202) "]" - R_PAREN@[202; 203) ")" - WHITESPACE@[203; 204) " " - TOKEN_TREE@[204; 346) - L_CURLY@[204; 205) "{" - WHITESPACE@[205; 214) "\n " - IDENT@[214; 223) "assert_eq" - EXCL@[223; 224) "!" - TOKEN_TREE@[224; 339) - L_PAREN@[224; 225) "(" - WHITESPACE@[225; 238) "\n " - IDENT@[238; 253) "merge_use_trees" - TOKEN_TREE@[253; 284) - L_PAREN@[253; 254) "(" - IDENT@[254; 269) "parse_use_trees" - EXCL@[269; 270) "!" - TOKEN_TREE@[270; 283) - L_PAREN@[270; 271) "(" - DOLLAR@[271; 272) "$" - TOKEN_TREE@[272; 281) - L_PAREN@[272; 273) "(" - DOLLAR@[273; 274) "$" - IDENT@[274; 279) "input" - COMMA@[279; 280) "," - R_PAREN@[280; 281) ")" - STAR@[281; 282) "*" - R_PAREN@[282; 283) ")" - R_PAREN@[283; 284) ")" - COMMA@[284; 285) "," - WHITESPACE@[285; 298) "\n " - IDENT@[298; 313) "parse_use_trees" - EXCL@[313; 314) "!" - TOKEN_TREE@[314; 328) - L_PAREN@[314; 315) "(" - DOLLAR@[315; 316) "$" - TOKEN_TREE@[316; 326) - L_PAREN@[316; 317) "(" - DOLLAR@[317; 318) "$" - IDENT@[318; 324) "output" - COMMA@[324; 325) "," - R_PAREN@[325; 326) ")" - STAR@[326; 327) "*" - R_PAREN@[327; 328) ")" - COMMA@[328; 329) "," - WHITESPACE@[329; 338) "\n " - R_PAREN@[338; 339) ")" - SEMI@[339; 340) ";" - WHITESPACE@[340; 345) "\n " - R_CURLY@[345; 346) "}" - WHITESPACE@[346; 347) "\n" - R_CURLY@[347; 348) "}" - WHITESPACE@[348; 349) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast new file mode 100644 index 000000000..eb2e3a503 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast @@ -0,0 +1,196 @@ +SOURCE_FILE@[0; 170) + TRAIT_DEF@[0; 169) + TRAIT_KW@[0; 5) "trait" + WHITESPACE@[5; 6) " " + NAME@[6; 7) + IDENT@[6; 7) "T" + WHITESPACE@[7; 8) " " + ITEM_LIST@[8; 169) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 14) "\n " + FN_DEF@[14; 46) + FN_KW@[14; 16) "fn" + WHITESPACE@[16; 17) " " + NAME@[17; 19) + IDENT@[17; 19) "f1" + PARAM_LIST@[19; 43) + L_PAREN@[19; 20) "(" + PARAM@[20; 42) + TUPLE_PAT@[20; 26) + L_PAREN@[20; 21) "(" + BIND_PAT@[21; 22) + NAME@[21; 22) + IDENT@[21; 22) "a" + COMMA@[22; 23) "," + WHITESPACE@[23; 24) " " + BIND_PAT@[24; 25) + NAME@[24; 25) + IDENT@[24; 25) "b" + R_PAREN@[25; 26) ")" + COLON@[26; 27) ":" + WHITESPACE@[27; 28) " " + TUPLE_TYPE@[28; 42) + L_PAREN@[28; 29) "(" + PATH_TYPE@[29; 34) + PATH@[29; 34) + PATH_SEGMENT@[29; 34) + NAME_REF@[29; 34) + IDENT@[29; 34) "usize" + COMMA@[34; 35) "," + WHITESPACE@[35; 36) " " + PATH_TYPE@[36; 41) + PATH@[36; 41) + PATH_SEGMENT@[36; 41) + NAME_REF@[36; 41) + IDENT@[36; 41) "usize" + R_PAREN@[41; 42) ")" + R_PAREN@[42; 43) ")" + WHITESPACE@[43; 44) " " + BLOCK_EXPR@[44; 46) + BLOCK@[44; 46) + L_CURLY@[44; 45) "{" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 51) "\n " + FN_DEF@[51; 74) + FN_KW@[51; 53) "fn" + WHITESPACE@[53; 54) " " + NAME@[54; 56) + IDENT@[54; 56) "f2" + PARAM_LIST@[56; 71) + L_PAREN@[56; 57) "(" + PARAM@[57; 70) + RECORD_PAT@[57; 67) + PATH@[57; 58) + PATH_SEGMENT@[57; 58) + NAME_REF@[57; 58) + IDENT@[57; 58) "S" + WHITESPACE@[58; 59) " " + RECORD_FIELD_PAT_LIST@[59; 67) + L_CURLY@[59; 60) "{" + WHITESPACE@[60; 61) " " + BIND_PAT@[61; 62) + NAME@[61; 62) + IDENT@[61; 62) "a" + COMMA@[62; 63) "," + WHITESPACE@[63; 64) " " + BIND_PAT@[64; 65) + NAME@[64; 65) + IDENT@[64; 65) "b" + WHITESPACE@[65; 66) " " + R_CURLY@[66; 67) "}" + COLON@[67; 68) ":" + WHITESPACE@[68; 69) " " + PATH_TYPE@[69; 70) + PATH@[69; 70) + PATH_SEGMENT@[69; 70) + NAME_REF@[69; 70) + IDENT@[69; 70) "S" + R_PAREN@[70; 71) ")" + WHITESPACE@[71; 72) " " + BLOCK_EXPR@[72; 74) + BLOCK@[72; 74) + L_CURLY@[72; 73) "{" + R_CURLY@[73; 74) "}" + WHITESPACE@[74; 79) "\n " + FN_DEF@[79; 108) + FN_KW@[79; 81) "fn" + WHITESPACE@[81; 82) " " + NAME@[82; 84) + IDENT@[82; 84) "f3" + PARAM_LIST@[84; 105) + L_PAREN@[84; 85) "(" + PARAM@[85; 104) + TUPLE_STRUCT_PAT@[85; 95) + PATH@[85; 92) + PATH_SEGMENT@[85; 92) + NAME_REF@[85; 92) + IDENT@[85; 92) "NewType" + L_PAREN@[92; 93) "(" + BIND_PAT@[93; 94) + NAME@[93; 94) + IDENT@[93; 94) "a" + R_PAREN@[94; 95) ")" + COLON@[95; 96) ":" + WHITESPACE@[96; 97) " " + PATH_TYPE@[97; 104) + PATH@[97; 104) + PATH_SEGMENT@[97; 104) + NAME_REF@[97; 104) + IDENT@[97; 104) "NewType" + R_PAREN@[104; 105) ")" + WHITESPACE@[105; 106) " " + BLOCK_EXPR@[106; 108) + BLOCK@[106; 108) + L_CURLY@[106; 107) "{" + R_CURLY@[107; 108) "}" + WHITESPACE@[108; 113) "\n " + FN_DEF@[113; 135) + FN_KW@[113; 115) "fn" + WHITESPACE@[115; 116) " " + NAME@[116; 118) + IDENT@[116; 118) "f4" + PARAM_LIST@[118; 132) + L_PAREN@[118; 119) "(" + PARAM@[119; 131) + REF_PAT@[119; 122) + AMP@[119; 120) "&" + REF_PAT@[120; 122) + AMP@[120; 121) "&" + BIND_PAT@[121; 122) + NAME@[121; 122) + IDENT@[121; 122) "a" + COLON@[122; 123) ":" + WHITESPACE@[123; 124) " " + REFERENCE_TYPE@[124; 131) + AMP@[124; 125) "&" + REFERENCE_TYPE@[125; 131) + AMP@[125; 126) "&" + PATH_TYPE@[126; 131) + PATH@[126; 131) + PATH_SEGMENT@[126; 131) + NAME_REF@[126; 131) + IDENT@[126; 131) "usize" + R_PAREN@[131; 132) ")" + WHITESPACE@[132; 133) " " + BLOCK_EXPR@[133; 135) + BLOCK@[133; 135) + L_CURLY@[133; 134) "{" + R_CURLY@[134; 135) "}" + WHITESPACE@[135; 140) "\n " + FN_DEF@[140; 167) + FN_KW@[140; 142) "fn" + WHITESPACE@[142; 143) " " + NAME@[143; 146) + IDENT@[143; 146) "bar" + PARAM_LIST@[146; 166) + L_PAREN@[146; 147) "(" + PARAM@[147; 153) + PLACEHOLDER_PAT@[147; 148) + UNDERSCORE@[147; 148) "_" + COLON@[148; 149) ":" + WHITESPACE@[149; 150) " " + PATH_TYPE@[150; 153) + PATH@[150; 153) + PATH_SEGMENT@[150; 153) + NAME_REF@[150; 153) + IDENT@[150; 153) "u64" + COMMA@[153; 154) "," + WHITESPACE@[154; 155) " " + PARAM@[155; 165) + BIND_PAT@[155; 160) + MUT_KW@[155; 158) "mut" + WHITESPACE@[158; 159) " " + NAME@[159; 160) + IDENT@[159; 160) "x" + COLON@[160; 161) ":" + WHITESPACE@[161; 162) " " + PATH_TYPE@[162; 165) + PATH@[162; 165) + PATH_SEGMENT@[162; 165) + NAME_REF@[162; 165) + IDENT@[162; 165) "i32" + R_PAREN@[165; 166) ")" + SEMI@[166; 167) ";" + WHITESPACE@[167; 168) "\n" + R_CURLY@[168; 169) "}" + WHITESPACE@[169; 170) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt deleted file mode 100644 index eb2e3a503..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.txt +++ /dev/null @@ -1,196 +0,0 @@ -SOURCE_FILE@[0; 170) - TRAIT_DEF@[0; 169) - TRAIT_KW@[0; 5) "trait" - WHITESPACE@[5; 6) " " - NAME@[6; 7) - IDENT@[6; 7) "T" - WHITESPACE@[7; 8) " " - ITEM_LIST@[8; 169) - L_CURLY@[8; 9) "{" - WHITESPACE@[9; 14) "\n " - FN_DEF@[14; 46) - FN_KW@[14; 16) "fn" - WHITESPACE@[16; 17) " " - NAME@[17; 19) - IDENT@[17; 19) "f1" - PARAM_LIST@[19; 43) - L_PAREN@[19; 20) "(" - PARAM@[20; 42) - TUPLE_PAT@[20; 26) - L_PAREN@[20; 21) "(" - BIND_PAT@[21; 22) - NAME@[21; 22) - IDENT@[21; 22) "a" - COMMA@[22; 23) "," - WHITESPACE@[23; 24) " " - BIND_PAT@[24; 25) - NAME@[24; 25) - IDENT@[24; 25) "b" - R_PAREN@[25; 26) ")" - COLON@[26; 27) ":" - WHITESPACE@[27; 28) " " - TUPLE_TYPE@[28; 42) - L_PAREN@[28; 29) "(" - PATH_TYPE@[29; 34) - PATH@[29; 34) - PATH_SEGMENT@[29; 34) - NAME_REF@[29; 34) - IDENT@[29; 34) "usize" - COMMA@[34; 35) "," - WHITESPACE@[35; 36) " " - PATH_TYPE@[36; 41) - PATH@[36; 41) - PATH_SEGMENT@[36; 41) - NAME_REF@[36; 41) - IDENT@[36; 41) "usize" - R_PAREN@[41; 42) ")" - R_PAREN@[42; 43) ")" - WHITESPACE@[43; 44) " " - BLOCK_EXPR@[44; 46) - BLOCK@[44; 46) - L_CURLY@[44; 45) "{" - R_CURLY@[45; 46) "}" - WHITESPACE@[46; 51) "\n " - FN_DEF@[51; 74) - FN_KW@[51; 53) "fn" - WHITESPACE@[53; 54) " " - NAME@[54; 56) - IDENT@[54; 56) "f2" - PARAM_LIST@[56; 71) - L_PAREN@[56; 57) "(" - PARAM@[57; 70) - RECORD_PAT@[57; 67) - PATH@[57; 58) - PATH_SEGMENT@[57; 58) - NAME_REF@[57; 58) - IDENT@[57; 58) "S" - WHITESPACE@[58; 59) " " - RECORD_FIELD_PAT_LIST@[59; 67) - L_CURLY@[59; 60) "{" - WHITESPACE@[60; 61) " " - BIND_PAT@[61; 62) - NAME@[61; 62) - IDENT@[61; 62) "a" - COMMA@[62; 63) "," - WHITESPACE@[63; 64) " " - BIND_PAT@[64; 65) - NAME@[64; 65) - IDENT@[64; 65) "b" - WHITESPACE@[65; 66) " " - R_CURLY@[66; 67) "}" - COLON@[67; 68) ":" - WHITESPACE@[68; 69) " " - PATH_TYPE@[69; 70) - PATH@[69; 70) - PATH_SEGMENT@[69; 70) - NAME_REF@[69; 70) - IDENT@[69; 70) "S" - R_PAREN@[70; 71) ")" - WHITESPACE@[71; 72) " " - BLOCK_EXPR@[72; 74) - BLOCK@[72; 74) - L_CURLY@[72; 73) "{" - R_CURLY@[73; 74) "}" - WHITESPACE@[74; 79) "\n " - FN_DEF@[79; 108) - FN_KW@[79; 81) "fn" - WHITESPACE@[81; 82) " " - NAME@[82; 84) - IDENT@[82; 84) "f3" - PARAM_LIST@[84; 105) - L_PAREN@[84; 85) "(" - PARAM@[85; 104) - TUPLE_STRUCT_PAT@[85; 95) - PATH@[85; 92) - PATH_SEGMENT@[85; 92) - NAME_REF@[85; 92) - IDENT@[85; 92) "NewType" - L_PAREN@[92; 93) "(" - BIND_PAT@[93; 94) - NAME@[93; 94) - IDENT@[93; 94) "a" - R_PAREN@[94; 95) ")" - COLON@[95; 96) ":" - WHITESPACE@[96; 97) " " - PATH_TYPE@[97; 104) - PATH@[97; 104) - PATH_SEGMENT@[97; 104) - NAME_REF@[97; 104) - IDENT@[97; 104) "NewType" - R_PAREN@[104; 105) ")" - WHITESPACE@[105; 106) " " - BLOCK_EXPR@[106; 108) - BLOCK@[106; 108) - L_CURLY@[106; 107) "{" - R_CURLY@[107; 108) "}" - WHITESPACE@[108; 113) "\n " - FN_DEF@[113; 135) - FN_KW@[113; 115) "fn" - WHITESPACE@[115; 116) " " - NAME@[116; 118) - IDENT@[116; 118) "f4" - PARAM_LIST@[118; 132) - L_PAREN@[118; 119) "(" - PARAM@[119; 131) - REF_PAT@[119; 122) - AMP@[119; 120) "&" - REF_PAT@[120; 122) - AMP@[120; 121) "&" - BIND_PAT@[121; 122) - NAME@[121; 122) - IDENT@[121; 122) "a" - COLON@[122; 123) ":" - WHITESPACE@[123; 124) " " - REFERENCE_TYPE@[124; 131) - AMP@[124; 125) "&" - REFERENCE_TYPE@[125; 131) - AMP@[125; 126) "&" - PATH_TYPE@[126; 131) - PATH@[126; 131) - PATH_SEGMENT@[126; 131) - NAME_REF@[126; 131) - IDENT@[126; 131) "usize" - R_PAREN@[131; 132) ")" - WHITESPACE@[132; 133) " " - BLOCK_EXPR@[133; 135) - BLOCK@[133; 135) - L_CURLY@[133; 134) "{" - R_CURLY@[134; 135) "}" - WHITESPACE@[135; 140) "\n " - FN_DEF@[140; 167) - FN_KW@[140; 142) "fn" - WHITESPACE@[142; 143) " " - NAME@[143; 146) - IDENT@[143; 146) "bar" - PARAM_LIST@[146; 166) - L_PAREN@[146; 147) "(" - PARAM@[147; 153) - PLACEHOLDER_PAT@[147; 148) - UNDERSCORE@[147; 148) "_" - COLON@[148; 149) ":" - WHITESPACE@[149; 150) " " - PATH_TYPE@[150; 153) - PATH@[150; 153) - PATH_SEGMENT@[150; 153) - NAME_REF@[150; 153) - IDENT@[150; 153) "u64" - COMMA@[153; 154) "," - WHITESPACE@[154; 155) " " - PARAM@[155; 165) - BIND_PAT@[155; 160) - MUT_KW@[155; 158) "mut" - WHITESPACE@[158; 159) " " - NAME@[159; 160) - IDENT@[159; 160) "x" - COLON@[160; 161) ":" - WHITESPACE@[161; 162) " " - PATH_TYPE@[162; 165) - PATH@[162; 165) - PATH_SEGMENT@[162; 165) - NAME_REF@[162; 165) - IDENT@[162; 165) "i32" - R_PAREN@[165; 166) ")" - SEMI@[166; 167) ";" - WHITESPACE@[167; 168) "\n" - R_CURLY@[168; 169) "}" - WHITESPACE@[169; 170) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast new file mode 100644 index 000000000..186f03626 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast @@ -0,0 +1,133 @@ +SOURCE_FILE@[0; 126) + EXTERN_BLOCK@[0; 125) + ABI@[0; 10) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + STRING@[7; 10) "\"C\"" + WHITESPACE@[10; 11) " " + EXTERN_ITEM_LIST@[11; 125) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " + FN_DEF@[17; 40) + FN_KW@[17; 19) "fn" + WHITESPACE@[19; 20) " " + NAME@[20; 21) + IDENT@[20; 21) "a" + PARAM_LIST@[21; 39) + L_PAREN@[21; 22) "(" + PARAM@[22; 32) + PLACEHOLDER_PAT@[22; 23) + UNDERSCORE@[22; 23) "_" + COLON@[23; 24) ":" + WHITESPACE@[24; 25) " " + POINTER_TYPE@[25; 32) + STAR@[25; 26) "*" + MUT_KW@[26; 29) "mut" + WHITESPACE@[29; 30) " " + PATH_TYPE@[30; 32) + PATH@[30; 32) + PATH_SEGMENT@[30; 32) + NAME_REF@[30; 32) + IDENT@[30; 32) "u8" + COMMA@[32; 33) "," + WHITESPACE@[33; 34) " " + PARAM@[34; 37) + DOTDOTDOT@[34; 37) "..." + COMMA@[37; 38) "," + R_PAREN@[38; 39) ")" + SEMI@[39; 40) ";" + WHITESPACE@[40; 45) "\n " + FN_DEF@[45; 70) + FN_KW@[45; 47) "fn" + WHITESPACE@[47; 48) " " + NAME@[48; 49) + IDENT@[48; 49) "b" + PARAM_LIST@[49; 69) + L_PAREN@[49; 50) "(" + PARAM@[50; 60) + PLACEHOLDER_PAT@[50; 51) + UNDERSCORE@[50; 51) "_" + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " + POINTER_TYPE@[53; 60) + STAR@[53; 54) "*" + MUT_KW@[54; 57) "mut" + WHITESPACE@[57; 58) " " + PATH_TYPE@[58; 60) + PATH@[58; 60) + PATH_SEGMENT@[58; 60) + NAME_REF@[58; 60) + IDENT@[58; 60) "u8" + COMMA@[60; 61) "," + WHITESPACE@[61; 62) " " + PARAM@[62; 68) + PLACEHOLDER_PAT@[62; 63) + UNDERSCORE@[62; 63) "_" + COLON@[63; 64) ":" + WHITESPACE@[64; 65) " " + DOTDOTDOT@[65; 68) "..." + R_PAREN@[68; 69) ")" + SEMI@[69; 70) ";" + WHITESPACE@[70; 75) "\n " + FN_DEF@[75; 123) + FN_KW@[75; 77) "fn" + WHITESPACE@[77; 78) " " + NAME@[78; 79) + IDENT@[78; 79) "c" + PARAM_LIST@[79; 122) + L_PAREN@[79; 80) "(" + PARAM@[80; 90) + PLACEHOLDER_PAT@[80; 81) + UNDERSCORE@[80; 81) "_" + COLON@[81; 82) ":" + WHITESPACE@[82; 83) " " + POINTER_TYPE@[83; 90) + STAR@[83; 84) "*" + MUT_KW@[84; 87) "mut" + WHITESPACE@[87; 88) " " + PATH_TYPE@[88; 90) + PATH@[88; 90) + PATH_SEGMENT@[88; 90) + NAME_REF@[88; 90) + IDENT@[88; 90) "u8" + COMMA@[90; 91) "," + WHITESPACE@[91; 92) " " + ATTR@[92; 105) + POUND@[92; 93) "#" + L_BRACK@[93; 94) "[" + PATH@[94; 97) + PATH_SEGMENT@[94; 97) + NAME_REF@[94; 97) + IDENT@[94; 97) "cfg" + TOKEN_TREE@[97; 104) + L_PAREN@[97; 98) "(" + IDENT@[98; 103) "never" + R_PAREN@[103; 104) ")" + R_BRACK@[104; 105) "]" + WHITESPACE@[105; 106) " " + PARAM@[106; 120) + SLICE_PAT@[106; 115) + L_BRACK@[106; 107) "[" + BIND_PAT@[107; 108) + NAME@[107; 108) + IDENT@[107; 108) "w" + COMMA@[108; 109) "," + WHITESPACE@[109; 110) " " + BIND_PAT@[110; 111) + NAME@[110; 111) + IDENT@[110; 111) "t" + COMMA@[111; 112) "," + WHITESPACE@[112; 113) " " + BIND_PAT@[113; 114) + NAME@[113; 114) + IDENT@[113; 114) "f" + R_BRACK@[114; 115) "]" + COLON@[115; 116) ":" + WHITESPACE@[116; 117) " " + DOTDOTDOT@[117; 120) "..." + COMMA@[120; 121) "," + R_PAREN@[121; 122) ")" + SEMI@[122; 123) ";" + WHITESPACE@[123; 124) "\n" + R_CURLY@[124; 125) "}" + WHITESPACE@[125; 126) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.txt b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.txt deleted file mode 100644 index 186f03626..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.txt +++ /dev/null @@ -1,133 +0,0 @@ -SOURCE_FILE@[0; 126) - EXTERN_BLOCK@[0; 125) - ABI@[0; 10) - EXTERN_KW@[0; 6) "extern" - WHITESPACE@[6; 7) " " - STRING@[7; 10) "\"C\"" - WHITESPACE@[10; 11) " " - EXTERN_ITEM_LIST@[11; 125) - L_CURLY@[11; 12) "{" - WHITESPACE@[12; 17) "\n " - FN_DEF@[17; 40) - FN_KW@[17; 19) "fn" - WHITESPACE@[19; 20) " " - NAME@[20; 21) - IDENT@[20; 21) "a" - PARAM_LIST@[21; 39) - L_PAREN@[21; 22) "(" - PARAM@[22; 32) - PLACEHOLDER_PAT@[22; 23) - UNDERSCORE@[22; 23) "_" - COLON@[23; 24) ":" - WHITESPACE@[24; 25) " " - POINTER_TYPE@[25; 32) - STAR@[25; 26) "*" - MUT_KW@[26; 29) "mut" - WHITESPACE@[29; 30) " " - PATH_TYPE@[30; 32) - PATH@[30; 32) - PATH_SEGMENT@[30; 32) - NAME_REF@[30; 32) - IDENT@[30; 32) "u8" - COMMA@[32; 33) "," - WHITESPACE@[33; 34) " " - PARAM@[34; 37) - DOTDOTDOT@[34; 37) "..." - COMMA@[37; 38) "," - R_PAREN@[38; 39) ")" - SEMI@[39; 40) ";" - WHITESPACE@[40; 45) "\n " - FN_DEF@[45; 70) - FN_KW@[45; 47) "fn" - WHITESPACE@[47; 48) " " - NAME@[48; 49) - IDENT@[48; 49) "b" - PARAM_LIST@[49; 69) - L_PAREN@[49; 50) "(" - PARAM@[50; 60) - PLACEHOLDER_PAT@[50; 51) - UNDERSCORE@[50; 51) "_" - COLON@[51; 52) ":" - WHITESPACE@[52; 53) " " - POINTER_TYPE@[53; 60) - STAR@[53; 54) "*" - MUT_KW@[54; 57) "mut" - WHITESPACE@[57; 58) " " - PATH_TYPE@[58; 60) - PATH@[58; 60) - PATH_SEGMENT@[58; 60) - NAME_REF@[58; 60) - IDENT@[58; 60) "u8" - COMMA@[60; 61) "," - WHITESPACE@[61; 62) " " - PARAM@[62; 68) - PLACEHOLDER_PAT@[62; 63) - UNDERSCORE@[62; 63) "_" - COLON@[63; 64) ":" - WHITESPACE@[64; 65) " " - DOTDOTDOT@[65; 68) "..." - R_PAREN@[68; 69) ")" - SEMI@[69; 70) ";" - WHITESPACE@[70; 75) "\n " - FN_DEF@[75; 123) - FN_KW@[75; 77) "fn" - WHITESPACE@[77; 78) " " - NAME@[78; 79) - IDENT@[78; 79) "c" - PARAM_LIST@[79; 122) - L_PAREN@[79; 80) "(" - PARAM@[80; 90) - PLACEHOLDER_PAT@[80; 81) - UNDERSCORE@[80; 81) "_" - COLON@[81; 82) ":" - WHITESPACE@[82; 83) " " - POINTER_TYPE@[83; 90) - STAR@[83; 84) "*" - MUT_KW@[84; 87) "mut" - WHITESPACE@[87; 88) " " - PATH_TYPE@[88; 90) - PATH@[88; 90) - PATH_SEGMENT@[88; 90) - NAME_REF@[88; 90) - IDENT@[88; 90) "u8" - COMMA@[90; 91) "," - WHITESPACE@[91; 92) " " - ATTR@[92; 105) - POUND@[92; 93) "#" - L_BRACK@[93; 94) "[" - PATH@[94; 97) - PATH_SEGMENT@[94; 97) - NAME_REF@[94; 97) - IDENT@[94; 97) "cfg" - TOKEN_TREE@[97; 104) - L_PAREN@[97; 98) "(" - IDENT@[98; 103) "never" - R_PAREN@[103; 104) ")" - R_BRACK@[104; 105) "]" - WHITESPACE@[105; 106) " " - PARAM@[106; 120) - SLICE_PAT@[106; 115) - L_BRACK@[106; 107) "[" - BIND_PAT@[107; 108) - NAME@[107; 108) - IDENT@[107; 108) "w" - COMMA@[108; 109) "," - WHITESPACE@[109; 110) " " - BIND_PAT@[110; 111) - NAME@[110; 111) - IDENT@[110; 111) "t" - COMMA@[111; 112) "," - WHITESPACE@[112; 113) " " - BIND_PAT@[113; 114) - NAME@[113; 114) - IDENT@[113; 114) "f" - R_BRACK@[114; 115) "]" - COLON@[115; 116) ":" - WHITESPACE@[116; 117) " " - DOTDOTDOT@[117; 120) "..." - COMMA@[120; 121) "," - R_PAREN@[121; 122) ")" - SEMI@[122; 123) ";" - WHITESPACE@[123; 124) "\n" - R_CURLY@[124; 125) "}" - WHITESPACE@[125; 126) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast new file mode 100644 index 000000000..b30030de3 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast @@ -0,0 +1,164 @@ +SOURCE_FILE@[0; 137) + IMPL_DEF@[0; 136) + IMPL_KW@[0; 4) "impl" + WHITESPACE@[4; 5) " " + PATH_TYPE@[5; 6) + PATH@[5; 6) + PATH_SEGMENT@[5; 6) + NAME_REF@[5; 6) + IDENT@[5; 6) "U" + WHITESPACE@[6; 7) " " + ITEM_LIST@[7; 136) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " + FN_DEF@[13; 45) + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 18) + IDENT@[16; 18) "f1" + PARAM_LIST@[18; 42) + L_PAREN@[18; 19) "(" + PARAM@[19; 41) + TUPLE_PAT@[19; 25) + L_PAREN@[19; 20) "(" + BIND_PAT@[20; 21) + NAME@[20; 21) + IDENT@[20; 21) "a" + COMMA@[21; 22) "," + WHITESPACE@[22; 23) " " + BIND_PAT@[23; 24) + NAME@[23; 24) + IDENT@[23; 24) "b" + R_PAREN@[24; 25) ")" + COLON@[25; 26) ":" + WHITESPACE@[26; 27) " " + TUPLE_TYPE@[27; 41) + L_PAREN@[27; 28) "(" + PATH_TYPE@[28; 33) + PATH@[28; 33) + PATH_SEGMENT@[28; 33) + NAME_REF@[28; 33) + IDENT@[28; 33) "usize" + COMMA@[33; 34) "," + WHITESPACE@[34; 35) " " + PATH_TYPE@[35; 40) + PATH@[35; 40) + PATH_SEGMENT@[35; 40) + NAME_REF@[35; 40) + IDENT@[35; 40) "usize" + R_PAREN@[40; 41) ")" + R_PAREN@[41; 42) ")" + WHITESPACE@[42; 43) " " + BLOCK_EXPR@[43; 45) + BLOCK@[43; 45) + L_CURLY@[43; 44) "{" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 50) "\n " + FN_DEF@[50; 73) + FN_KW@[50; 52) "fn" + WHITESPACE@[52; 53) " " + NAME@[53; 55) + IDENT@[53; 55) "f2" + PARAM_LIST@[55; 70) + L_PAREN@[55; 56) "(" + PARAM@[56; 69) + RECORD_PAT@[56; 66) + PATH@[56; 57) + PATH_SEGMENT@[56; 57) + NAME_REF@[56; 57) + IDENT@[56; 57) "S" + WHITESPACE@[57; 58) " " + RECORD_FIELD_PAT_LIST@[58; 66) + L_CURLY@[58; 59) "{" + WHITESPACE@[59; 60) " " + BIND_PAT@[60; 61) + NAME@[60; 61) + IDENT@[60; 61) "a" + COMMA@[61; 62) "," + WHITESPACE@[62; 63) " " + BIND_PAT@[63; 64) + NAME@[63; 64) + IDENT@[63; 64) "b" + WHITESPACE@[64; 65) " " + R_CURLY@[65; 66) "}" + COLON@[66; 67) ":" + WHITESPACE@[67; 68) " " + PATH_TYPE@[68; 69) + PATH@[68; 69) + PATH_SEGMENT@[68; 69) + NAME_REF@[68; 69) + IDENT@[68; 69) "S" + R_PAREN@[69; 70) ")" + WHITESPACE@[70; 71) " " + BLOCK_EXPR@[71; 73) + BLOCK@[71; 73) + L_CURLY@[71; 72) "{" + R_CURLY@[72; 73) "}" + WHITESPACE@[73; 78) "\n " + FN_DEF@[78; 107) + FN_KW@[78; 80) "fn" + WHITESPACE@[80; 81) " " + NAME@[81; 83) + IDENT@[81; 83) "f3" + PARAM_LIST@[83; 104) + L_PAREN@[83; 84) "(" + PARAM@[84; 103) + TUPLE_STRUCT_PAT@[84; 94) + PATH@[84; 91) + PATH_SEGMENT@[84; 91) + NAME_REF@[84; 91) + IDENT@[84; 91) "NewType" + L_PAREN@[91; 92) "(" + BIND_PAT@[92; 93) + NAME@[92; 93) + IDENT@[92; 93) "a" + R_PAREN@[93; 94) ")" + COLON@[94; 95) ":" + WHITESPACE@[95; 96) " " + PATH_TYPE@[96; 103) + PATH@[96; 103) + PATH_SEGMENT@[96; 103) + NAME_REF@[96; 103) + IDENT@[96; 103) "NewType" + R_PAREN@[103; 104) ")" + WHITESPACE@[104; 105) " " + BLOCK_EXPR@[105; 107) + BLOCK@[105; 107) + L_CURLY@[105; 106) "{" + R_CURLY@[106; 107) "}" + WHITESPACE@[107; 112) "\n " + FN_DEF@[112; 134) + FN_KW@[112; 114) "fn" + WHITESPACE@[114; 115) " " + NAME@[115; 117) + IDENT@[115; 117) "f4" + PARAM_LIST@[117; 131) + L_PAREN@[117; 118) "(" + PARAM@[118; 130) + REF_PAT@[118; 121) + AMP@[118; 119) "&" + REF_PAT@[119; 121) + AMP@[119; 120) "&" + BIND_PAT@[120; 121) + NAME@[120; 121) + IDENT@[120; 121) "a" + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " + REFERENCE_TYPE@[123; 130) + AMP@[123; 124) "&" + REFERENCE_TYPE@[124; 130) + AMP@[124; 125) "&" + PATH_TYPE@[125; 130) + PATH@[125; 130) + PATH_SEGMENT@[125; 130) + NAME_REF@[125; 130) + IDENT@[125; 130) "usize" + R_PAREN@[130; 131) ")" + WHITESPACE@[131; 132) " " + BLOCK_EXPR@[132; 134) + BLOCK@[132; 134) + L_CURLY@[132; 133) "{" + R_CURLY@[133; 134) "}" + WHITESPACE@[134; 135) "\n" + R_CURLY@[135; 136) "}" + WHITESPACE@[136; 137) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt deleted file mode 100644 index b30030de3..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.txt +++ /dev/null @@ -1,164 +0,0 @@ -SOURCE_FILE@[0; 137) - IMPL_DEF@[0; 136) - IMPL_KW@[0; 4) "impl" - WHITESPACE@[4; 5) " " - PATH_TYPE@[5; 6) - PATH@[5; 6) - PATH_SEGMENT@[5; 6) - NAME_REF@[5; 6) - IDENT@[5; 6) "U" - WHITESPACE@[6; 7) " " - ITEM_LIST@[7; 136) - L_CURLY@[7; 8) "{" - WHITESPACE@[8; 13) "\n " - FN_DEF@[13; 45) - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 18) - IDENT@[16; 18) "f1" - PARAM_LIST@[18; 42) - L_PAREN@[18; 19) "(" - PARAM@[19; 41) - TUPLE_PAT@[19; 25) - L_PAREN@[19; 20) "(" - BIND_PAT@[20; 21) - NAME@[20; 21) - IDENT@[20; 21) "a" - COMMA@[21; 22) "," - WHITESPACE@[22; 23) " " - BIND_PAT@[23; 24) - NAME@[23; 24) - IDENT@[23; 24) "b" - R_PAREN@[24; 25) ")" - COLON@[25; 26) ":" - WHITESPACE@[26; 27) " " - TUPLE_TYPE@[27; 41) - L_PAREN@[27; 28) "(" - PATH_TYPE@[28; 33) - PATH@[28; 33) - PATH_SEGMENT@[28; 33) - NAME_REF@[28; 33) - IDENT@[28; 33) "usize" - COMMA@[33; 34) "," - WHITESPACE@[34; 35) " " - PATH_TYPE@[35; 40) - PATH@[35; 40) - PATH_SEGMENT@[35; 40) - NAME_REF@[35; 40) - IDENT@[35; 40) "usize" - R_PAREN@[40; 41) ")" - R_PAREN@[41; 42) ")" - WHITESPACE@[42; 43) " " - BLOCK_EXPR@[43; 45) - BLOCK@[43; 45) - L_CURLY@[43; 44) "{" - R_CURLY@[44; 45) "}" - WHITESPACE@[45; 50) "\n " - FN_DEF@[50; 73) - FN_KW@[50; 52) "fn" - WHITESPACE@[52; 53) " " - NAME@[53; 55) - IDENT@[53; 55) "f2" - PARAM_LIST@[55; 70) - L_PAREN@[55; 56) "(" - PARAM@[56; 69) - RECORD_PAT@[56; 66) - PATH@[56; 57) - PATH_SEGMENT@[56; 57) - NAME_REF@[56; 57) - IDENT@[56; 57) "S" - WHITESPACE@[57; 58) " " - RECORD_FIELD_PAT_LIST@[58; 66) - L_CURLY@[58; 59) "{" - WHITESPACE@[59; 60) " " - BIND_PAT@[60; 61) - NAME@[60; 61) - IDENT@[60; 61) "a" - COMMA@[61; 62) "," - WHITESPACE@[62; 63) " " - BIND_PAT@[63; 64) - NAME@[63; 64) - IDENT@[63; 64) "b" - WHITESPACE@[64; 65) " " - R_CURLY@[65; 66) "}" - COLON@[66; 67) ":" - WHITESPACE@[67; 68) " " - PATH_TYPE@[68; 69) - PATH@[68; 69) - PATH_SEGMENT@[68; 69) - NAME_REF@[68; 69) - IDENT@[68; 69) "S" - R_PAREN@[69; 70) ")" - WHITESPACE@[70; 71) " " - BLOCK_EXPR@[71; 73) - BLOCK@[71; 73) - L_CURLY@[71; 72) "{" - R_CURLY@[72; 73) "}" - WHITESPACE@[73; 78) "\n " - FN_DEF@[78; 107) - FN_KW@[78; 80) "fn" - WHITESPACE@[80; 81) " " - NAME@[81; 83) - IDENT@[81; 83) "f3" - PARAM_LIST@[83; 104) - L_PAREN@[83; 84) "(" - PARAM@[84; 103) - TUPLE_STRUCT_PAT@[84; 94) - PATH@[84; 91) - PATH_SEGMENT@[84; 91) - NAME_REF@[84; 91) - IDENT@[84; 91) "NewType" - L_PAREN@[91; 92) "(" - BIND_PAT@[92; 93) - NAME@[92; 93) - IDENT@[92; 93) "a" - R_PAREN@[93; 94) ")" - COLON@[94; 95) ":" - WHITESPACE@[95; 96) " " - PATH_TYPE@[96; 103) - PATH@[96; 103) - PATH_SEGMENT@[96; 103) - NAME_REF@[96; 103) - IDENT@[96; 103) "NewType" - R_PAREN@[103; 104) ")" - WHITESPACE@[104; 105) " " - BLOCK_EXPR@[105; 107) - BLOCK@[105; 107) - L_CURLY@[105; 106) "{" - R_CURLY@[106; 107) "}" - WHITESPACE@[107; 112) "\n " - FN_DEF@[112; 134) - FN_KW@[112; 114) "fn" - WHITESPACE@[114; 115) " " - NAME@[115; 117) - IDENT@[115; 117) "f4" - PARAM_LIST@[117; 131) - L_PAREN@[117; 118) "(" - PARAM@[118; 130) - REF_PAT@[118; 121) - AMP@[118; 119) "&" - REF_PAT@[119; 121) - AMP@[119; 120) "&" - BIND_PAT@[120; 121) - NAME@[120; 121) - IDENT@[120; 121) "a" - COLON@[121; 122) ":" - WHITESPACE@[122; 123) " " - REFERENCE_TYPE@[123; 130) - AMP@[123; 124) "&" - REFERENCE_TYPE@[124; 130) - AMP@[124; 125) "&" - PATH_TYPE@[125; 130) - PATH@[125; 130) - PATH_SEGMENT@[125; 130) - NAME_REF@[125; 130) - IDENT@[125; 130) "usize" - R_PAREN@[130; 131) ")" - WHITESPACE@[131; 132) " " - BLOCK_EXPR@[132; 134) - BLOCK@[132; 134) - L_CURLY@[132; 133) "{" - R_CURLY@[133; 134) "}" - WHITESPACE@[134; 135) "\n" - R_CURLY@[135; 136) "}" - WHITESPACE@[136; 137) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast b/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast new file mode 100644 index 000000000..91d0c3736 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast @@ -0,0 +1,17 @@ +SOURCE_FILE@[0; 26) + FN_DEF@[0; 25) + COMMENT@[0; 11) "/// Example" + WHITESPACE@[11; 13) "\n\n" + FN_KW@[13; 15) "fn" + WHITESPACE@[15; 16) " " + NAME@[16; 20) + IDENT@[16; 20) "test" + PARAM_LIST@[20; 22) + L_PAREN@[20; 21) "(" + R_PAREN@[21; 22) ")" + WHITESPACE@[22; 23) " " + BLOCK_EXPR@[23; 25) + BLOCK@[23; 25) + L_CURLY@[23; 24) "{" + R_CURLY@[24; 25) "}" + WHITESPACE@[25; 26) "\n" diff --git a/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.txt b/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.txt deleted file mode 100644 index 91d0c3736..000000000 --- a/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.txt +++ /dev/null @@ -1,17 +0,0 @@ -SOURCE_FILE@[0; 26) - FN_DEF@[0; 25) - COMMENT@[0; 11) "/// Example" - WHITESPACE@[11; 13) "\n\n" - FN_KW@[13; 15) "fn" - WHITESPACE@[15; 16) " " - NAME@[16; 20) - IDENT@[16; 20) "test" - PARAM_LIST@[20; 22) - L_PAREN@[20; 21) "(" - R_PAREN@[21; 22) ")" - WHITESPACE@[22; 23) " " - BLOCK_EXPR@[23; 25) - BLOCK@[23; 25) - L_CURLY@[23; 24) "{" - R_CURLY@[24; 25) "}" - WHITESPACE@[25; 26) "\n" -- cgit v1.2.3