aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2018-12-20 18:45:24 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2018-12-20 18:45:24 +0000
commit057c95d3dd72725f13bfef25827b9034f19ba877 (patch)
tree67f280325c9bf3310b8a85f5d35dad2f2030c8c6
parentc626e4a52688bfc63b9d29ed89025b61e00d4326 (diff)
parent0ffba1e8965a75d2c07a053a0803a186fb7fa1f7 (diff)
Merge #299
299: Ensure that the parser errors or not for the parser tests r=matklad a=DJMcNab Co-authored-by: DJMcNab <[email protected]>
-rw-r--r--crates/ra_syntax/src/grammar/expressions.rs6
-rw-r--r--crates/ra_syntax/src/grammar/expressions/atom.rs4
-rw-r--r--crates/ra_syntax/src/grammar/items.rs2
-rw-r--r--crates/ra_syntax/src/grammar/items/traits.rs2
-rw-r--r--crates/ra_syntax/src/grammar/items/use_item.rs2
-rw-r--r--crates/ra_syntax/src/grammar/type_args.rs2
-rw-r--r--crates/ra_syntax/src/grammar/type_params.rs2
-rw-r--r--crates/ra_syntax/src/grammar/types.rs6
-rw-r--r--crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs (renamed from crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.rs)1
-rw-r--r--crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt (renamed from crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.txt)4
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt91
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt148
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0111_impl_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0111_impl_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt)1
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0116_use_star.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0116_use_star.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0076_cond.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0076_cond.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt)8
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0115_use_alias.rs)2
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0115_use_alias.txt)41
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs)2
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.txt146
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0112_crate_path.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0112_crate_path.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0075_block.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0045_block.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0075_block.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0045_block.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0109_label.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0107_label.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0109_label.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0107_label.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0114_use_path.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0114_use_path.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs (renamed from crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt (renamed from crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt44
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs (renamed from crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs)0
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt (renamed from crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt)0
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0034_macro_stuck.txt250
-rw-r--r--crates/ra_syntax/tests/test.rs36
-rw-r--r--crates/tools/src/bin/pre-commit.rs3
-rw-r--r--crates/tools/src/lib.rs8
-rw-r--r--crates/tools/src/main.rs77
257 files changed, 290 insertions, 600 deletions
diff --git a/crates/ra_syntax/src/grammar/expressions.rs b/crates/ra_syntax/src/grammar/expressions.rs
index 4f8c46ab3..1608b1a73 100644
--- a/crates/ra_syntax/src/grammar/expressions.rs
+++ b/crates/ra_syntax/src/grammar/expressions.rs
@@ -206,7 +206,7 @@ fn expr_bp(p: &mut Parser, r: Restrictions, bp: u8) -> BlockLike {
206} 206}
207 207
208const LHS_FIRST: TokenSet = token_set_union![ 208const LHS_FIRST: TokenSet = token_set_union![
209 token_set![AMP, STAR, EXCL, DOTDOT, MINUS], 209 token_set![AMP, STAR, EXCL, DOTDOT, DOTDOTEQ, MINUS],
210 atom::ATOM_EXPR_FIRST, 210 atom::ATOM_EXPR_FIRST,
211]; 211];
212 212
@@ -237,7 +237,7 @@ fn lhs(p: &mut Parser, r: Restrictions) -> Option<(CompletedMarker, BlockLike)>
237 } 237 }
238 // test full_range_expr 238 // test full_range_expr
239 // fn foo() { xs[..]; } 239 // fn foo() { xs[..]; }
240 DOTDOT => { 240 DOTDOT | DOTDOTEQ => {
241 m = p.start(); 241 m = p.start();
242 p.bump(); 242 p.bump();
243 if p.at_ts(EXPR_FIRST) { 243 if p.at_ts(EXPR_FIRST) {
@@ -287,7 +287,7 @@ fn postfix_expr(
287 DOT if p.nth(1) == INT_NUMBER => field_expr(p, lhs), 287 DOT if p.nth(1) == INT_NUMBER => field_expr(p, lhs),
288 // test postfix_range 288 // test postfix_range
289 // fn foo() { let x = 1..; } 289 // fn foo() { let x = 1..; }
290 DOTDOT if !EXPR_FIRST.contains(p.nth(1)) => { 290 DOTDOT | DOTDOTEQ if !EXPR_FIRST.contains(p.nth(1)) => {
291 let m = lhs.precede(p); 291 let m = lhs.precede(p);
292 p.bump(); 292 p.bump();
293 m.complete(p, RANGE_EXPR) 293 m.complete(p, RANGE_EXPR)
diff --git a/crates/ra_syntax/src/grammar/expressions/atom.rs b/crates/ra_syntax/src/grammar/expressions/atom.rs
index 3b5749318..31b09ac5b 100644
--- a/crates/ra_syntax/src/grammar/expressions/atom.rs
+++ b/crates/ra_syntax/src/grammar/expressions/atom.rs
@@ -89,7 +89,7 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
89 WHILE_KW => while_expr(p, Some(m)), 89 WHILE_KW => while_expr(p, Some(m)),
90 L_CURLY => block_expr(p, Some(m)), 90 L_CURLY => block_expr(p, Some(m)),
91 _ => { 91 _ => {
92 // test misplaced_label_err 92 // test_err misplaced_label_err
93 // fn main() { 93 // fn main() {
94 // 'loop: impl 94 // 'loop: impl
95 // } 95 // }
@@ -354,7 +354,7 @@ pub(crate) fn match_arm_list(p: &mut Parser) {
354// fn foo() { 354// fn foo() {
355// match () { 355// match () {
356// _ => (), 356// _ => (),
357// _ if Test>{field: 0} => (), 357// _ if Test > Test{field: 0} => (),
358// X | Y if Z => (), 358// X | Y if Z => (),
359// | X | Y if Z => (), 359// | X | Y if Z => (),
360// | X => (), 360// | X => (),
diff --git a/crates/ra_syntax/src/grammar/items.rs b/crates/ra_syntax/src/grammar/items.rs
index 4473c2fab..b646dd070 100644
--- a/crates/ra_syntax/src/grammar/items.rs
+++ b/crates/ra_syntax/src/grammar/items.rs
@@ -89,7 +89,7 @@ pub(super) fn maybe_item(p: &mut Parser, flavor: ItemFlavor) -> MaybeItem {
89 // modifiers 89 // modifiers
90 has_mods |= p.eat(CONST_KW); 90 has_mods |= p.eat(CONST_KW);
91 91
92 // test unsafe_block_in_mod 92 // test_err unsafe_block_in_mod
93 // fn foo(){} unsafe { } fn bar(){} 93 // fn foo(){} unsafe { } fn bar(){}
94 if p.at(UNSAFE_KW) && p.nth(1) != L_CURLY { 94 if p.at(UNSAFE_KW) && p.nth(1) != L_CURLY {
95 p.eat(UNSAFE_KW); 95 p.eat(UNSAFE_KW);
diff --git a/crates/ra_syntax/src/grammar/items/traits.rs b/crates/ra_syntax/src/grammar/items/traits.rs
index 31258c253..d4da8b2f7 100644
--- a/crates/ra_syntax/src/grammar/items/traits.rs
+++ b/crates/ra_syntax/src/grammar/items/traits.rs
@@ -116,7 +116,7 @@ fn choose_type_params_over_qpath(p: &Parser) -> bool {
116 && (p.nth(2) == R_ANGLE || p.nth(2) == COMMA || p.nth(2) == COLON || p.nth(2) == EQ) 116 && (p.nth(2) == R_ANGLE || p.nth(2) == COMMA || p.nth(2) == COLON || p.nth(2) == EQ)
117} 117}
118 118
119// test impl_type 119// test_err impl_type
120// impl Type {} 120// impl Type {}
121// impl Trait1 for T {} 121// impl Trait1 for T {}
122// impl impl NotType {} 122// impl impl NotType {}
diff --git a/crates/ra_syntax/src/grammar/items/use_item.rs b/crates/ra_syntax/src/grammar/items/use_item.rs
index b3c78f351..5111d37eb 100644
--- a/crates/ra_syntax/src/grammar/items/use_item.rs
+++ b/crates/ra_syntax/src/grammar/items/use_item.rs
@@ -74,7 +74,7 @@ fn use_tree(p: &mut Parser) {
74 // other::path as some_other_name, 74 // other::path as some_other_name,
75 // different::path as different_name, 75 // different::path as different_name,
76 // yet::another::path, 76 // yet::another::path,
77 // running::out::of::synonyms::for::different::* 77 // running::out::of::synonyms::for_::different::*
78 // }; 78 // };
79 opt_alias(p); 79 opt_alias(p);
80 } 80 }
diff --git a/crates/ra_syntax/src/grammar/type_args.rs b/crates/ra_syntax/src/grammar/type_args.rs
index 29ff6e534..f889419c5 100644
--- a/crates/ra_syntax/src/grammar/type_args.rs
+++ b/crates/ra_syntax/src/grammar/type_args.rs
@@ -26,7 +26,7 @@ pub(super) fn opt_type_arg_list(p: &mut Parser, colon_colon_required: bool) {
26} 26}
27 27
28// test type_arg 28// test type_arg
29// type A = B<'static, i32, Item=u64> 29// type A = B<'static, i32, Item=u64>;
30fn type_arg(p: &mut Parser) { 30fn type_arg(p: &mut Parser) {
31 let m = p.start(); 31 let m = p.start();
32 match p.current() { 32 match p.current() {
diff --git a/crates/ra_syntax/src/grammar/type_params.rs b/crates/ra_syntax/src/grammar/type_params.rs
index f4c98675c..863f8e00c 100644
--- a/crates/ra_syntax/src/grammar/type_params.rs
+++ b/crates/ra_syntax/src/grammar/type_params.rs
@@ -108,7 +108,7 @@ pub(super) fn opt_where_clause(p: &mut Parser) {
108 break; 108 break;
109 } 109 }
110 where_predicate(p); 110 where_predicate(p);
111 if p.current() != L_CURLY && p.current() != SEMI { 111 if p.current() != L_CURLY && p.current() != SEMI && p.current() != EQ {
112 p.expect(COMMA); 112 p.expect(COMMA);
113 } 113 }
114 } 114 }
diff --git a/crates/ra_syntax/src/grammar/types.rs b/crates/ra_syntax/src/grammar/types.rs
index 811d399d4..a933b986b 100644
--- a/crates/ra_syntax/src/grammar/types.rs
+++ b/crates/ra_syntax/src/grammar/types.rs
@@ -97,7 +97,7 @@ fn pointer_type(p: &mut Parser) {
97 // type C = *mut (); 97 // type C = *mut ();
98 MUT_KW | CONST_KW => p.bump(), 98 MUT_KW | CONST_KW => p.bump(),
99 _ => { 99 _ => {
100 // test pointer_type_no_mutability 100 // test_err pointer_type_no_mutability
101 // type T = *(); 101 // type T = *();
102 p.error( 102 p.error(
103 "expected mut or const in raw pointer type \ 103 "expected mut or const in raw pointer type \
@@ -132,7 +132,7 @@ fn array_or_slice_type(p: &mut Parser) {
132 p.expect(R_BRACK); 132 p.expect(R_BRACK);
133 ARRAY_TYPE 133 ARRAY_TYPE
134 } 134 }
135 // test array_type_missing_semi 135 // test_err array_type_missing_semi
136 // type T = [() 92]; 136 // type T = [() 92];
137 _ => { 137 _ => {
138 p.error("expected `;` or `]`"); 138 p.error("expected `;` or `]`");
@@ -175,7 +175,7 @@ fn fn_pointer_type(p: &mut Parser) {
175 if p.at(EXTERN_KW) { 175 if p.at(EXTERN_KW) {
176 abi(p); 176 abi(p);
177 } 177 }
178 // test fn_pointer_type_missing_fn 178 // test_err fn_pointer_type_missing_fn
179 // type F = unsafe (); 179 // type F = unsafe ();
180 if !p.eat(FN_KW) { 180 if !p.eat(FN_KW) {
181 m.abandon(p); 181 m.abandon(p);
diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.rs b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs
index 2a70ee83a..781047ba1 100644
--- a/crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.rs
+++ b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.rs
@@ -13,4 +13,3 @@ fn test_use_tree_merge() {
13 ); 13 );
14 } 14 }
15} 15}
16
diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.txt b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt
index caff8df76..12919fab7 100644
--- a/crates/ra_syntax/tests/data/parser/ok/0034_macro_2.0.txt
+++ b/crates/ra_syntax/tests/data/parser/err/0028_macro_2.0.txt
@@ -1,4 +1,4 @@
1SOURCE_FILE@[0; 350) 1SOURCE_FILE@[0; 349)
2 MACRO_CALL@[0; 41) 2 MACRO_CALL@[0; 41)
3 PATH@[0; 5) 3 PATH@[0; 5)
4 PATH_SEGMENT@[0; 5) 4 PATH_SEGMENT@[0; 5)
@@ -314,4 +314,4 @@ SOURCE_FILE@[0; 350)
314 R_CURLY@[345; 346) 314 R_CURLY@[345; 346)
315 WHITESPACE@[346; 347) 315 WHITESPACE@[346; 347)
316 R_CURLY@[347; 348) 316 R_CURLY@[347; 348)
317 WHITESPACE@[348; 350) 317 WHITESPACE@[348; 349)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs b/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs
deleted file mode 100644
index f0c8cc3a8..000000000
--- a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.rs
+++ /dev/null
@@ -1 +0,0 @@
1type A = B<'static, i32, Item=u64>
diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt b/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt
deleted file mode 100644
index 8c1340c4a..000000000
--- a/crates/ra_syntax/tests/data/parser/inline/0063_lambda_expr.txt
+++ /dev/null
@@ -1,91 +0,0 @@
1SOURCE_FILE@[0; 74)
2 FN_DEF@[0; 74)
3 FN_KW@[0; 2)
4 NAME@[2; 6)
5 WHITESPACE@[2; 3)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 9)
8 L_PAREN@[6; 7)
9 R_PAREN@[7; 8)
10 WHITESPACE@[8; 9)
11 BLOCK_EXPR@[9; 74)
12 L_CURLY@[9; 10)
13 EXPR_STMT@[10; 26)
14 LAMBDA_EXPR@[10; 20)
15 PARAM_LIST@[10; 18)
16 WHITESPACE@[10; 15)
17 PIPE@[15; 16)
18 PIPE@[16; 17)
19 WHITESPACE@[17; 18)
20 TUPLE_EXPR@[18; 20)
21 L_PAREN@[18; 19)
22 R_PAREN@[19; 20)
23 SEMI@[20; 21)
24 WHITESPACE@[21; 26)
25 EXPR_STMT@[26; 48)
26 LAMBDA_EXPR@[26; 42)
27 PARAM_LIST@[26; 29)
28 PIPE@[26; 27)
29 PIPE@[27; 28)
30 WHITESPACE@[28; 29)
31 THIN_ARROW@[29; 31)
32 PATH_TYPE@[31; 36)
33 PATH@[31; 36)
34 PATH_SEGMENT@[31; 36)
35 NAME_REF@[31; 36)
36 WHITESPACE@[31; 32)
37 IDENT@[32; 35) "i32"
38 WHITESPACE@[35; 36)
39 BLOCK_EXPR@[36; 42)
40 L_CURLY@[36; 37)
41 LITERAL@[37; 41)
42 WHITESPACE@[37; 38)
43 INT_NUMBER@[38; 40) "92"
44 WHITESPACE@[40; 41)
45 R_CURLY@[41; 42)
46 SEMI@[42; 43)
47 WHITESPACE@[43; 48)
48 EXPR_STMT@[48; 59)
49 LAMBDA_EXPR@[48; 53)
50 PARAM_LIST@[48; 52)
51 PIPE@[48; 49)
52 PARAM@[49; 50)
53 BIND_PAT@[49; 50)
54 NAME@[49; 50)
55 IDENT@[49; 50) "x"
56 PIPE@[50; 51)
57 WHITESPACE@[51; 52)
58 PATH_EXPR@[52; 53)
59 PATH@[52; 53)
60 PATH_SEGMENT@[52; 53)
61 NAME_REF@[52; 53)
62 IDENT@[52; 53) "x"
63 SEMI@[53; 54)
64 WHITESPACE@[54; 59)
65 EXPR_STMT@[59; 72)
66 LAMBDA_EXPR@[59; 70)
67 PARAM_LIST@[59; 69)
68 PIPE@[59; 60)
69 PARAM@[60; 66)
70 BIND_PAT@[60; 61)
71 NAME@[60; 61)
72 IDENT@[60; 61) "x"
73 COLON@[61; 62)
74 PATH_TYPE@[62; 66)
75 PATH@[62; 66)
76 PATH_SEGMENT@[62; 66)
77 NAME_REF@[62; 66)
78 WHITESPACE@[62; 63)
79 IDENT@[63; 66) "i32"
80 COMMA@[66; 67)
81 PIPE@[67; 68)
82 WHITESPACE@[68; 69)
83 PATH_EXPR@[69; 70)
84 PATH@[69; 70)
85 PATH_SEGMENT@[69; 70)
86 NAME_REF@[69; 70)
87 IDENT@[69; 70) "x"
88 SEMI@[70; 71)
89 WHITESPACE@[71; 72)
90 R_CURLY@[72; 73)
91 WHITESPACE@[73; 74)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt b/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt
deleted file mode 100644
index e5647765c..000000000
--- a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.txt
+++ /dev/null
@@ -1,148 +0,0 @@
1SOURCE_FILE@[0; 161)
2 FN_DEF@[0; 160)
3 FN_KW@[0; 2)
4 WHITESPACE@[2; 3)
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7)
9 R_PAREN@[7; 8)
10 WHITESPACE@[8; 9)
11 BLOCK@[9; 160)
12 L_CURLY@[9; 10)
13 WHITESPACE@[10; 15)
14 EXPR_STMT@[15; 158)
15 MATCH_EXPR@[15; 157)
16 MATCH_KW@[15; 20)
17 WHITESPACE@[20; 21)
18 TUPLE_EXPR@[21; 23)
19 L_PAREN@[21; 22)
20 R_PAREN@[22; 23)
21 WHITESPACE@[23; 24)
22 MATCH_ARM_LIST@[24; 157)
23 L_CURLY@[24; 25)
24 WHITESPACE@[25; 34)
25 MATCH_ARM@[34; 41)
26 PLACEHOLDER_PAT@[34; 35)
27 UNDERSCORE@[34; 35)
28 WHITESPACE@[35; 36)
29 FAT_ARROW@[36; 38)
30 WHITESPACE@[38; 39)
31 TUPLE_EXPR@[39; 41)
32 L_PAREN@[39; 40)
33 R_PAREN@[40; 41)
34 COMMA@[41; 42)
35 WHITESPACE@[42; 51)
36 MATCH_ARM@[51; 77)
37 PLACEHOLDER_PAT@[51; 52)
38 UNDERSCORE@[51; 52)
39 WHITESPACE@[52; 53)
40 IF_KW@[53; 55)
41 WHITESPACE@[55; 56)
42 BIN_EXPR@[56; 71)
43 PATH_EXPR@[56; 60)
44 PATH@[56; 60)
45 PATH_SEGMENT@[56; 60)
46 NAME_REF@[56; 60)
47 IDENT@[56; 60) "Test"
48 R_ANGLE@[60; 61)
49 BLOCK_EXPR@[61; 71)
50 BLOCK@[61; 71)
51 L_CURLY@[61; 62)
52 EXPR_STMT@[62; 67)
53 PATH_EXPR@[62; 67)
54 PATH@[62; 67)
55 PATH_SEGMENT@[62; 67)
56 NAME_REF@[62; 67)
57 IDENT@[62; 67) "field"
58 err: `expected SEMI`
59 err: `expected expression`
60 EXPR_STMT@[67; 68)
61 ERROR@[67; 68)
62 COLON@[67; 68)
63 err: `expected SEMI`
64 WHITESPACE@[68; 69)
65 LITERAL@[69; 70)
66 INT_NUMBER@[69; 70) "0"
67 R_CURLY@[70; 71)
68 WHITESPACE@[71; 72)
69 FAT_ARROW@[72; 74)
70 WHITESPACE@[74; 75)
71 TUPLE_EXPR@[75; 77)
72 L_PAREN@[75; 76)
73 R_PAREN@[76; 77)
74 COMMA@[77; 78)
75 WHITESPACE@[78; 87)
76 MATCH_ARM@[87; 103)
77 BIND_PAT@[87; 88)
78 NAME@[87; 88)
79 IDENT@[87; 88) "X"
80 WHITESPACE@[88; 89)
81 PIPE@[89; 90)
82 WHITESPACE@[90; 91)
83 BIND_PAT@[91; 92)
84 NAME@[91; 92)
85 IDENT@[91; 92) "Y"
86 WHITESPACE@[92; 93)
87 IF_KW@[93; 95)
88 WHITESPACE@[95; 96)
89 PATH_EXPR@[96; 97)
90 PATH@[96; 97)
91 PATH_SEGMENT@[96; 97)
92 NAME_REF@[96; 97)
93 IDENT@[96; 97) "Z"
94 WHITESPACE@[97; 98)
95 FAT_ARROW@[98; 100)
96 WHITESPACE@[100; 101)
97 TUPLE_EXPR@[101; 103)
98 L_PAREN@[101; 102)
99 R_PAREN@[102; 103)
100 COMMA@[103; 104)
101 WHITESPACE@[104; 113)
102 MATCH_ARM@[113; 131)
103 PIPE@[113; 114)
104 WHITESPACE@[114; 115)
105 BIND_PAT@[115; 116)
106 NAME@[115; 116)
107 IDENT@[115; 116) "X"
108 WHITESPACE@[116; 117)
109 PIPE@[117; 118)
110 WHITESPACE@[118; 119)
111 BIND_PAT@[119; 120)
112 NAME@[119; 120)
113 IDENT@[119; 120) "Y"
114 WHITESPACE@[120; 121)
115 IF_KW@[121; 123)
116 WHITESPACE@[123; 124)
117 PATH_EXPR@[124; 125)
118 PATH@[124; 125)
119 PATH_SEGMENT@[124; 125)
120 NAME_REF@[124; 125)
121 IDENT@[124; 125) "Z"
122 WHITESPACE@[125; 126)
123 FAT_ARROW@[126; 128)
124 WHITESPACE@[128; 129)
125 TUPLE_EXPR@[129; 131)
126 L_PAREN@[129; 130)
127 R_PAREN@[130; 131)
128 COMMA@[131; 132)
129 WHITESPACE@[132; 141)
130 MATCH_ARM@[141; 150)
131 PIPE@[141; 142)
132 WHITESPACE@[142; 143)
133 BIND_PAT@[143; 144)
134 NAME@[143; 144)
135 IDENT@[143; 144) "X"
136 WHITESPACE@[144; 145)
137 FAT_ARROW@[145; 147)
138 WHITESPACE@[147; 148)
139 TUPLE_EXPR@[148; 150)
140 L_PAREN@[148; 149)
141 R_PAREN@[149; 150)
142 COMMA@[150; 151)
143 WHITESPACE@[151; 156)
144 R_CURLY@[156; 157)
145 SEMI@[157; 158)
146 WHITESPACE@[158; 159)
147 R_CURLY@[159; 160)
148 WHITESPACE@[160; 161)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs b/crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.rs
index a94851443..a94851443 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt b/crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.txt
index 036363587..036363587 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0023_array_type_missing_semi.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0001_array_type_missing_semi.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs b/crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.rs
index a2164c510..a2164c510 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt b/crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.txt
index 75533ecc1..75533ecc1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0108_misplaced_label_err.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0002_misplaced_label_err.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs b/crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.rs
index fae705131..fae705131 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt b/crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.txt
index 189aa563e..189aa563e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0021_pointer_type_no_mutability.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0003_pointer_type_no_mutability.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0111_impl_type.rs b/crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.rs
index b8c7b65e3..b8c7b65e3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0111_impl_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0111_impl_type.txt b/crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.txt
index 7279d5cae..7279d5cae 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0111_impl_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0004_impl_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs b/crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs
index f014914ff..f014914ff 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt b/crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt
index f97db4bff..f97db4bff 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0029_fn_pointer_type_missing_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0005_fn_pointer_type_missing_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs b/crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.rs
index 26141e904..26141e904 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt b/crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.txt
index d2da2bad7..d2da2bad7 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0013_unsafe_block_in_mod.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/err/0006_unsafe_block_in_mod.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.rs
index a5ec3239f..a5ec3239f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.txt
index 998ac3da9..998ac3da9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0049_trait_item_list.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0001_trait_item_list.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.rs
index 06c387cee..06c387cee 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.txt
index 89a0b9f2a..89a0b9f2a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0118_use_tree_list.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0002_use_tree_list.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.rs
index b448c6178..b448c6178 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.txt
index 921bdacf4..921bdacf4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0113_where_pred_for.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0003_where_pred_for.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.rs
index d8c23c76a..d8c23c76a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.txt
index f2d7e866b..f2d7e866b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0096_value_parameters_no_patterns.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0004_value_parameters_no_patterns.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.rs
index 9df40ed39..9df40ed39 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.txt
index b20f13267..b20f13267 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0060_function_type_params.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0005_function_type_params.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.rs
index 80c0a43f5..80c0a43f5 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.txt
index 53027c852..53027c852 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0055_self_param.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0006_self_param.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.rs
index 919bde0ee..919bde0ee 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.txt
index 745cf8798..745cf8798 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0041_type_param_bounds.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0007_type_param_bounds.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.rs
index f6e32c7c1..f6e32c7c1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.txt
index 0020cfb4d..0020cfb4d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0072_path_part.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0008_path_part.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.rs
index 9f078fa48..9f078fa48 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.txt
index c3c64c322..c3c64c322 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0084_loop_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0009_loop_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.rs
index 26a9ccd1e..26a9ccd1e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.txt
index 7e79c2280..7e79c2280 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0003_extern_block.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0010_extern_block.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.rs
index 3e69538e5..3e69538e5 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.txt
index 03fbf092b..03fbf092b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0052_field_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0011_field_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.rs
index a602d07f0..a602d07f0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.txt
index f38b2f79a..dbb705acf 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0016_type_item_where_clause.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0012_type_item_where_clause.txt
@@ -21,7 +21,6 @@ SOURCE_FILE@[0; 31)
21 PATH_SEGMENT@[20; 24) 21 PATH_SEGMENT@[20; 24)
22 NAME_REF@[20; 24) 22 NAME_REF@[20; 24)
23 IDENT@[20; 24) "Copy" 23 IDENT@[20; 24) "Copy"
24 err: `expected COMMA`
25 WHITESPACE@[24; 25) 24 WHITESPACE@[24; 25)
26 EQ@[25; 26) 25 EQ@[25; 26)
27 WHITESPACE@[26; 27) 26 WHITESPACE@[26; 27)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.rs
index 04b2bb9ba..04b2bb9ba 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.txt
index 149cd571d..149cd571d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0022_pointer_type_mut.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0013_pointer_type_mut.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.rs
index de399fcf4..de399fcf4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.txt
index e0cae644d..e0cae644d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0020_never_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0014_never_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.rs
index 474cc3f0e..474cc3f0e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.txt
index 39be5b2c8..39be5b2c8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0105_continue_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0015_continue_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.rs
index 04e021550..04e021550 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.txt
index 3669c93a8..3669c93a8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0007_unsafe_trait.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0016_unsafe_trait.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.rs
index 27eb22f22..27eb22f22 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.txt
index 2c2b615fc..2c2b615fc 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0024_array_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0017_array_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.rs
index 6a170d5ac..6a170d5ac 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.txt
index b2f04ea7b..b2f04ea7b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0104_arb_self_types.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0018_arb_self_types.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.rs
index f1c3f7118..f1c3f7118 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.txt
index 72d7d8bfb..72d7d8bfb 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0074_unary_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0019_unary_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0116_use_star.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.rs
index 6f15769a8..6f15769a8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0116_use_star.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0116_use_star.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.txt
index 2db3cbf9e..2db3cbf9e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0116_use_star.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0020_use_star.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.rs
index f10851487..f10851487 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.txt
index b15f93cd2..b15f93cd2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0073_impl_item_list.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0021_impl_item_list.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.rs
index faeefde94..faeefde94 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.txt
index 7d137cfe9..7d137cfe9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0037_crate_visibility.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0022_crate_visibility.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.rs
index 7952dbd57..7952dbd57 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.txt
index 43ada95d4..43ada95d4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0027_placeholder_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0023_placeholder_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.rs
index 7955973b9..7955973b9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.txt
index 72987308d..72987308d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0089_slice_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0024_slice_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.rs
index 4da1af827..4da1af827 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.txt
index db18c7139..db18c7139 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0025_slice_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0025_slice_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.rs
index 0dfe63629..0dfe63629 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.txt
index 737fbec22..737fbec22 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0071_tuple_pat_fields.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0026_tuple_pat_fields.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.rs
index de41f5cae..de41f5cae 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.txt
index 008f4f159..008f4f159 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0035_ref_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0027_ref_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.rs
index 54c5a7c46..54c5a7c46 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.txt
index efd4dd42a..efd4dd42a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0063_impl_trait_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0028_impl_trait_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.rs
index b571a5860..b571a5860 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.txt
index cb56aef0b..cb56aef0b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0079_cast_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0029_cast_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0076_cond.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs
index fdb37ee6f..fdb37ee6f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0076_cond.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0076_cond.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt
index 641a09fff..641a09fff 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0076_cond.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.rs
index 293046a04..293046a04 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.txt
index f9b074e82..f9b074e82 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0077_while_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0031_while_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.rs
index c9bf3bdb4..c9bf3bdb4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.txt
index 0c508ec27..0c508ec27 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0028_fn_pointer_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0032_fn_pointer_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.rs
index 3ac0badab..3ac0badab 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.txt
index 7f35254d1..7f35254d1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0026_reference_type;.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0033_reference_type;.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.rs
index 1b4094636..1b4094636 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.txt
index 1877311e8..1877311e8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0106_break_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0034_break_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.rs
index d9d99d2d3..d9d99d2d3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.txt
index de20eee7a..de20eee7a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0068_pub_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0035_pub_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.rs
index 1295c2cd2..1295c2cd2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.txt
index 0cde40595..0cde40595 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0012_unsafe_extern_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0036_unsafe_extern_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.rs
index d140692e2..d140692e2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.txt
index 394fc7f5b..394fc7f5b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0101_qual_paths.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0037_qual_paths.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.rs
index ae21ad94c..ae21ad94c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.txt
index caef145ce..caef145ce 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0102_full_range_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0038_full_range_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.rs
new file mode 100644
index 000000000..385c43131
--- /dev/null
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.rs
@@ -0,0 +1 @@
type A = B<'static, i32, Item=u64>;
diff --git a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.txt
index 086a74bdb..ccef7188f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0058_type_arg.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0039_type_arg.txt
@@ -1,5 +1,5 @@
1SOURCE_FILE@[0; 35) 1SOURCE_FILE@[0; 36)
2 TYPE_DEF@[0; 34) 2 TYPE_DEF@[0; 35)
3 TYPE_KW@[0; 4) 3 TYPE_KW@[0; 4)
4 WHITESPACE@[4; 5) 4 WHITESPACE@[4; 5)
5 NAME@[5; 6) 5 NAME@[5; 6)
@@ -36,5 +36,5 @@ SOURCE_FILE@[0; 35)
36 NAME_REF@[30; 33) 36 NAME_REF@[30; 33)
37 IDENT@[30; 33) "u64" 37 IDENT@[30; 33) "u64"
38 R_ANGLE@[33; 34) 38 R_ANGLE@[33; 34)
39 err: `expected SEMI` 39 SEMI@[34; 35)
40 WHITESPACE@[34; 35) 40 WHITESPACE@[35; 36)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.rs
index 660d927cf..660d927cf 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.txt
index ff5add838..ff5add838 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0099_crate_keyword_vis.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0040_crate_keyword_vis.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.rs
index 4385afca9..4385afca9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.txt
index 333a737ec..333a737ec 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0056_trait_item.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0041_trait_item.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs
index 0c9a20718..0c9a20718 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt
index 6364dc73c..6364dc73c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0043_call_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0042_call_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0115_use_alias.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.rs
index c7a141bbd..544caa020 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0115_use_alias.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.rs
@@ -3,5 +3,5 @@ use some::{
3 other::path as some_other_name, 3 other::path as some_other_name,
4 different::path as different_name, 4 different::path as different_name,
5 yet::another::path, 5 yet::another::path,
6 running::out::of::synonyms::for::different::* 6 running::out::of::synonyms::for_::different::*
7}; 7};
diff --git a/crates/ra_syntax/tests/data/parser/inline/0115_use_alias.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.txt
index f7b599476..8ef0ecbc6 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0115_use_alias.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0043_use_alias.txt
@@ -1,4 +1,4 @@
1SOURCE_FILE@[0; 181) 1SOURCE_FILE@[0; 182)
2 USE_ITEM@[0; 28) 2 USE_ITEM@[0; 28)
3 USE_KW@[0; 3) 3 USE_KW@[0; 3)
4 WHITESPACE@[3; 4) 4 WHITESPACE@[3; 4)
@@ -20,16 +20,16 @@ SOURCE_FILE@[0; 181)
20 IDENT@[18; 27) "some_name" 20 IDENT@[18; 27) "some_name"
21 SEMI@[27; 28) 21 SEMI@[27; 28)
22 WHITESPACE@[28; 29) 22 WHITESPACE@[28; 29)
23 USE_ITEM@[29; 180) 23 USE_ITEM@[29; 181)
24 USE_KW@[29; 32) 24 USE_KW@[29; 32)
25 WHITESPACE@[32; 33) 25 WHITESPACE@[32; 33)
26 USE_TREE@[33; 179) 26 USE_TREE@[33; 180)
27 PATH@[33; 37) 27 PATH@[33; 37)
28 PATH_SEGMENT@[33; 37) 28 PATH_SEGMENT@[33; 37)
29 NAME_REF@[33; 37) 29 NAME_REF@[33; 37)
30 IDENT@[33; 37) "some" 30 IDENT@[33; 37) "some"
31 COLONCOLON@[37; 39) 31 COLONCOLON@[37; 39)
32 USE_TREE_LIST@[39; 179) 32 USE_TREE_LIST@[39; 180)
33 L_CURLY@[39; 40) 33 L_CURLY@[39; 40)
34 WHITESPACE@[40; 42) 34 WHITESPACE@[40; 42)
35 USE_TREE@[42; 72) 35 USE_TREE@[42; 72)
@@ -85,9 +85,9 @@ SOURCE_FILE@[0; 181)
85 IDENT@[125; 129) "path" 85 IDENT@[125; 129) "path"
86 COMMA@[129; 130) 86 COMMA@[129; 130)
87 WHITESPACE@[130; 132) 87 WHITESPACE@[130; 132)
88 USE_TREE@[132; 177) 88 USE_TREE@[132; 178)
89 PATH@[132; 174) 89 PATH@[132; 175)
90 PATH@[132; 163) 90 PATH@[132; 164)
91 PATH@[132; 158) 91 PATH@[132; 158)
92 PATH@[132; 148) 92 PATH@[132; 148)
93 PATH@[132; 144) 93 PATH@[132; 144)
@@ -108,17 +108,16 @@ SOURCE_FILE@[0; 181)
108 NAME_REF@[150; 158) 108 NAME_REF@[150; 158)
109 IDENT@[150; 158) "synonyms" 109 IDENT@[150; 158) "synonyms"
110 COLONCOLON@[158; 160) 110 COLONCOLON@[158; 160)
111 err: `expected identifier` 111 PATH_SEGMENT@[160; 164)
112 PATH_SEGMENT@[160; 163) 112 NAME_REF@[160; 164)
113 ERROR@[160; 163) 113 IDENT@[160; 164) "for_"
114 FOR_KW@[160; 163) 114 COLONCOLON@[164; 166)
115 COLONCOLON@[163; 165) 115 PATH_SEGMENT@[166; 175)
116 PATH_SEGMENT@[165; 174) 116 NAME_REF@[166; 175)
117 NAME_REF@[165; 174) 117 IDENT@[166; 175) "different"
118 IDENT@[165; 174) "different" 118 COLONCOLON@[175; 177)
119 COLONCOLON@[174; 176) 119 STAR@[177; 178)
120 STAR@[176; 177) 120 WHITESPACE@[178; 179)
121 WHITESPACE@[177; 178) 121 R_CURLY@[179; 180)
122 R_CURLY@[178; 179) 122 SEMI@[180; 181)
123 SEMI@[179; 180) 123 WHITESPACE@[181; 182)
124 WHITESPACE@[180; 181)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.rs
index d9868718c..d9868718c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.txt
index dd1843ee5..dd1843ee5 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0053_block_items.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0044_block_items.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.rs
index 9b93442c0..9b93442c0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.txt
index 2ce7a6714..2ce7a6714 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0097_param_list_opt_patterns.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0045_param_list_opt_patterns.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.rs
index cb66bad24..cb66bad24 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.txt
index 173c325d0..173c325d0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0019_singleton_tuple_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0046_singleton_tuple_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.rs
index 9cd6c57bd..9cd6c57bd 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.txt
index 6003ba645..6003ba645 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0010_unsafe_default_impl.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0047_unsafe_default_impl.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs
index 215210e27..215210e27 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt
index 911a27ea1..911a27ea1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0095_path_type_with_bounds.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0048_path_type_with_bounds.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.rs
index 0a9af907f..0a9af907f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.txt
index 9c2aad7e0..9c2aad7e0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0050_let_stmt;.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0049_let_stmt;.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.rs
index c9f74f7f5..c9f74f7f5 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.txt
index bb87e1d06..bb87e1d06 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0091_fn_decl.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0050_fn_decl.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.rs
index c039cf7d3..c039cf7d3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.txt
index 9fd19ba4a..9fd19ba4a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0018_unit_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0051_unit_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.rs
index bf94f32e1..bf94f32e1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.txt
index b72b96e95..b72b96e95 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0032_path_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0052_path_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.rs
index 333ebabef..333ebabef 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.txt
index 673ea1d3d..673ea1d3d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0039_path_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0053_path_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.rs
index 4744d8ac0..4744d8ac0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.txt
index e02ebf400..e02ebf400 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0103_field_attrs.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0054_field_attrs.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.rs
index 16f674d9d..16f674d9d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.txt
index 99b289d56..99b289d56 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0092_literal_pattern.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0055_literal_pattern.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.rs
index 592a005f9..592a005f9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.txt
index 54c3d64f1..54c3d64f1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0098_where_clause.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0056_where_clause.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.rs
index 8c84d9cd7..8c84d9cd7 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.txt
index 8206d973b..8206d973b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0002_const_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0057_const_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.rs
index c12ab6fce..c12ab6fce 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.txt
index d47f38903..d47f38903 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0094_range_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0058_range_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.rs
index 1f25d577a..1f25d577a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.txt
index 1034846c8..1034846c8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0085_match_arms_commas.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0059_match_arms_commas.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.rs
index 49af74e1b..49af74e1b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.txt
index 7ffdc7fbd..7ffdc7fbd 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0005_extern_crate.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0060_extern_crate.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.rs
index eb711f68a..eb711f68a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.txt
index aec25403d..aec25403d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0061_struct_lit.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0061_struct_lit.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.rs
index 24a15c5c5..24a15c5c5 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.txt
index 62528ca47..62528ca47 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0078_mod_contents.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0062_mod_contents.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.rs
index b7527c870..b7527c870 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.txt
index b83db380e..b83db380e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0048_impl_item_neg.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0063_impl_item_neg.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.rs
index 4b0d9af89..4b0d9af89 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.txt
index 637d23d9e..637d23d9e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0065_if_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0064_if_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.rs
index c3ecabb99..c3ecabb99 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.txt
index d07fe70b2..d07fe70b2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0100_dyn_trait_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0065_dyn_trait_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.rs
index 3380fa4ca..9e009e24f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0069_match_arm.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.rs
@@ -1,7 +1,7 @@
1fn foo() { 1fn foo() {
2 match () { 2 match () {
3 _ => (), 3 _ => (),
4 _ if Test>{field: 0} => (), 4 _ if Test > Test{field: 0} => (),
5 X | Y if Z => (), 5 X | Y if Z => (),
6 | X | Y if Z => (), 6 | X | Y if Z => (),
7 | X => (), 7 | X => (),
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.txt
new file mode 100644
index 000000000..98e7535a3
--- /dev/null
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0066_match_arm.txt
@@ -0,0 +1,146 @@
1SOURCE_FILE@[0; 167)
2 FN_DEF@[0; 166)
3 FN_KW@[0; 2)
4 WHITESPACE@[2; 3)
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7)
9 R_PAREN@[7; 8)
10 WHITESPACE@[8; 9)
11 BLOCK@[9; 166)
12 L_CURLY@[9; 10)
13 WHITESPACE@[10; 15)
14 EXPR_STMT@[15; 164)
15 MATCH_EXPR@[15; 163)
16 MATCH_KW@[15; 20)
17 WHITESPACE@[20; 21)
18 TUPLE_EXPR@[21; 23)
19 L_PAREN@[21; 22)
20 R_PAREN@[22; 23)
21 WHITESPACE@[23; 24)
22 MATCH_ARM_LIST@[24; 163)
23 L_CURLY@[24; 25)
24 WHITESPACE@[25; 34)
25 MATCH_ARM@[34; 41)
26 PLACEHOLDER_PAT@[34; 35)
27 UNDERSCORE@[34; 35)
28 WHITESPACE@[35; 36)
29 FAT_ARROW@[36; 38)
30 WHITESPACE@[38; 39)
31 TUPLE_EXPR@[39; 41)
32 L_PAREN@[39; 40)
33 R_PAREN@[40; 41)
34 COMMA@[41; 42)
35 WHITESPACE@[42; 51)
36 MATCH_ARM@[51; 83)
37 PLACEHOLDER_PAT@[51; 52)
38 UNDERSCORE@[51; 52)
39 WHITESPACE@[52; 53)
40 IF_KW@[53; 55)
41 WHITESPACE@[55; 56)
42 BIN_EXPR@[56; 77)
43 PATH_EXPR@[56; 60)
44 PATH@[56; 60)
45 PATH_SEGMENT@[56; 60)
46 NAME_REF@[56; 60)
47 IDENT@[56; 60) "Test"
48 WHITESPACE@[60; 61)
49 R_ANGLE@[61; 62)
50 WHITESPACE@[62; 63)
51 STRUCT_LIT@[63; 77)
52 PATH@[63; 67)
53 PATH_SEGMENT@[63; 67)
54 NAME_REF@[63; 67)
55 IDENT@[63; 67) "Test"
56 NAMED_FIELD_LIST@[67; 77)
57 L_CURLY@[67; 68)
58 NAMED_FIELD@[68; 76)
59 NAME_REF@[68; 73)
60 IDENT@[68; 73) "field"
61 COLON@[73; 74)
62 WHITESPACE@[74; 75)
63 LITERAL@[75; 76)
64 INT_NUMBER@[75; 76) "0"
65 R_CURLY@[76; 77)
66 WHITESPACE@[77; 78)
67 FAT_ARROW@[78; 80)
68 WHITESPACE@[80; 81)
69 TUPLE_EXPR@[81; 83)
70 L_PAREN@[81; 82)
71 R_PAREN@[82; 83)
72 COMMA@[83; 84)
73 WHITESPACE@[84; 93)
74 MATCH_ARM@[93; 109)
75 BIND_PAT@[93; 94)
76 NAME@[93; 94)
77 IDENT@[93; 94) "X"
78 WHITESPACE@[94; 95)
79 PIPE@[95; 96)
80 WHITESPACE@[96; 97)
81 BIND_PAT@[97; 98)
82 NAME@[97; 98)
83 IDENT@[97; 98) "Y"
84 WHITESPACE@[98; 99)
85 IF_KW@[99; 101)
86 WHITESPACE@[101; 102)
87 PATH_EXPR@[102; 103)
88 PATH@[102; 103)
89 PATH_SEGMENT@[102; 103)
90 NAME_REF@[102; 103)
91 IDENT@[102; 103) "Z"
92 WHITESPACE@[103; 104)
93 FAT_ARROW@[104; 106)
94 WHITESPACE@[106; 107)
95 TUPLE_EXPR@[107; 109)
96 L_PAREN@[107; 108)
97 R_PAREN@[108; 109)
98 COMMA@[109; 110)
99 WHITESPACE@[110; 119)
100 MATCH_ARM@[119; 137)
101 PIPE@[119; 120)
102 WHITESPACE@[120; 121)
103 BIND_PAT@[121; 122)
104 NAME@[121; 122)
105 IDENT@[121; 122) "X"
106 WHITESPACE@[122; 123)
107 PIPE@[123; 124)
108 WHITESPACE@[124; 125)
109 BIND_PAT@[125; 126)
110 NAME@[125; 126)
111 IDENT@[125; 126) "Y"
112 WHITESPACE@[126; 127)
113 IF_KW@[127; 129)
114 WHITESPACE@[129; 130)
115 PATH_EXPR@[130; 131)
116 PATH@[130; 131)
117 PATH_SEGMENT@[130; 131)
118 NAME_REF@[130; 131)
119 IDENT@[130; 131) "Z"
120 WHITESPACE@[131; 132)
121 FAT_ARROW@[132; 134)
122 WHITESPACE@[134; 135)
123 TUPLE_EXPR@[135; 137)
124 L_PAREN@[135; 136)
125 R_PAREN@[136; 137)
126 COMMA@[137; 138)
127 WHITESPACE@[138; 147)
128 MATCH_ARM@[147; 156)
129 PIPE@[147; 148)
130 WHITESPACE@[148; 149)
131 BIND_PAT@[149; 150)
132 NAME@[149; 150)
133 IDENT@[149; 150) "X"
134 WHITESPACE@[150; 151)
135 FAT_ARROW@[151; 153)
136 WHITESPACE@[153; 154)
137 TUPLE_EXPR@[154; 156)
138 L_PAREN@[154; 155)
139 R_PAREN@[155; 156)
140 COMMA@[156; 157)
141 WHITESPACE@[157; 162)
142 R_CURLY@[162; 163)
143 SEMI@[163; 164)
144 WHITESPACE@[164; 165)
145 R_CURLY@[165; 166)
146 WHITESPACE@[166; 167)
diff --git a/crates/ra_syntax/tests/data/parser/inline/0112_crate_path.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.rs
index 1bbb5930b..1bbb5930b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0112_crate_path.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0112_crate_path.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.txt
index 382286457..382286457 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0112_crate_path.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0067_crate_path.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.rs
index b7dd610d8..b7dd610d8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.txt
index 2d2fb1a0b..2d2fb1a0b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0110_union_items.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0068_union_items.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.rs
index c0a3d634e..c0a3d634e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.txt
index cac746e5b..cac746e5b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0117_use_tree_list_after_path.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0069_use_tree_list_after_path.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs
index 37b843742..37b843742 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt
index d8c599537..d8c599537 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0088_stmt_bin_expr_ambiguity.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.rs
index c9205dfa3..c9205dfa3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.txt
index cc22bd3b2..cc22bd3b2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0070_match_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0071_match_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.rs
index 5733666b6..5733666b6 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.txt
index f8d1db41c..f8d1db41c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0068_return_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0072_return_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.rs
index defd110c4..defd110c4 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.txt
index 89b34d4f1..89b34d4f1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0014_type_item_type_params.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0073_type_item_type_params.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs
index 2edd578f9..2edd578f9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt
index 48e0026af..48e0026af 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0087_stmt_postfix_expr_ambiguity.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0045_block.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0075_block.rs
index 81f44c533..81f44c533 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0045_block.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0075_block.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0045_block.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0075_block.txt
index c13e22b3a..c13e22b3a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0045_block.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0075_block.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.rs
index f0920b2a8..f0920b2a8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.txt
index b58d09e35..b58d09e35 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0059_function_where_clause.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0076_function_where_clause.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.rs
index 8b74f7bc8..8b74f7bc8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.txt
index f47e6da55..f47e6da55 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0075_try_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0077_try_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.rs
index 04c0344fa..04c0344fa 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.txt
index 4b66a05a6..4b66a05a6 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0015_type_item.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0078_type_item.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.rs
index d6337f6b3..d6337f6b3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.txt
index 1b9a8aa0e..1b9a8aa0e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0047_impl_item.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0079_impl_item.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.rs
index c39fe8e68..c39fe8e68 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.txt
index 415ff2a20..415ff2a20 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0083_postfix_range.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0080_postfix_range.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.rs
index 4d6a18c6b..4d6a18c6b 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.txt
index 843cc4973..843cc4973 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0031_for_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0081_for_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.rs
index 2dac6be95..2dac6be95 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.txt
index 2cd888762..2cd888762 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0044_ref_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0082_ref_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.rs
index 693e3f3ee..693e3f3ee 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.txt
index 058639375..058639375 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0109_struct_items.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0083_struct_items.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.rs
index 6e1b25101..6e1b25101 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.txt
index bd5feb6b3..bd5feb6b3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0017_paren_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0084_paren_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.rs
index 2e11a5a6e..2e11a5a6e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.txt
index 1d88f952d..1d88f952d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0040_expr_literals.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0085_expr_literals.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.rs
index d22d8cada..d22d8cada 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.txt
index 1edf9412f..1edf9412f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0038_function_ret_type.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0086_function_ret_type.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.rs
index 41055f41d..41055f41d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.txt
index f9c96c242..f9c96c242 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0008_unsafe_impl.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0087_unsafe_impl.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.rs
index 560eb05b9..560eb05b9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.txt
index 6032a6c17..6032a6c17 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0119_break_ambiguity.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0088_break_ambiguity.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.rs
index 394a049f0..394a049f0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.txt
index d2b26566d..d2b26566d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0004_extern_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0089_extern_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.rs
index 540eacb02..540eacb02 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.txt
index 59b3fbd2e..59b3fbd2e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0042_type_param_default.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0090_type_param_default.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.rs
index 72adf6035..72adf6035 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.txt
index 8b3ce28d0..8b3ce28d0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0057_auto_trait.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0091_auto_trait.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs
index e3ba5e87f..e3ba5e87f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt
index f092c6df7..f092c6df7 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0030_fn_pointer_type_with_ret.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0092_fn_pointer_type_with_ret.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.rs
index b9ba78a6c..b9ba78a6c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.txt
index 6e10be559..6e10be559 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0081_index_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0093_index_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.rs
index 03d29f324..03d29f324 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.txt
index b541ceff8..b541ceff8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0009_unsafe_auto_trait.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0094_unsafe_auto_trait.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.rs
index 4d719c433..4d719c433 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.txt
index 08ba391e3..08ba391e3 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0036_placeholder_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0095_placeholder_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.rs
index 4919665cb..4919665cb 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.txt
index 63b230091..63b230091 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0086_no_semi_after_block.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0096_no_semi_after_block.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.rs
index ef6aa84a2..ef6aa84a2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.txt
index f45b6251f..f45b6251f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0046_default_impl.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0097_default_impl.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.rs
index 31a1e435f..31a1e435f 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.txt
index 814c9f1a0..814c9f1a0 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0001_const_unsafe_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0098_const_unsafe_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.rs
index 9d55bedbb..9d55bedbb 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.txt
index 503fc97ff..503fc97ff 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0064_param_list.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0099_param_list.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.rs
index 972197d2a..972197d2a 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.txt
index 998f12110..998f12110 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0085_for_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0100_for_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.rs
index 33cfc4cd7..33cfc4cd7 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.txt
index 5498dbcbb..5498dbcbb 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0011_unsafe_fn.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0101_unsafe_fn.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.rs
index da3412fa8..da3412fa8 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.txt
index 13a51a9d9..13a51a9d9 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0054_field_pat_list.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0102_field_pat_list.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.rs
index 4dc1999d1..4dc1999d1 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.txt
index 42df7c450..42df7c450 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0086_array_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0103_array_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.rs
index aef45e561..aef45e561 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.txt
index ba1163c2d..ba1163c2d 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0093_path_fn_trait_args.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0104_path_fn_trait_args.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.rs
index 2fed74c5e..2fed74c5e 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.txt
index eeb184ab2..eeb184ab2 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0067_block_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0105_block_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.rs
index c20d29751..c20d29751 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.txt
index 98271c233..98271c233 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0066_lambda_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0106_lambda_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.rs
index 1a3aa35ae..1a3aa35ae 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.txt
index 51ecfdf78..51ecfdf78 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0051_method_call_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0107_method_call_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.rs
index e4f774280..e4f774280 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.txt
index 4e427c909..4e427c909 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0080_tuple_expr.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0108_tuple_expr.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0107_label.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0109_label.rs
index 48e83f263..48e83f263 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0107_label.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0109_label.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0107_label.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0109_label.txt
index c641c3b16..c641c3b16 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0107_label.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0109_label.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0114_use_path.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.rs
index 328e94736..328e94736 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0114_use_path.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0114_use_path.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.txt
index 420449e61..420449e61 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0114_use_path.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0110_use_path.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.rs
index f785acd36..f785acd36 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.txt
index 2471f6f8c..2471f6f8c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0082_tuple_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0111_tuple_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs
index 820a9e72c..820a9e72c 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.rs
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.rs
diff --git a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt
index 86f8154ea..86f8154ea 100644
--- a/crates/ra_syntax/tests/data/parser/inline/0034_bind_pat.txt
+++ b/crates/ra_syntax/tests/data/parser/inline/ok/0112_bind_pat.txt
diff --git a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt
index e3706bfbd..e59542ba1 100644
--- a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt
+++ b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt
@@ -79,34 +79,28 @@ SOURCE_FILE@[0; 153)
79 DOTDOT@[73; 75) 79 DOTDOT@[73; 75)
80 SEMI@[75; 76) 80 SEMI@[75; 76)
81 WHITESPACE@[76; 86) 81 WHITESPACE@[76; 86)
82 err: `expected expression` 82 EXPR_STMT@[86; 95)
83 EXPR_STMT@[86; 89) 83 RANGE_EXPR@[86; 94)
84 ERROR@[86; 89)
85 DOTDOTEQ@[86; 89) 84 DOTDOTEQ@[86; 89)
86 err: `expected SEMI` 85 BIN_EXPR@[89; 94)
87 EXPR_STMT@[89; 95) 86 LITERAL@[89; 90)
88 BIN_EXPR@[89; 94) 87 INT_NUMBER@[89; 90) "1"
89 LITERAL@[89; 90) 88 WHITESPACE@[90; 91)
90 INT_NUMBER@[89; 90) "1" 89 PLUS@[91; 92)
91 WHITESPACE@[90; 91) 90 WHITESPACE@[92; 93)
92 PLUS@[91; 92) 91 LITERAL@[93; 94)
93 WHITESPACE@[92; 93) 92 INT_NUMBER@[93; 94) "1"
94 LITERAL@[93; 94)
95 INT_NUMBER@[93; 94) "1"
96 SEMI@[94; 95) 93 SEMI@[94; 95)
97 WHITESPACE@[95; 100) 94 WHITESPACE@[95; 100)
98 err: `expected expression` 95 EXPR_STMT@[100; 109)
99 EXPR_STMT@[100; 103) 96 BIN_EXPR@[100; 108)
100 ERROR@[100; 103) 97 RANGE_EXPR@[100; 104)
101 DOTDOTEQ@[100; 103) 98 DOTDOTEQ@[100; 103)
102 err: `expected SEMI` 99 PATH_EXPR@[103; 104)
103 EXPR_STMT@[103; 109) 100 PATH@[103; 104)
104 BIN_EXPR@[103; 108) 101 PATH_SEGMENT@[103; 104)
105 PATH_EXPR@[103; 104) 102 NAME_REF@[103; 104)
106 PATH@[103; 104) 103 IDENT@[103; 104) "z"
107 PATH_SEGMENT@[103; 104)
108 NAME_REF@[103; 104)
109 IDENT@[103; 104) "z"
110 WHITESPACE@[104; 105) 104 WHITESPACE@[104; 105)
111 EQ@[105; 106) 105 EQ@[105; 106)
112 WHITESPACE@[106; 107) 106 WHITESPACE@[106; 107)
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs
index f1ed30220..f1ed30220 100644
--- a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs
+++ b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt
index 3995f476c..3995f476c 100644
--- a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt
+++ b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt
diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_macro_stuck.txt b/crates/ra_syntax/tests/data/parser/ok/0034_macro_stuck.txt
deleted file mode 100644
index cf9a1a2fa..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0034_macro_stuck.txt
+++ /dev/null
@@ -1,250 +0,0 @@
1SOURCE_FILE@[0; 350)
2 MACRO_CALL@[0; 41)
3 PATH@[0; 5)
4 PATH_SEGMENT@[0; 5)
5 NAME_REF@[0; 5)
6 IDENT@[0; 5) "macro"
7 err: `expected EXCL`
8 WHITESPACE@[5; 6)
9 IDENT@[6; 21) "parse_use_trees"
10 TOKEN_TREE@[21; 41)
11 L_PAREN@[21; 22)
12 DOLLAR@[22; 23)
13 TOKEN_TREE@[23; 32)
14 L_PAREN@[23; 24)
15 DOLLAR@[24; 25)
16 IDENT@[25; 26) "s"
17 COLON@[26; 27)
18 IDENT@[27; 31) "expr"
19 R_PAREN@[31; 32)
20 COMMA@[32; 33)
21 STAR@[33; 34)
22 WHITESPACE@[34; 35)
23 DOLLAR@[35; 36)
24 TOKEN_TREE@[36; 39)
25 L_PAREN@[36; 37)
26 COMMA@[37; 38)
27 R_PAREN@[38; 39)
28 STAR@[39; 40)
29 R_PAREN@[40; 41)
30 err: `expected SEMI`
31 WHITESPACE@[41; 42)
32 err: `expected an item`
33 ERROR@[42; 93)
34 L_CURLY@[42; 43)
35 WHITESPACE@[43; 48)
36 IDENT@[48; 51) "vec"
37 EXCL@[51; 52)
38 L_BRACK@[52; 53)
39 WHITESPACE@[53; 62)
40 DOLLAR@[62; 63)
41 L_PAREN@[63; 64)
42 IDENT@[64; 78) "parse_use_tree"
43 L_PAREN@[78; 79)
44 DOLLAR@[79; 80)
45 IDENT@[80; 81) "s"
46 R_PAREN@[81; 82)
47 COMMA@[82; 83)
48 R_PAREN@[83; 84)
49 STAR@[84; 85)
50 WHITESPACE@[85; 90)
51 R_BRACK@[90; 91)
52 WHITESPACE@[91; 92)
53 R_CURLY@[92; 93)
54 WHITESPACE@[93; 95)
55 FN_DEF@[95; 348)
56 ATTR@[95; 102)
57 POUND@[95; 96)
58 TOKEN_TREE@[96; 102)
59 L_BRACK@[96; 97)
60 IDENT@[97; 101) "test"
61 R_BRACK@[101; 102)
62 WHITESPACE@[102; 103)
63 FN_KW@[103; 105)
64 WHITESPACE@[105; 106)
65 NAME@[106; 125)
66 IDENT@[106; 125) "test_use_tree_merge"
67 PARAM_LIST@[125; 127)
68 L_PAREN@[125; 126)
69 R_PAREN@[126; 127)
70 WHITESPACE@[127; 128)
71 BLOCK@[128; 348)
72 L_CURLY@[128; 129)
73 WHITESPACE@[129; 134)
74 EXPR_STMT@[134; 139)
75 PATH_EXPR@[134; 139)
76 PATH@[134; 139)
77 PATH_SEGMENT@[134; 139)
78 NAME_REF@[134; 139)
79 IDENT@[134; 139) "macro"
80 err: `expected SEMI`
81 WHITESPACE@[139; 140)
82 EXPR_STMT@[140; 203)
83 CALL_EXPR@[140; 203)
84 PATH_EXPR@[140; 150)
85 PATH@[140; 150)
86 PATH_SEGMENT@[140; 150)
87 NAME_REF@[140; 150)
88 IDENT@[140; 150) "test_merge"
89 ARG_LIST@[150; 203)
90 L_PAREN@[150; 151)
91 ARRAY_EXPR@[151; 202)
92 L_BRACK@[151; 152)
93 err: `expected expression`
94 ERROR@[152; 153)
95 DOLLAR@[152; 153)
96 err: `expected COMMA`
97 TUPLE_EXPR@[153; 166)
98 L_PAREN@[153; 154)
99 err: `expected expression`
100 ERROR@[154; 155)
101 DOLLAR@[154; 155)
102 err: `expected COMMA`
103 PATH_EXPR@[155; 160)
104 PATH@[155; 160)
105 PATH_SEGMENT@[155; 160)
106 NAME_REF@[155; 160)
107 IDENT@[155; 160) "input"
108 err: `expected COMMA`
109 err: `expected expression`
110 ERROR@[160; 161)
111 COLON@[160; 161)
112 err: `expected COMMA`
113 PATH_EXPR@[161; 165)
114 PATH@[161; 165)
115 PATH_SEGMENT@[161; 165)
116 NAME_REF@[161; 165)
117 IDENT@[161; 165) "expr"
118 R_PAREN@[165; 166)
119 COMMA@[166; 167)
120 PREFIX_EXPR@[167; 170)
121 STAR@[167; 168)
122 WHITESPACE@[168; 169)
123 err: `expected expression`
124 ERROR@[169; 170)
125 DOLLAR@[169; 170)
126 err: `expected COMMA`
127 BIN_EXPR@[170; 175)
128 PAREN_EXPR@[170; 173)
129 L_PAREN@[170; 171)
130 err: `expected expression`
131 ERROR@[171; 172)
132 COMMA@[171; 172)
133 R_PAREN@[172; 173)
134 STAR@[173; 174)
135 err: `expected expression`
136 ERROR@[174; 175)
137 R_BRACK@[174; 175)
138 COMMA@[175; 176)
139 WHITESPACE@[176; 177)
140 ARRAY_EXPR@[177; 202)
141 L_BRACK@[177; 178)
142 err: `expected expression`
143 ERROR@[178; 179)
144 DOLLAR@[178; 179)
145 err: `expected COMMA`
146 TUPLE_EXPR@[179; 193)
147 L_PAREN@[179; 180)
148 err: `expected expression`
149 ERROR@[180; 181)
150 DOLLAR@[180; 181)
151 err: `expected COMMA`
152 PATH_EXPR@[181; 187)
153 PATH@[181; 187)
154 PATH_SEGMENT@[181; 187)
155 NAME_REF@[181; 187)
156 IDENT@[181; 187) "output"
157 err: `expected COMMA`
158 err: `expected expression`
159 ERROR@[187; 188)
160 COLON@[187; 188)
161 err: `expected COMMA`
162 PATH_EXPR@[188; 192)
163 PATH@[188; 192)
164 PATH_SEGMENT@[188; 192)
165 NAME_REF@[188; 192)
166 IDENT@[188; 192) "expr"
167 R_PAREN@[192; 193)
168 COMMA@[193; 194)
169 PREFIX_EXPR@[194; 197)
170 STAR@[194; 195)
171 WHITESPACE@[195; 196)
172 err: `expected expression`
173 ERROR@[196; 197)
174 DOLLAR@[196; 197)
175 err: `expected COMMA`
176 BIN_EXPR@[197; 202)
177 PAREN_EXPR@[197; 200)
178 L_PAREN@[197; 198)
179 err: `expected expression`
180 ERROR@[198; 199)
181 COMMA@[198; 199)
182 R_PAREN@[199; 200)
183 STAR@[200; 201)
184 err: `expected expression`
185 ERROR@[201; 202)
186 R_BRACK@[201; 202)
187 err: `expected COMMA`
188 err: `expected expression`
189 err: `expected R_BRACK`
190 err: `expected COMMA`
191 err: `expected expression`
192 err: `expected R_BRACK`
193 R_PAREN@[202; 203)
194 err: `expected SEMI`
195 WHITESPACE@[203; 204)
196 BLOCK_EXPR@[204; 346)
197 BLOCK@[204; 346)
198 L_CURLY@[204; 205)
199 WHITESPACE@[205; 214)
200 EXPR_STMT@[214; 340)
201 MACRO_CALL@[214; 339)
202 PATH@[214; 223)
203 PATH_SEGMENT@[214; 223)
204 NAME_REF@[214; 223)
205 IDENT@[214; 223) "assert_eq"
206 EXCL@[223; 224)
207 TOKEN_TREE@[224; 339)
208 L_PAREN@[224; 225)
209 WHITESPACE@[225; 238)
210 IDENT@[238; 253) "merge_use_trees"
211 TOKEN_TREE@[253; 284)
212 L_PAREN@[253; 254)
213 IDENT@[254; 269) "parse_use_trees"
214 EXCL@[269; 270)
215 TOKEN_TREE@[270; 283)
216 L_PAREN@[270; 271)
217 DOLLAR@[271; 272)
218 TOKEN_TREE@[272; 281)
219 L_PAREN@[272; 273)
220 DOLLAR@[273; 274)
221 IDENT@[274; 279) "input"
222 COMMA@[279; 280)
223 R_PAREN@[280; 281)
224 STAR@[281; 282)
225 R_PAREN@[282; 283)
226 R_PAREN@[283; 284)
227 COMMA@[284; 285)
228 WHITESPACE@[285; 298)
229 IDENT@[298; 313) "parse_use_trees"
230 EXCL@[313; 314)
231 TOKEN_TREE@[314; 328)
232 L_PAREN@[314; 315)
233 DOLLAR@[315; 316)
234 TOKEN_TREE@[316; 326)
235 L_PAREN@[316; 317)
236 DOLLAR@[317; 318)
237 IDENT@[318; 324) "output"
238 COMMA@[324; 325)
239 R_PAREN@[325; 326)
240 STAR@[326; 327)
241 R_PAREN@[327; 328)
242 COMMA@[328; 329)
243 WHITESPACE@[329; 338)
244 R_PAREN@[338; 339)
245 SEMI@[339; 340)
246 WHITESPACE@[340; 345)
247 R_CURLY@[345; 346)
248 WHITESPACE@[346; 347)
249 R_CURLY@[347; 348)
250 WHITESPACE@[348; 350)
diff --git a/crates/ra_syntax/tests/test.rs b/crates/ra_syntax/tests/test.rs
index c17b6ffa6..14ad836b5 100644
--- a/crates/ra_syntax/tests/test.rs
+++ b/crates/ra_syntax/tests/test.rs
@@ -16,7 +16,7 @@ use ra_syntax::{
16 16
17#[test] 17#[test]
18fn lexer_tests() { 18fn lexer_tests() {
19 dir_tests(&["lexer"], |text| { 19 dir_tests(&["lexer"], |text, _| {
20 let tokens = ra_syntax::tokenize(text); 20 let tokens = ra_syntax::tokenize(text);
21 dump_tokens(&tokens, text) 21 dump_tokens(&tokens, text)
22 }) 22 })
@@ -24,10 +24,28 @@ fn lexer_tests() {
24 24
25#[test] 25#[test]
26fn parser_tests() { 26fn parser_tests() {
27 dir_tests(&["parser/inline", "parser/ok", "parser/err"], |text| { 27 dir_tests(&["parser/inline/ok", "parser/ok"], |text, path| {
28 let file = SourceFileNode::parse(text); 28 let file = SourceFileNode::parse(text);
29 let errors = file.errors();
30 assert_eq!(
31 &*errors,
32 &[] as &[ra_syntax::SyntaxError],
33 "There should be no errors in the file {:?}",
34 path.display()
35 );
29 dump_tree(file.syntax()) 36 dump_tree(file.syntax())
30 }) 37 });
38 dir_tests(&["parser/err", "parser/inline/err"], |text, path| {
39 let file = SourceFileNode::parse(text);
40 let errors = file.errors();
41 assert_ne!(
42 &*errors,
43 &[] as &[ra_syntax::SyntaxError],
44 "There should be errors in the file {:?}",
45 path.display()
46 );
47 dump_tree(file.syntax())
48 });
31} 49}
32 50
33#[test] 51#[test]
@@ -42,7 +60,6 @@ fn parser_fuzz_tests() {
42#[test] 60#[test]
43fn self_hosting_parsing() { 61fn self_hosting_parsing() {
44 use std::ffi::OsStr; 62 use std::ffi::OsStr;
45 let empty_vec = vec![];
46 let dir = project_dir().join("crates"); 63 let dir = project_dir().join("crates");
47 let mut count = 0; 64 let mut count = 0;
48 for entry in walkdir::WalkDir::new(dir) 65 for entry in walkdir::WalkDir::new(dir)
@@ -68,7 +85,8 @@ fn self_hosting_parsing() {
68 let node = SourceFileNode::parse(&text); 85 let node = SourceFileNode::parse(&text);
69 let errors = node.errors(); 86 let errors = node.errors();
70 assert_eq!( 87 assert_eq!(
71 errors, empty_vec, 88 &*errors,
89 &[],
72 "There should be no errors in the file {:?}", 90 "There should be no errors in the file {:?}",
73 entry 91 entry
74 ); 92 );
@@ -95,18 +113,18 @@ fn read_text(path: &Path) -> String {
95 .replace("\r\n", "\n") 113 .replace("\r\n", "\n")
96} 114}
97 115
98pub fn dir_tests<F>(paths: &[&str], f: F) 116fn dir_tests<F>(paths: &[&str], f: F)
99where 117where
100 F: Fn(&str) -> String, 118 F: Fn(&str, &Path) -> String,
101{ 119{
102 for (path, input_code) in collect_tests(paths) { 120 for (path, input_code) in collect_tests(paths) {
103 let parse_tree = f(&input_code); 121 let parse_tree = f(&input_code, &path);
104 let path = path.with_extension("txt"); 122 let path = path.with_extension("txt");
105 if !path.exists() { 123 if !path.exists() {
106 println!("\nfile: {}", path.display()); 124 println!("\nfile: {}", path.display());
107 println!("No .txt file with expected result, creating...\n"); 125 println!("No .txt file with expected result, creating...\n");
108 println!("{}\n{}", input_code, parse_tree); 126 println!("{}\n{}", input_code, parse_tree);
109 fs::write(&path, parse_tree).unwrap(); 127 fs::write(&path, &parse_tree).unwrap();
110 panic!("No expected result") 128 panic!("No expected result")
111 } 129 }
112 let expected = read_text(&path); 130 let expected = read_text(&path);
diff --git a/crates/tools/src/bin/pre-commit.rs b/crates/tools/src/bin/pre-commit.rs
index ca1909479..bae3b26d3 100644
--- a/crates/tools/src/bin/pre-commit.rs
+++ b/crates/tools/src/bin/pre-commit.rs
@@ -14,13 +14,14 @@ fn update_staged() -> Result<()> {
14 let root = project_root(); 14 let root = project_root();
15 let output = Command::new("git") 15 let output = Command::new("git")
16 .arg("diff") 16 .arg("diff")
17 .arg("--diff-filter=MAR")
17 .arg("--name-only") 18 .arg("--name-only")
18 .arg("--cached") 19 .arg("--cached")
19 .current_dir(&root) 20 .current_dir(&root)
20 .output()?; 21 .output()?;
21 if !output.status.success() { 22 if !output.status.success() {
22 bail!( 23 bail!(
23 "`git diff --name-only --cached` exited with {}", 24 "`git diff --diff-filter=MAR --name-only --cached` exited with {}",
24 output.status 25 output.status
25 ); 26 );
26 } 27 }
diff --git a/crates/tools/src/lib.rs b/crates/tools/src/lib.rs
index 95d6e08f0..580d8b802 100644
--- a/crates/tools/src/lib.rs
+++ b/crates/tools/src/lib.rs
@@ -21,6 +21,7 @@ const TOOLCHAIN: &str = "1.31.0";
21pub struct Test { 21pub struct Test {
22 pub name: String, 22 pub name: String,
23 pub text: String, 23 pub text: String,
24 pub ok: bool,
24} 25}
25 26
26pub fn collect_tests(s: &str) -> Vec<(usize, Test)> { 27pub fn collect_tests(s: &str) -> Vec<(usize, Test)> {
@@ -38,11 +39,16 @@ pub fn collect_tests(s: &str) -> Vec<(usize, Test)> {
38 } 39 }
39 let mut block = block.map(|(idx, line)| (idx, &line[prefix.len()..])); 40 let mut block = block.map(|(idx, line)| (idx, &line[prefix.len()..]));
40 41
42 let mut ok = true;
41 let (start_line, name) = loop { 43 let (start_line, name) = loop {
42 match block.next() { 44 match block.next() {
43 Some((idx, line)) if line.starts_with("test ") => { 45 Some((idx, line)) if line.starts_with("test ") => {
44 break (idx, line["test ".len()..].to_string()); 46 break (idx, line["test ".len()..].to_string());
45 } 47 }
48 Some((idx, line)) if line.starts_with("test_err ") => {
49 ok = false;
50 break (idx, line["test_err ".len()..].to_string());
51 }
46 Some(_) => (), 52 Some(_) => (),
47 None => continue 'outer, 53 None => continue 'outer,
48 } 54 }
@@ -52,7 +58,7 @@ pub fn collect_tests(s: &str) -> Vec<(usize, Test)> {
52 "\n", 58 "\n",
53 ); 59 );
54 assert!(!text.trim().is_empty() && text.ends_with('\n')); 60 assert!(!text.trim().is_empty() && text.ends_with('\n'));
55 res.push((start_line, Test { name, text })) 61 res.push((start_line, Test { name, text, ok }))
56 } 62 }
57 res 63 res
58} 64}
diff --git a/crates/tools/src/main.rs b/crates/tools/src/main.rs
index 8e5e2036d..7edf8f52d 100644
--- a/crates/tools/src/main.rs
+++ b/crates/tools/src/main.rs
@@ -7,10 +7,11 @@ use std::{
7use clap::{App, Arg, SubCommand}; 7use clap::{App, Arg, SubCommand};
8use failure::bail; 8use failure::bail;
9 9
10use tools::{collect_tests, generate, install_format_hook, run, run_rustfmt, Mode, Overwrite, Result, Test, Verify}; 10use tools::{collect_tests, generate, install_format_hook, run, run_rustfmt, Mode, Overwrite, Result, Test, Verify, project_root};
11 11
12const GRAMMAR_DIR: &str = "./crates/ra_syntax/src/grammar"; 12const GRAMMAR_DIR: &str = "crates/ra_syntax/src/grammar";
13const INLINE_TESTS_DIR: &str = "./crates/ra_syntax/tests/data/parser/inline"; 13const OK_INLINE_TESTS_DIR: &str = "crates/ra_syntax/tests/data/parser/inline/ok";
14const ERR_INLINE_TESTS_DIR: &str = "crates/ra_syntax/tests/data/parser/inline/err";
14 15
15fn main() -> Result<()> { 16fn main() -> Result<()> {
16 let matches = App::new("tasks") 17 let matches = App::new("tasks")
@@ -48,34 +49,43 @@ fn main() -> Result<()> {
48 49
49fn gen_tests(mode: Mode) -> Result<()> { 50fn gen_tests(mode: Mode) -> Result<()> {
50 let tests = tests_from_dir(Path::new(GRAMMAR_DIR))?; 51 let tests = tests_from_dir(Path::new(GRAMMAR_DIR))?;
52 fn install_tests(tests: &HashMap<String, Test>, into: &str, mode: Mode) -> Result<()> {
53 let tests_dir = project_root().join(into);
54 if !tests_dir.is_dir() {
55 fs::create_dir_all(&tests_dir)?;
56 }
57 // ok is never actually read, but it needs to be specified to create a Test in existing_tests
58 let existing = existing_tests(&tests_dir, true)?;
59 for t in existing.keys().filter(|&t| !tests.contains_key(t)) {
60 panic!("Test is deleted: {}", t);
61 }
51 62
52 let inline_tests_dir = Path::new(INLINE_TESTS_DIR); 63 let mut new_idx = existing.len() + 1;
53 if !inline_tests_dir.is_dir() { 64 for (name, test) in tests {
54 fs::create_dir_all(inline_tests_dir)?; 65 let path = match existing.get(name) {
55 } 66 Some((path, _test)) => path.clone(),
56 let existing = existing_tests(inline_tests_dir)?; 67 None => {
57 68 let file_name = format!("{:04}_{}.rs", new_idx, name);
58 for t in existing.keys().filter(|&t| !tests.contains_key(t)) { 69 new_idx += 1;
59 panic!("Test is deleted: {}", t); 70 tests_dir.join(file_name)
71 }
72 };
73 teraron::update(&path, &test.text, mode)?;
74 }
75 Ok(())
60 } 76 }
77 install_tests(&tests.ok, OK_INLINE_TESTS_DIR, mode)?;
78 install_tests(&tests.err, ERR_INLINE_TESTS_DIR, mode)
79}
61 80
62 let mut new_idx = existing.len() + 2; 81#[derive(Default, Debug)]
63 for (name, test) in tests { 82struct Tests {
64 let path = match existing.get(&name) { 83 pub ok: HashMap<String, Test>,
65 Some((path, _test)) => path.clone(), 84 pub err: HashMap<String, Test>,
66 None => {
67 let file_name = format!("{:04}_{}.rs", new_idx, name);
68 new_idx += 1;
69 inline_tests_dir.join(file_name)
70 }
71 };
72 teraron::update(&path, &test.text, mode)?;
73 }
74 Ok(())
75} 85}
76 86
77fn tests_from_dir(dir: &Path) -> Result<HashMap<String, Test>> { 87fn tests_from_dir(dir: &Path) -> Result<Tests> {
78 let mut res = HashMap::new(); 88 let mut res = Tests::default();
79 for entry in ::walkdir::WalkDir::new(dir) { 89 for entry in ::walkdir::WalkDir::new(dir) {
80 let entry = entry.unwrap(); 90 let entry = entry.unwrap();
81 if !entry.file_type().is_file() { 91 if !entry.file_type().is_file() {
@@ -89,19 +99,25 @@ fn tests_from_dir(dir: &Path) -> Result<HashMap<String, Test>> {
89 let grammar_rs = dir.parent().unwrap().join("grammar.rs"); 99 let grammar_rs = dir.parent().unwrap().join("grammar.rs");
90 process_file(&mut res, &grammar_rs)?; 100 process_file(&mut res, &grammar_rs)?;
91 return Ok(res); 101 return Ok(res);
92 fn process_file(res: &mut HashMap<String, Test>, path: &Path) -> Result<()> { 102 fn process_file(res: &mut Tests, path: &Path) -> Result<()> {
93 let text = fs::read_to_string(path)?; 103 let text = fs::read_to_string(path)?;
94 104
95 for (_, test) in collect_tests(&text) { 105 for (_, test) in collect_tests(&text) {
96 if let Some(old_test) = res.insert(test.name.clone(), test) { 106 if test.ok {
97 bail!("Duplicate test: {}", old_test.name) 107 if let Some(old_test) = res.ok.insert(test.name.clone(), test) {
108 bail!("Duplicate test: {}", old_test.name)
109 }
110 } else {
111 if let Some(old_test) = res.err.insert(test.name.clone(), test) {
112 bail!("Duplicate test: {}", old_test.name)
113 }
98 } 114 }
99 } 115 }
100 Ok(()) 116 Ok(())
101 } 117 }
102} 118}
103 119
104fn existing_tests(dir: &Path) -> Result<HashMap<String, (PathBuf, Test)>> { 120fn existing_tests(dir: &Path, ok: bool) -> Result<HashMap<String, (PathBuf, Test)>> {
105 let mut res = HashMap::new(); 121 let mut res = HashMap::new();
106 for file in fs::read_dir(dir)? { 122 for file in fs::read_dir(dir)? {
107 let file = file?; 123 let file = file?;
@@ -117,6 +133,7 @@ fn existing_tests(dir: &Path) -> Result<HashMap<String, (PathBuf, Test)>> {
117 let test = Test { 133 let test = Test {
118 name: name.clone(), 134 name: name.clone(),
119 text, 135 text,
136 ok,
120 }; 137 };
121 if let Some(old) = res.insert(name, (path, test)) { 138 if let Some(old) = res.insert(name, (path, test)) {
122 println!("Duplicate test: {:?}", old); 139 println!("Duplicate test: {:?}", old);