aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-04-10 16:06:57 +0100
committerAleksey Kladov <[email protected]>2020-04-10 16:07:09 +0100
commit5c5bde47fb759440d007c90fd83021de538120b8 (patch)
tree4bc012bfc0c2428bc4dee692a1ea2388152a4269
parentd4332760d81c5575dd04b39275c4979b59bb9fc4 (diff)
Rename some tokens
-rw-r--r--crates/ra_assists/src/handlers/move_bounds.rs3
-rw-r--r--crates/ra_ide/src/completion/complete_trait_impl.rs4
-rw-r--r--crates/ra_ide/src/syntax_tree.rs8
-rw-r--r--crates/ra_mbe/src/tests.rs20
-rw-r--r--crates/ra_parser/src/grammar/expressions.rs3
-rw-r--r--crates/ra_parser/src/grammar/types.rs15
-rw-r--r--crates/ra_parser/src/syntax_kind/generated.rs334
-rw-r--r--crates/ra_syntax/src/ast/extensions.rs2
-rw-r--r--crates/ra_syntax/src/parsing/lexer.rs77
-rw-r--r--crates/ra_syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt2
-rw-r--r--crates/ra_syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt2
-rw-r--r--crates/ra_syntax/test_data/lexer/ok/0005_symbols.txt6
-rw-r--r--crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0019_let_recover.rast14
-rw-r--r--crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast24
-rw-r--r--crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/err/0025_nope.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/err/0035_use_recover.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/err/0036_partial_use.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast34
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast16
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast30
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast14
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast16
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast14
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast14
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast28
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast18
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast82
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0009_use_item.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast14
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0012_visibility.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast26
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast28
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast24
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0023_static_items.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0024_const_item.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast22
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast36
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0030_traits.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0031_extern.rast120
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0032_where_for.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0033_label_break.rast16
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast432
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast26
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0049_async_block.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast6
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast12
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0060_as_range.rast8
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast12
-rw-r--r--crates/test_utils/src/lib.rs2
-rw-r--r--xtask/src/ast_src.rs18
-rw-r--r--xtask/src/codegen/gen_syntax.rs8
209 files changed, 1107 insertions, 1393 deletions
diff --git a/crates/ra_assists/src/handlers/move_bounds.rs b/crates/ra_assists/src/handlers/move_bounds.rs
index 93f26f51a..0f26884dc 100644
--- a/crates/ra_assists/src/handlers/move_bounds.rs
+++ b/crates/ra_assists/src/handlers/move_bounds.rs
@@ -2,6 +2,7 @@ use ra_syntax::{
2 ast::{self, edit::AstNodeEdit, make, AstNode, NameOwner, TypeBoundsOwner}, 2 ast::{self, edit::AstNodeEdit, make, AstNode, NameOwner, TypeBoundsOwner},
3 match_ast, 3 match_ast,
4 SyntaxKind::*, 4 SyntaxKind::*,
5 T,
5}; 6};
6 7
7use crate::{Assist, AssistCtx, AssistId}; 8use crate::{Assist, AssistCtx, AssistId};
@@ -42,7 +43,7 @@ pub(crate) fn move_bounds_to_where_clause(ctx: AssistCtx) -> Option<Assist> {
42 ast::EnumDef(it) => it.variant_list()?.syntax().clone().into(), 43 ast::EnumDef(it) => it.variant_list()?.syntax().clone().into(),
43 ast::StructDef(it) => { 44 ast::StructDef(it) => {
44 it.syntax().children_with_tokens() 45 it.syntax().children_with_tokens()
45 .find(|it| it.kind() == RECORD_FIELD_DEF_LIST || it.kind() == SEMI)? 46 .find(|it| it.kind() == RECORD_FIELD_DEF_LIST || it.kind() == T![;])?
46 }, 47 },
47 _ => return None 48 _ => return None
48 } 49 }
diff --git a/crates/ra_ide/src/completion/complete_trait_impl.rs b/crates/ra_ide/src/completion/complete_trait_impl.rs
index ded1ff3bc..fab02945c 100644
--- a/crates/ra_ide/src/completion/complete_trait_impl.rs
+++ b/crates/ra_ide/src/completion/complete_trait_impl.rs
@@ -35,7 +35,7 @@ use hir::{self, Docs, HasSource};
35use ra_assists::utils::get_missing_impl_items; 35use ra_assists::utils::get_missing_impl_items;
36use ra_syntax::{ 36use ra_syntax::{
37 ast::{self, edit, ImplDef}, 37 ast::{self, edit, ImplDef},
38 AstNode, SyntaxKind, SyntaxNode, TextRange, 38 AstNode, SyntaxKind, SyntaxNode, TextRange, T,
39}; 39};
40use ra_text_edit::TextEdit; 40use ra_text_edit::TextEdit;
41 41
@@ -204,7 +204,7 @@ fn make_const_compl_syntax(const_: &ast::ConstDef) -> String {
204 let end = const_ 204 let end = const_
205 .syntax() 205 .syntax()
206 .children_with_tokens() 206 .children_with_tokens()
207 .find(|s| s.kind() == SyntaxKind::SEMI || s.kind() == SyntaxKind::EQ) 207 .find(|s| s.kind() == T![;] || s.kind() == T![=])
208 .map_or(const_end, |f| f.text_range().start()); 208 .map_or(const_end, |f| f.text_range().start());
209 209
210 let len = end - start; 210 let len = end - start;
diff --git a/crates/ra_ide/src/syntax_tree.rs b/crates/ra_ide/src/syntax_tree.rs
index f58e436d1..5842ae2e8 100644
--- a/crates/ra_ide/src/syntax_tree.rs
+++ b/crates/ra_ide/src/syntax_tree.rs
@@ -165,7 +165,7 @@ SOURCE_FILE@[0; 60)
165 PATH_SEGMENT@[16; 22) 165 PATH_SEGMENT@[16; 22)
166 NAME_REF@[16; 22) 166 NAME_REF@[16; 22)
167 IDENT@[16; 22) "assert" 167 IDENT@[16; 22) "assert"
168 EXCL@[22; 23) "!" 168 BANG@[22; 23) "!"
169 TOKEN_TREE@[23; 57) 169 TOKEN_TREE@[23; 57)
170 L_PAREN@[23; 24) "(" 170 L_PAREN@[23; 24) "("
171 STRING@[24; 52) "\"\n fn foo() {\n ..." 171 STRING@[24; 52) "\"\n fn foo() {\n ..."
@@ -173,7 +173,7 @@ SOURCE_FILE@[0; 60)
173 WHITESPACE@[53; 54) " " 173 WHITESPACE@[53; 54) " "
174 STRING@[54; 56) "\"\"" 174 STRING@[54; 56) "\"\""
175 R_PAREN@[56; 57) ")" 175 R_PAREN@[56; 57) ")"
176 SEMI@[57; 58) ";" 176 SEMICOLON@[57; 58) ";"
177 WHITESPACE@[58; 59) "\n" 177 WHITESPACE@[58; 59) "\n"
178 R_CURLY@[59; 60) "}" 178 R_CURLY@[59; 60) "}"
179"# 179"#
@@ -226,7 +226,7 @@ EXPR_STMT@[16; 58)
226 PATH_SEGMENT@[16; 22) 226 PATH_SEGMENT@[16; 22)
227 NAME_REF@[16; 22) 227 NAME_REF@[16; 22)
228 IDENT@[16; 22) "assert" 228 IDENT@[16; 22) "assert"
229 EXCL@[22; 23) "!" 229 BANG@[22; 23) "!"
230 TOKEN_TREE@[23; 57) 230 TOKEN_TREE@[23; 57)
231 L_PAREN@[23; 24) "(" 231 L_PAREN@[23; 24) "("
232 STRING@[24; 52) "\"\n fn foo() {\n ..." 232 STRING@[24; 52) "\"\n fn foo() {\n ..."
@@ -234,7 +234,7 @@ EXPR_STMT@[16; 58)
234 WHITESPACE@[53; 54) " " 234 WHITESPACE@[53; 54) " "
235 STRING@[54; 56) "\"\"" 235 STRING@[54; 56) "\"\""
236 R_PAREN@[56; 57) ")" 236 R_PAREN@[56; 57) ")"
237 SEMI@[57; 58) ";" 237 SEMICOLON@[57; 58) ";"
238"# 238"#
239 .trim() 239 .trim()
240 ); 240 );
diff --git a/crates/ra_mbe/src/tests.rs b/crates/ra_mbe/src/tests.rs
index 1ef6f6eed..5d1274d21 100644
--- a/crates/ra_mbe/src/tests.rs
+++ b/crates/ra_mbe/src/tests.rs
@@ -252,7 +252,7 @@ fn test_expr_order() {
252 STAR@[11; 12) "*" 252 STAR@[11; 12) "*"
253 LITERAL@[12; 13) 253 LITERAL@[12; 13)
254 INT_NUMBER@[12; 13) "2" 254 INT_NUMBER@[12; 13) "2"
255 SEMI@[13; 14) ";" 255 SEMICOLON@[13; 14) ";"
256 R_CURLY@[14; 15) "}""#, 256 R_CURLY@[14; 15) "}""#,
257 ); 257 );
258} 258}
@@ -605,7 +605,7 @@ fn test_tt_to_stmts() {
605 EQ@[4; 5) "=" 605 EQ@[4; 5) "="
606 LITERAL@[5; 6) 606 LITERAL@[5; 6)
607 INT_NUMBER@[5; 6) "0" 607 INT_NUMBER@[5; 6) "0"
608 SEMI@[6; 7) ";" 608 SEMICOLON@[6; 7) ";"
609 EXPR_STMT@[7; 14) 609 EXPR_STMT@[7; 14)
610 BIN_EXPR@[7; 13) 610 BIN_EXPR@[7; 13)
611 PATH_EXPR@[7; 8) 611 PATH_EXPR@[7; 8)
@@ -620,7 +620,7 @@ fn test_tt_to_stmts() {
620 PLUS@[11; 12) "+" 620 PLUS@[11; 12) "+"
621 LITERAL@[12; 13) 621 LITERAL@[12; 13)
622 INT_NUMBER@[12; 13) "1" 622 INT_NUMBER@[12; 13) "1"
623 SEMI@[13; 14) ";" 623 SEMICOLON@[13; 14) ";"
624 EXPR_STMT@[14; 15) 624 EXPR_STMT@[14; 15)
625 PATH_EXPR@[14; 15) 625 PATH_EXPR@[14; 15)
626 PATH@[14; 15) 626 PATH@[14; 15)
@@ -953,7 +953,7 @@ fn test_tt_composite2() {
953 PATH_SEGMENT@[0; 3) 953 PATH_SEGMENT@[0; 3)
954 NAME_REF@[0; 3) 954 NAME_REF@[0; 3)
955 IDENT@[0; 3) "abs" 955 IDENT@[0; 3) "abs"
956 EXCL@[3; 4) "!" 956 BANG@[3; 4) "!"
957 TOKEN_TREE@[4; 10) 957 TOKEN_TREE@[4; 10)
958 L_PAREN@[4; 5) "(" 958 L_PAREN@[4; 5) "("
959 EQ@[5; 6) "=" 959 EQ@[5; 6) "="
@@ -1073,14 +1073,14 @@ fn test_vec() {
1073 PATH_SEGMENT@[9; 12) 1073 PATH_SEGMENT@[9; 12)
1074 NAME_REF@[9; 12) 1074 NAME_REF@[9; 12)
1075 IDENT@[9; 12) "Vec" 1075 IDENT@[9; 12) "Vec"
1076 COLONCOLON@[12; 14) "::" 1076 COLON2@[12; 14) "::"
1077 PATH_SEGMENT@[14; 17) 1077 PATH_SEGMENT@[14; 17)
1078 NAME_REF@[14; 17) 1078 NAME_REF@[14; 17)
1079 IDENT@[14; 17) "new" 1079 IDENT@[14; 17) "new"
1080 ARG_LIST@[17; 19) 1080 ARG_LIST@[17; 19)
1081 L_PAREN@[17; 18) "(" 1081 L_PAREN@[17; 18) "("
1082 R_PAREN@[18; 19) ")" 1082 R_PAREN@[18; 19) ")"
1083 SEMI@[19; 20) ";" 1083 SEMICOLON@[19; 20) ";"
1084 EXPR_STMT@[20; 33) 1084 EXPR_STMT@[20; 33)
1085 METHOD_CALL_EXPR@[20; 32) 1085 METHOD_CALL_EXPR@[20; 32)
1086 PATH_EXPR@[20; 21) 1086 PATH_EXPR@[20; 21)
@@ -1096,7 +1096,7 @@ fn test_vec() {
1096 LITERAL@[27; 31) 1096 LITERAL@[27; 31)
1097 INT_NUMBER@[27; 31) "1u32" 1097 INT_NUMBER@[27; 31) "1u32"
1098 R_PAREN@[31; 32) ")" 1098 R_PAREN@[31; 32) ")"
1099 SEMI@[32; 33) ";" 1099 SEMICOLON@[32; 33) ";"
1100 EXPR_STMT@[33; 43) 1100 EXPR_STMT@[33; 43)
1101 METHOD_CALL_EXPR@[33; 42) 1101 METHOD_CALL_EXPR@[33; 42)
1102 PATH_EXPR@[33; 34) 1102 PATH_EXPR@[33; 34)
@@ -1112,7 +1112,7 @@ fn test_vec() {
1112 LITERAL@[40; 41) 1112 LITERAL@[40; 41)
1113 INT_NUMBER@[40; 41) "2" 1113 INT_NUMBER@[40; 41) "2"
1114 R_PAREN@[41; 42) ")" 1114 R_PAREN@[41; 42) ")"
1115 SEMI@[42; 43) ";" 1115 SEMICOLON@[42; 43) ";"
1116 PATH_EXPR@[43; 44) 1116 PATH_EXPR@[43; 44)
1117 PATH@[43; 44) 1117 PATH@[43; 44)
1118 PATH_SEGMENT@[43; 44) 1118 PATH_SEGMENT@[43; 44)
@@ -1760,7 +1760,7 @@ fn test_no_space_after_semi_colon() {
1760 MOD_KW@[21; 24) "mod" 1760 MOD_KW@[21; 24) "mod"
1761 NAME@[24; 25) 1761 NAME@[24; 25)
1762 IDENT@[24; 25) "m" 1762 IDENT@[24; 25) "m"
1763 SEMI@[25; 26) ";" 1763 SEMICOLON@[25; 26) ";"
1764 MODULE@[26; 52) 1764 MODULE@[26; 52)
1765 ATTR@[26; 47) 1765 ATTR@[26; 47)
1766 POUND@[26; 27) "#" 1766 POUND@[26; 27) "#"
@@ -1779,7 +1779,7 @@ fn test_no_space_after_semi_colon() {
1779 MOD_KW@[47; 50) "mod" 1779 MOD_KW@[47; 50) "mod"
1780 NAME@[50; 51) 1780 NAME@[50; 51)
1781 IDENT@[50; 51) "f" 1781 IDENT@[50; 51) "f"
1782 SEMI@[51; 52) ";""###, 1782 SEMICOLON@[51; 52) ";""###,
1783 ); 1783 );
1784} 1784}
1785 1785
diff --git a/crates/ra_parser/src/grammar/expressions.rs b/crates/ra_parser/src/grammar/expressions.rs
index c486c0211..a1bd53063 100644
--- a/crates/ra_parser/src/grammar/expressions.rs
+++ b/crates/ra_parser/src/grammar/expressions.rs
@@ -339,7 +339,8 @@ fn expr_bp(p: &mut Parser, mut r: Restrictions, bp: u8) -> (Option<CompletedMark
339 (Some(lhs), BlockLike::NotBlock) 339 (Some(lhs), BlockLike::NotBlock)
340} 340}
341 341
342const LHS_FIRST: TokenSet = atom::ATOM_EXPR_FIRST.union(token_set![AMP, STAR, EXCL, DOT, MINUS]); 342const LHS_FIRST: TokenSet =
343 atom::ATOM_EXPR_FIRST.union(token_set![T![&], T![*], T![!], T![.], T![-]]);
343 344
344fn lhs(p: &mut Parser, r: Restrictions) -> Option<(CompletedMarker, BlockLike)> { 345fn lhs(p: &mut Parser, r: Restrictions) -> Option<(CompletedMarker, BlockLike)> {
345 let m; 346 let m;
diff --git a/crates/ra_parser/src/grammar/types.rs b/crates/ra_parser/src/grammar/types.rs
index 386969d2d..fe1a039cb 100644
--- a/crates/ra_parser/src/grammar/types.rs
+++ b/crates/ra_parser/src/grammar/types.rs
@@ -3,8 +3,19 @@
3use super::*; 3use super::*;
4 4
5pub(super) const TYPE_FIRST: TokenSet = paths::PATH_FIRST.union(token_set![ 5pub(super) const TYPE_FIRST: TokenSet = paths::PATH_FIRST.union(token_set![
6 L_PAREN, EXCL, STAR, L_BRACK, AMP, UNDERSCORE, FN_KW, UNSAFE_KW, EXTERN_KW, FOR_KW, IMPL_KW, 6 T!['('],
7 DYN_KW, L_ANGLE, 7 T!['['],
8 T![<],
9 T![!],
10 T![*],
11 T![&],
12 T![_],
13 T![fn],
14 T![unsafe],
15 T![extern],
16 T![for],
17 T![impl],
18 T![dyn],
8]); 19]);
9 20
10const TYPE_RECOVERY_SET: TokenSet = token_set![R_PAREN, COMMA, L_DOLLAR]; 21const TYPE_RECOVERY_SET: TokenSet = token_set![R_PAREN, COMMA, L_DOLLAR];
diff --git a/crates/ra_parser/src/syntax_kind/generated.rs b/crates/ra_parser/src/syntax_kind/generated.rs
index 1dd4ce34a..524e7d784 100644
--- a/crates/ra_parser/src/syntax_kind/generated.rs
+++ b/crates/ra_parser/src/syntax_kind/generated.rs
@@ -9,7 +9,7 @@ pub enum SyntaxKind {
9 TOMBSTONE, 9 TOMBSTONE,
10 #[doc(hidden)] 10 #[doc(hidden)]
11 EOF, 11 EOF,
12 SEMI, 12 SEMICOLON,
13 COMMA, 13 COMMA,
14 L_PAREN, 14 L_PAREN,
15 R_PAREN, 15 R_PAREN,
@@ -33,15 +33,15 @@ pub enum SyntaxKind {
33 PERCENT, 33 PERCENT,
34 UNDERSCORE, 34 UNDERSCORE,
35 DOT, 35 DOT,
36 DOTDOT, 36 DOT2,
37 DOTDOTDOT, 37 DOT3,
38 DOTDOTEQ, 38 DOT2EQ,
39 COLON, 39 COLON,
40 COLONCOLON, 40 COLON2,
41 EQ, 41 EQ,
42 EQEQ, 42 EQ2,
43 FAT_ARROW, 43 FAT_ARROW,
44 EXCL, 44 BANG,
45 NEQ, 45 NEQ,
46 MINUS, 46 MINUS,
47 THIN_ARROW, 47 THIN_ARROW,
@@ -55,8 +55,8 @@ pub enum SyntaxKind {
55 SLASHEQ, 55 SLASHEQ,
56 STAREQ, 56 STAREQ,
57 PERCENTEQ, 57 PERCENTEQ,
58 AMPAMP, 58 AMP2,
59 PIPEPIPE, 59 PIPE2,
60 SHL, 60 SHL,
61 SHR, 61 SHR,
62 SHLEQ, 62 SHLEQ,
@@ -265,12 +265,12 @@ impl SyntaxKind {
265 } 265 }
266 pub fn is_punct(self) -> bool { 266 pub fn is_punct(self) -> bool {
267 match self { 267 match self {
268 SEMI | COMMA | L_PAREN | R_PAREN | L_CURLY | R_CURLY | L_BRACK | R_BRACK | L_ANGLE 268 SEMICOLON | COMMA | L_PAREN | R_PAREN | L_CURLY | R_CURLY | L_BRACK | R_BRACK
269 | R_ANGLE | AT | POUND | TILDE | QUESTION | DOLLAR | AMP | PIPE | PLUS | STAR 269 | L_ANGLE | R_ANGLE | AT | POUND | TILDE | QUESTION | DOLLAR | AMP | PIPE | PLUS
270 | SLASH | CARET | PERCENT | UNDERSCORE | DOT | DOTDOT | DOTDOTDOT | DOTDOTEQ 270 | STAR | SLASH | CARET | PERCENT | UNDERSCORE | DOT | DOT2 | DOT3 | DOT2EQ | COLON
271 | COLON | COLONCOLON | EQ | EQEQ | FAT_ARROW | EXCL | NEQ | MINUS | THIN_ARROW 271 | COLON2 | EQ | EQ2 | FAT_ARROW | BANG | NEQ | MINUS | THIN_ARROW | LTEQ | GTEQ
272 | LTEQ | GTEQ | PLUSEQ | MINUSEQ | PIPEEQ | AMPEQ | CARETEQ | SLASHEQ | STAREQ 272 | PLUSEQ | MINUSEQ | PIPEEQ | AMPEQ | CARETEQ | SLASHEQ | STAREQ | PERCENTEQ | AMP2
273 | PERCENTEQ | AMPAMP | PIPEPIPE | SHL | SHR | SHLEQ | SHREQ => true, 273 | PIPE2 | SHL | SHR | SHLEQ | SHREQ => true,
274 _ => false, 274 _ => false,
275 } 275 }
276 } 276 }
@@ -329,7 +329,7 @@ impl SyntaxKind {
329 } 329 }
330 pub fn from_char(c: char) -> Option<SyntaxKind> { 330 pub fn from_char(c: char) -> Option<SyntaxKind> {
331 let tok = match c { 331 let tok = match c {
332 ';' => SEMI, 332 ';' => SEMICOLON,
333 ',' => COMMA, 333 ',' => COMMA,
334 '(' => L_PAREN, 334 '(' => L_PAREN,
335 ')' => R_PAREN, 335 ')' => R_PAREN,
@@ -355,7 +355,7 @@ impl SyntaxKind {
355 '.' => DOT, 355 '.' => DOT,
356 ':' => COLON, 356 ':' => COLON,
357 '=' => EQ, 357 '=' => EQ,
358 '!' => EXCL, 358 '!' => BANG,
359 '-' => MINUS, 359 '-' => MINUS,
360 _ => return None, 360 _ => return None,
361 }; 361 };
@@ -363,302 +363,4 @@ impl SyntaxKind {
363 } 363 }
364} 364}
365#[macro_export] 365#[macro_export]
366macro_rules! T { 366macro_rules ! T { [ ; ] => { $ crate :: SyntaxKind :: SEMICOLON } ; [ , ] => { $ crate :: SyntaxKind :: COMMA } ; [ '(' ] => { $ crate :: SyntaxKind :: L_PAREN } ; [ ')' ] => { $ crate :: SyntaxKind :: R_PAREN } ; [ '{' ] => { $ crate :: SyntaxKind :: L_CURLY } ; [ '}' ] => { $ crate :: SyntaxKind :: R_CURLY } ; [ '[' ] => { $ crate :: SyntaxKind :: L_BRACK } ; [ ']' ] => { $ crate :: SyntaxKind :: R_BRACK } ; [ < ] => { $ crate :: SyntaxKind :: L_ANGLE } ; [ > ] => { $ crate :: SyntaxKind :: R_ANGLE } ; [ @ ] => { $ crate :: SyntaxKind :: AT } ; [ # ] => { $ crate :: SyntaxKind :: POUND } ; [ ~ ] => { $ crate :: SyntaxKind :: TILDE } ; [ ? ] => { $ crate :: SyntaxKind :: QUESTION } ; [ $ ] => { $ crate :: SyntaxKind :: DOLLAR } ; [ & ] => { $ crate :: SyntaxKind :: AMP } ; [ | ] => { $ crate :: SyntaxKind :: PIPE } ; [ + ] => { $ crate :: SyntaxKind :: PLUS } ; [ * ] => { $ crate :: SyntaxKind :: STAR } ; [ / ] => { $ crate :: SyntaxKind :: SLASH } ; [ ^ ] => { $ crate :: SyntaxKind :: CARET } ; [ % ] => { $ crate :: SyntaxKind :: PERCENT } ; [ _ ] => { $ crate :: SyntaxKind :: UNDERSCORE } ; [ . ] => { $ crate :: SyntaxKind :: DOT } ; [ .. ] => { $ crate :: SyntaxKind :: DOT2 } ; [ ... ] => { $ crate :: SyntaxKind :: DOT3 } ; [ ..= ] => { $ crate :: SyntaxKind :: DOT2EQ } ; [ : ] => { $ crate :: SyntaxKind :: COLON } ; [ :: ] => { $ crate :: SyntaxKind :: COLON2 } ; [ = ] => { $ crate :: SyntaxKind :: EQ } ; [ == ] => { $ crate :: SyntaxKind :: EQ2 } ; [ => ] => { $ crate :: SyntaxKind :: FAT_ARROW } ; [ ! ] => { $ crate :: SyntaxKind :: BANG } ; [ != ] => { $ crate :: SyntaxKind :: NEQ } ; [ - ] => { $ crate :: SyntaxKind :: MINUS } ; [ -> ] => { $ crate :: SyntaxKind :: THIN_ARROW } ; [ <= ] => { $ crate :: SyntaxKind :: LTEQ } ; [ >= ] => { $ crate :: SyntaxKind :: GTEQ } ; [ += ] => { $ crate :: SyntaxKind :: PLUSEQ } ; [ -= ] => { $ crate :: SyntaxKind :: MINUSEQ } ; [ |= ] => { $ crate :: SyntaxKind :: PIPEEQ } ; [ &= ] => { $ crate :: SyntaxKind :: AMPEQ } ; [ ^= ] => { $ crate :: SyntaxKind :: CARETEQ } ; [ /= ] => { $ crate :: SyntaxKind :: SLASHEQ } ; [ *= ] => { $ crate :: SyntaxKind :: STAREQ } ; [ %= ] => { $ crate :: SyntaxKind :: PERCENTEQ } ; [ && ] => { $ crate :: SyntaxKind :: AMP2 } ; [ || ] => { $ crate :: SyntaxKind :: PIPE2 } ; [ << ] => { $ crate :: SyntaxKind :: SHL } ; [ >> ] => { $ crate :: SyntaxKind :: SHR } ; [ <<= ] => { $ crate :: SyntaxKind :: SHLEQ } ; [ >>= ] => { $ crate :: SyntaxKind :: SHREQ } ; [ as ] => { $ crate :: SyntaxKind :: AS_KW } ; [ async ] => { $ crate :: SyntaxKind :: ASYNC_KW } ; [ await ] => { $ crate :: SyntaxKind :: AWAIT_KW } ; [ box ] => { $ crate :: SyntaxKind :: BOX_KW } ; [ break ] => { $ crate :: SyntaxKind :: BREAK_KW } ; [ const ] => { $ crate :: SyntaxKind :: CONST_KW } ; [ continue ] => { $ crate :: SyntaxKind :: CONTINUE_KW } ; [ crate ] => { $ crate :: SyntaxKind :: CRATE_KW } ; [ dyn ] => { $ crate :: SyntaxKind :: DYN_KW } ; [ else ] => { $ crate :: SyntaxKind :: ELSE_KW } ; [ enum ] => { $ crate :: SyntaxKind :: ENUM_KW } ; [ extern ] => { $ crate :: SyntaxKind :: EXTERN_KW } ; [ false ] => { $ crate :: SyntaxKind :: FALSE_KW } ; [ fn ] => { $ crate :: SyntaxKind :: FN_KW } ; [ for ] => { $ crate :: SyntaxKind :: FOR_KW } ; [ if ] => { $ crate :: SyntaxKind :: IF_KW } ; [ impl ] => { $ crate :: SyntaxKind :: IMPL_KW } ; [ in ] => { $ crate :: SyntaxKind :: IN_KW } ; [ let ] => { $ crate :: SyntaxKind :: LET_KW } ; [ loop ] => { $ crate :: SyntaxKind :: LOOP_KW } ; [ macro ] => { $ crate :: SyntaxKind :: MACRO_KW } ; [ match ] => { $ crate :: SyntaxKind :: MATCH_KW } ; [ mod ] => { $ crate :: SyntaxKind :: MOD_KW } ; [ move ] => { $ crate :: SyntaxKind :: MOVE_KW } ; [ mut ] => { $ crate :: SyntaxKind :: MUT_KW } ; [ pub ] => { $ crate :: SyntaxKind :: PUB_KW } ; [ ref ] => { $ crate :: SyntaxKind :: REF_KW } ; [ return ] => { $ crate :: SyntaxKind :: RETURN_KW } ; [ self ] => { $ crate :: SyntaxKind :: SELF_KW } ; [ static ] => { $ crate :: SyntaxKind :: STATIC_KW } ; [ struct ] => { $ crate :: SyntaxKind :: STRUCT_KW } ; [ super ] => { $ crate :: SyntaxKind :: SUPER_KW } ; [ trait ] => { $ crate :: SyntaxKind :: TRAIT_KW } ; [ true ] => { $ crate :: SyntaxKind :: TRUE_KW } ; [ try ] => { $ crate :: SyntaxKind :: TRY_KW } ; [ type ] => { $ crate :: SyntaxKind :: TYPE_KW } ; [ unsafe ] => { $ crate :: SyntaxKind :: UNSAFE_KW } ; [ use ] => { $ crate :: SyntaxKind :: USE_KW } ; [ where ] => { $ crate :: SyntaxKind :: WHERE_KW } ; [ while ] => { $ crate :: SyntaxKind :: WHILE_KW } ; [ auto ] => { $ crate :: SyntaxKind :: AUTO_KW } ; [ default ] => { $ crate :: SyntaxKind :: DEFAULT_KW } ; [ existential ] => { $ crate :: SyntaxKind :: EXISTENTIAL_KW } ; [ union ] => { $ crate :: SyntaxKind :: UNION_KW } ; [ raw ] => { $ crate :: SyntaxKind :: RAW_KW } ; [ lifetime ] => { $ crate :: SyntaxKind :: LIFETIME } ; [ ident ] => { $ crate :: SyntaxKind :: IDENT } ; }
367 ( ; ) => {
368 $crate::SyntaxKind::SEMI
369 };
370 ( , ) => {
371 $crate::SyntaxKind::COMMA
372 };
373 ( '(' ) => {
374 $crate::SyntaxKind::L_PAREN
375 };
376 ( ')' ) => {
377 $crate::SyntaxKind::R_PAREN
378 };
379 ( '{' ) => {
380 $crate::SyntaxKind::L_CURLY
381 };
382 ( '}' ) => {
383 $crate::SyntaxKind::R_CURLY
384 };
385 ( '[' ) => {
386 $crate::SyntaxKind::L_BRACK
387 };
388 ( ']' ) => {
389 $crate::SyntaxKind::R_BRACK
390 };
391 ( < ) => {
392 $crate::SyntaxKind::L_ANGLE
393 };
394 ( > ) => {
395 $crate::SyntaxKind::R_ANGLE
396 };
397 ( @ ) => {
398 $crate::SyntaxKind::AT
399 };
400 ( # ) => {
401 $crate::SyntaxKind::POUND
402 };
403 ( ~ ) => {
404 $crate::SyntaxKind::TILDE
405 };
406 ( ? ) => {
407 $crate::SyntaxKind::QUESTION
408 };
409 ( $ ) => {
410 $crate::SyntaxKind::DOLLAR
411 };
412 ( & ) => {
413 $crate::SyntaxKind::AMP
414 };
415 ( | ) => {
416 $crate::SyntaxKind::PIPE
417 };
418 ( + ) => {
419 $crate::SyntaxKind::PLUS
420 };
421 ( * ) => {
422 $crate::SyntaxKind::STAR
423 };
424 ( / ) => {
425 $crate::SyntaxKind::SLASH
426 };
427 ( ^ ) => {
428 $crate::SyntaxKind::CARET
429 };
430 ( % ) => {
431 $crate::SyntaxKind::PERCENT
432 };
433 ( _ ) => {
434 $crate::SyntaxKind::UNDERSCORE
435 };
436 ( . ) => {
437 $crate::SyntaxKind::DOT
438 };
439 ( .. ) => {
440 $crate::SyntaxKind::DOTDOT
441 };
442 ( ... ) => {
443 $crate::SyntaxKind::DOTDOTDOT
444 };
445 ( ..= ) => {
446 $crate::SyntaxKind::DOTDOTEQ
447 };
448 ( : ) => {
449 $crate::SyntaxKind::COLON
450 };
451 ( :: ) => {
452 $crate::SyntaxKind::COLONCOLON
453 };
454 ( = ) => {
455 $crate::SyntaxKind::EQ
456 };
457 ( == ) => {
458 $crate::SyntaxKind::EQEQ
459 };
460 ( => ) => {
461 $crate::SyntaxKind::FAT_ARROW
462 };
463 ( ! ) => {
464 $crate::SyntaxKind::EXCL
465 };
466 ( != ) => {
467 $crate::SyntaxKind::NEQ
468 };
469 ( - ) => {
470 $crate::SyntaxKind::MINUS
471 };
472 ( -> ) => {
473 $crate::SyntaxKind::THIN_ARROW
474 };
475 ( <= ) => {
476 $crate::SyntaxKind::LTEQ
477 };
478 ( >= ) => {
479 $crate::SyntaxKind::GTEQ
480 };
481 ( += ) => {
482 $crate::SyntaxKind::PLUSEQ
483 };
484 ( -= ) => {
485 $crate::SyntaxKind::MINUSEQ
486 };
487 ( |= ) => {
488 $crate::SyntaxKind::PIPEEQ
489 };
490 ( &= ) => {
491 $crate::SyntaxKind::AMPEQ
492 };
493 ( ^= ) => {
494 $crate::SyntaxKind::CARETEQ
495 };
496 ( /= ) => {
497 $crate::SyntaxKind::SLASHEQ
498 };
499 ( *= ) => {
500 $crate::SyntaxKind::STAREQ
501 };
502 ( %= ) => {
503 $crate::SyntaxKind::PERCENTEQ
504 };
505 ( && ) => {
506 $crate::SyntaxKind::AMPAMP
507 };
508 ( || ) => {
509 $crate::SyntaxKind::PIPEPIPE
510 };
511 ( << ) => {
512 $crate::SyntaxKind::SHL
513 };
514 ( >> ) => {
515 $crate::SyntaxKind::SHR
516 };
517 ( <<= ) => {
518 $crate::SyntaxKind::SHLEQ
519 };
520 ( >>= ) => {
521 $crate::SyntaxKind::SHREQ
522 };
523 ( as ) => {
524 $crate::SyntaxKind::AS_KW
525 };
526 ( async ) => {
527 $crate::SyntaxKind::ASYNC_KW
528 };
529 ( await ) => {
530 $crate::SyntaxKind::AWAIT_KW
531 };
532 ( box ) => {
533 $crate::SyntaxKind::BOX_KW
534 };
535 ( break ) => {
536 $crate::SyntaxKind::BREAK_KW
537 };
538 ( const ) => {
539 $crate::SyntaxKind::CONST_KW
540 };
541 ( continue ) => {
542 $crate::SyntaxKind::CONTINUE_KW
543 };
544 ( crate ) => {
545 $crate::SyntaxKind::CRATE_KW
546 };
547 ( dyn ) => {
548 $crate::SyntaxKind::DYN_KW
549 };
550 ( else ) => {
551 $crate::SyntaxKind::ELSE_KW
552 };
553 ( enum ) => {
554 $crate::SyntaxKind::ENUM_KW
555 };
556 ( extern ) => {
557 $crate::SyntaxKind::EXTERN_KW
558 };
559 ( false ) => {
560 $crate::SyntaxKind::FALSE_KW
561 };
562 ( fn ) => {
563 $crate::SyntaxKind::FN_KW
564 };
565 ( for ) => {
566 $crate::SyntaxKind::FOR_KW
567 };
568 ( if ) => {
569 $crate::SyntaxKind::IF_KW
570 };
571 ( impl ) => {
572 $crate::SyntaxKind::IMPL_KW
573 };
574 ( in ) => {
575 $crate::SyntaxKind::IN_KW
576 };
577 ( let ) => {
578 $crate::SyntaxKind::LET_KW
579 };
580 ( loop ) => {
581 $crate::SyntaxKind::LOOP_KW
582 };
583 ( macro ) => {
584 $crate::SyntaxKind::MACRO_KW
585 };
586 ( match ) => {
587 $crate::SyntaxKind::MATCH_KW
588 };
589 ( mod ) => {
590 $crate::SyntaxKind::MOD_KW
591 };
592 ( move ) => {
593 $crate::SyntaxKind::MOVE_KW
594 };
595 ( mut ) => {
596 $crate::SyntaxKind::MUT_KW
597 };
598 ( pub ) => {
599 $crate::SyntaxKind::PUB_KW
600 };
601 ( ref ) => {
602 $crate::SyntaxKind::REF_KW
603 };
604 ( return ) => {
605 $crate::SyntaxKind::RETURN_KW
606 };
607 ( self ) => {
608 $crate::SyntaxKind::SELF_KW
609 };
610 ( static ) => {
611 $crate::SyntaxKind::STATIC_KW
612 };
613 ( struct ) => {
614 $crate::SyntaxKind::STRUCT_KW
615 };
616 ( super ) => {
617 $crate::SyntaxKind::SUPER_KW
618 };
619 ( trait ) => {
620 $crate::SyntaxKind::TRAIT_KW
621 };
622 ( true ) => {
623 $crate::SyntaxKind::TRUE_KW
624 };
625 ( try ) => {
626 $crate::SyntaxKind::TRY_KW
627 };
628 ( type ) => {
629 $crate::SyntaxKind::TYPE_KW
630 };
631 ( unsafe ) => {
632 $crate::SyntaxKind::UNSAFE_KW
633 };
634 ( use ) => {
635 $crate::SyntaxKind::USE_KW
636 };
637 ( where ) => {
638 $crate::SyntaxKind::WHERE_KW
639 };
640 ( while ) => {
641 $crate::SyntaxKind::WHILE_KW
642 };
643 ( auto ) => {
644 $crate::SyntaxKind::AUTO_KW
645 };
646 ( default ) => {
647 $crate::SyntaxKind::DEFAULT_KW
648 };
649 ( existential ) => {
650 $crate::SyntaxKind::EXISTENTIAL_KW
651 };
652 ( union ) => {
653 $crate::SyntaxKind::UNION_KW
654 };
655 ( raw ) => {
656 $crate::SyntaxKind::RAW_KW
657 };
658 ( lifetime ) => {
659 $crate::SyntaxKind::LIFETIME
660 };
661 ( ident ) => {
662 $crate::SyntaxKind::IDENT
663 };
664}
diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs
index 87c92880c..1aacb0676 100644
--- a/crates/ra_syntax/src/ast/extensions.rs
+++ b/crates/ra_syntax/src/ast/extensions.rs
@@ -77,7 +77,7 @@ impl ast::Attr {
77 first_token.and_then(|token| token.next_token()).as_ref().map(SyntaxToken::kind); 77 first_token.and_then(|token| token.next_token()).as_ref().map(SyntaxToken::kind);
78 78
79 match (first_token_kind, second_token_kind) { 79 match (first_token_kind, second_token_kind) {
80 (Some(SyntaxKind::POUND), Some(SyntaxKind::EXCL)) => AttrKind::Inner, 80 (Some(SyntaxKind::POUND), Some(T![!])) => AttrKind::Inner,
81 _ => AttrKind::Outer, 81 _ => AttrKind::Outer,
82 } 82 }
83 } 83 }
diff --git a/crates/ra_syntax/src/parsing/lexer.rs b/crates/ra_syntax/src/parsing/lexer.rs
index d1baaa607..67c1f1b48 100644
--- a/crates/ra_syntax/src/parsing/lexer.rs
+++ b/crates/ra_syntax/src/parsing/lexer.rs
@@ -4,7 +4,7 @@
4use crate::{ 4use crate::{
5 SyntaxError, 5 SyntaxError,
6 SyntaxKind::{self, *}, 6 SyntaxKind::{self, *},
7 TextRange, TextUnit, 7 TextRange, TextUnit, T,
8}; 8};
9 9
10/// A token of Rust source. 10/// A token of Rust source.
@@ -115,21 +115,20 @@ fn rustc_token_kind_to_syntax_kind(
115 // being `u16` that come from `rowan::SyntaxKind`. 115 // being `u16` that come from `rowan::SyntaxKind`.
116 116
117 let syntax_kind = { 117 let syntax_kind = {
118 use rustc_lexer::TokenKind as TK;
119 match rustc_token_kind { 118 match rustc_token_kind {
120 TK::LineComment => COMMENT, 119 rustc_lexer::TokenKind::LineComment => COMMENT,
121 120
122 TK::BlockComment { terminated: true } => COMMENT, 121 rustc_lexer::TokenKind::BlockComment { terminated: true } => COMMENT,
123 TK::BlockComment { terminated: false } => { 122 rustc_lexer::TokenKind::BlockComment { terminated: false } => {
124 return ( 123 return (
125 COMMENT, 124 COMMENT,
126 Some("Missing trailing `*/` symbols to terminate the block comment"), 125 Some("Missing trailing `*/` symbols to terminate the block comment"),
127 ); 126 );
128 } 127 }
129 128
130 TK::Whitespace => WHITESPACE, 129 rustc_lexer::TokenKind::Whitespace => WHITESPACE,
131 130
132 TK::Ident => { 131 rustc_lexer::TokenKind::Ident => {
133 if token_text == "_" { 132 if token_text == "_" {
134 UNDERSCORE 133 UNDERSCORE
135 } else { 134 } else {
@@ -137,42 +136,42 @@ fn rustc_token_kind_to_syntax_kind(
137 } 136 }
138 } 137 }
139 138
140 TK::RawIdent => IDENT, 139 rustc_lexer::TokenKind::RawIdent => IDENT,
141 TK::Literal { kind, .. } => return match_literal_kind(&kind), 140 rustc_lexer::TokenKind::Literal { kind, .. } => return match_literal_kind(&kind),
142 141
143 TK::Lifetime { starts_with_number: false } => LIFETIME, 142 rustc_lexer::TokenKind::Lifetime { starts_with_number: false } => LIFETIME,
144 TK::Lifetime { starts_with_number: true } => { 143 rustc_lexer::TokenKind::Lifetime { starts_with_number: true } => {
145 return (LIFETIME, Some("Lifetime name cannot start with a number")) 144 return (LIFETIME, Some("Lifetime name cannot start with a number"))
146 } 145 }
147 146
148 TK::Semi => SEMI, 147 rustc_lexer::TokenKind::Semi => T![;],
149 TK::Comma => COMMA, 148 rustc_lexer::TokenKind::Comma => T![,],
150 TK::Dot => DOT, 149 rustc_lexer::TokenKind::Dot => T![.],
151 TK::OpenParen => L_PAREN, 150 rustc_lexer::TokenKind::OpenParen => T!['('],
152 TK::CloseParen => R_PAREN, 151 rustc_lexer::TokenKind::CloseParen => T![')'],
153 TK::OpenBrace => L_CURLY, 152 rustc_lexer::TokenKind::OpenBrace => T!['{'],
154 TK::CloseBrace => R_CURLY, 153 rustc_lexer::TokenKind::CloseBrace => T!['}'],
155 TK::OpenBracket => L_BRACK, 154 rustc_lexer::TokenKind::OpenBracket => T!['['],
156 TK::CloseBracket => R_BRACK, 155 rustc_lexer::TokenKind::CloseBracket => T![']'],
157 TK::At => AT, 156 rustc_lexer::TokenKind::At => T![@],
158 TK::Pound => POUND, 157 rustc_lexer::TokenKind::Pound => T![#],
159 TK::Tilde => TILDE, 158 rustc_lexer::TokenKind::Tilde => T![~],
160 TK::Question => QUESTION, 159 rustc_lexer::TokenKind::Question => T![?],
161 TK::Colon => COLON, 160 rustc_lexer::TokenKind::Colon => T![:],
162 TK::Dollar => DOLLAR, 161 rustc_lexer::TokenKind::Dollar => T![$],
163 TK::Eq => EQ, 162 rustc_lexer::TokenKind::Eq => T![=],
164 TK::Not => EXCL, 163 rustc_lexer::TokenKind::Not => T![!],
165 TK::Lt => L_ANGLE, 164 rustc_lexer::TokenKind::Lt => T![<],
166 TK::Gt => R_ANGLE, 165 rustc_lexer::TokenKind::Gt => T![>],
167 TK::Minus => MINUS, 166 rustc_lexer::TokenKind::Minus => T![-],
168 TK::And => AMP, 167 rustc_lexer::TokenKind::And => T![&],
169 TK::Or => PIPE, 168 rustc_lexer::TokenKind::Or => T![|],
170 TK::Plus => PLUS, 169 rustc_lexer::TokenKind::Plus => T![+],
171 TK::Star => STAR, 170 rustc_lexer::TokenKind::Star => T![*],
172 TK::Slash => SLASH, 171 rustc_lexer::TokenKind::Slash => T![/],
173 TK::Caret => CARET, 172 rustc_lexer::TokenKind::Caret => T![^],
174 TK::Percent => PERCENT, 173 rustc_lexer::TokenKind::Percent => T![%],
175 TK::Unknown => ERROR, 174 rustc_lexer::TokenKind::Unknown => ERROR,
176 } 175 }
177 }; 176 };
178 177
diff --git a/crates/ra_syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt b/crates/ra_syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt
index 782dfd974..290e0bd7c 100644
--- a/crates/ra_syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt
+++ b/crates/ra_syntax/test_data/lexer/err/0049_unstarted_raw_string_with_ascii.txt
@@ -6,5 +6,5 @@ WHITESPACE 1 " "
6IDENT 1 "a" 6IDENT 1 "a"
7WHITESPACE 1 " " 7WHITESPACE 1 " "
8IDENT 5 "quote" 8IDENT 5 "quote"
9EXCL 1 "!" 9BANG 1 "!"
10> error[0; 4) token("r## ") msg(Missing `"` symbol after `#` symbols to begin the raw string literal) 10> error[0; 4) token("r## ") msg(Missing `"` symbol after `#` symbols to begin the raw string literal)
diff --git a/crates/ra_syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt b/crates/ra_syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt
index 59c40cd65..5c492906d 100644
--- a/crates/ra_syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt
+++ b/crates/ra_syntax/test_data/lexer/err/0050_unstarted_raw_byte_string_with_ascii.txt
@@ -6,5 +6,5 @@ WHITESPACE 1 " "
6IDENT 1 "a" 6IDENT 1 "a"
7WHITESPACE 1 " " 7WHITESPACE 1 " "
8IDENT 5 "quote" 8IDENT 5 "quote"
9EXCL 1 "!" 9BANG 1 "!"
10> error[0; 5) token("br## ") msg(Missing `"` symbol after `#` symbols to begin the raw byte string literal) 10> error[0; 5) token("br## ") msg(Missing `"` symbol after `#` symbols to begin the raw byte string literal)
diff --git a/crates/ra_syntax/test_data/lexer/ok/0005_symbols.txt b/crates/ra_syntax/test_data/lexer/ok/0005_symbols.txt
index 469a90e42..2049c2f1d 100644
--- a/crates/ra_syntax/test_data/lexer/ok/0005_symbols.txt
+++ b/crates/ra_syntax/test_data/lexer/ok/0005_symbols.txt
@@ -1,4 +1,4 @@
1SEMI 1 ";" 1SEMICOLON 1 ";"
2WHITESPACE 1 " " 2WHITESPACE 1 " "
3COMMA 1 "," 3COMMA 1 ","
4WHITESPACE 1 " " 4WHITESPACE 1 " "
@@ -65,9 +65,9 @@ WHITESPACE 1 " "
65EQ 1 "=" 65EQ 1 "="
66R_ANGLE 1 ">" 66R_ANGLE 1 ">"
67WHITESPACE 1 "\n" 67WHITESPACE 1 "\n"
68EXCL 1 "!" 68BANG 1 "!"
69WHITESPACE 1 " " 69WHITESPACE 1 " "
70EXCL 1 "!" 70BANG 1 "!"
71EQ 1 "=" 71EQ 1 "="
72WHITESPACE 1 "\n" 72WHITESPACE 1 "\n"
73MINUS 1 "-" 73MINUS 1 "-"
diff --git a/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast b/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast
index 002680583..831bbf83f 100644
--- a/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast
+++ b/crates/ra_syntax/test_data/parser/err/0002_duplicate_shebang.rast
@@ -3,7 +3,7 @@ SOURCE_FILE@[0; 42)
3 WHITESPACE@[20; 21) "\n" 3 WHITESPACE@[20; 21) "\n"
4 ATTR@[21; 23) 4 ATTR@[21; 23)
5 POUND@[21; 22) "#" 5 POUND@[21; 22) "#"
6 EXCL@[22; 23) "!" 6 BANG@[22; 23) "!"
7 ERROR@[23; 24) 7 ERROR@[23; 24)
8 SLASH@[23; 24) "/" 8 SLASH@[23; 24) "/"
9 USE_ITEM@[24; 28) 9 USE_ITEM@[24; 28)
@@ -29,11 +29,11 @@ SOURCE_FILE@[0; 42)
29error [23; 23): expected `[` 29error [23; 23): expected `[`
30error [23; 23): expected an item 30error [23; 23): expected an item
31error [27; 27): expected one of `*`, `::`, `{`, `self`, `super` or an identifier 31error [27; 27): expected one of `*`, `::`, `{`, `self`, `super` or an identifier
32error [28; 28): expected SEMI 32error [28; 28): expected SEMICOLON
33error [31; 31): expected EXCL 33error [31; 31): expected BANG
34error [31; 31): expected `{`, `[`, `(` 34error [31; 31): expected `{`, `[`, `(`
35error [31; 31): expected SEMI 35error [31; 31): expected SEMICOLON
36error [31; 31): expected an item 36error [31; 31): expected an item
37error [35; 35): expected EXCL 37error [35; 35): expected BANG
38error [41; 41): expected `{`, `[`, `(` 38error [41; 41): expected `{`, `[`, `(`
39error [41; 41): expected SEMI 39error [41; 41): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast b/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast
index 8039a8913..6b89e7572 100644
--- a/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast
+++ b/crates/ra_syntax/test_data/parser/err/0003_C++_semicolon.rast
@@ -34,6 +34,6 @@ SOURCE_FILE@[0; 40)
34 WHITESPACE@[37; 38) "\n" 34 WHITESPACE@[37; 38) "\n"
35 R_CURLY@[38; 39) "}" 35 R_CURLY@[38; 39) "}"
36 ERROR@[39; 40) 36 ERROR@[39; 40)
37 SEMI@[39; 40) ";" 37 SEMICOLON@[39; 40) ";"
38error [39; 39): expected item, found `;` 38error [39; 39): expected item, found `;`
39consider removing this semicolon 39consider removing this semicolon
diff --git a/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast b/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast
index 5f6e10986..1d27d4cd6 100644
--- a/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast
+++ b/crates/ra_syntax/test_data/parser/err/0004_use_path_bad_segment.rast
@@ -8,9 +8,9 @@ SOURCE_FILE@[0; 12)
8 PATH_SEGMENT@[4; 7) 8 PATH_SEGMENT@[4; 7)
9 NAME_REF@[4; 7) 9 NAME_REF@[4; 7)
10 IDENT@[4; 7) "foo" 10 IDENT@[4; 7) "foo"
11 COLONCOLON@[7; 9) "::" 11 COLON2@[7; 9) "::"
12 PATH_SEGMENT@[9; 11) 12 PATH_SEGMENT@[9; 11)
13 ERROR@[9; 11) 13 ERROR@[9; 11)
14 INT_NUMBER@[9; 11) "92" 14 INT_NUMBER@[9; 11) "92"
15 SEMI@[11; 12) ";" 15 SEMICOLON@[11; 12) ";"
16error [9; 9): expected identifier 16error [9; 9): expected identifier
diff --git a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast
index 1978f30fa..c24e478f3 100644
--- a/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast
+++ b/crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast
@@ -7,7 +7,7 @@ SOURCE_FILE@[0; 31)
7 WHITESPACE@[9; 10) " " 7 WHITESPACE@[9; 10) " "
8 NAME@[10; 11) 8 NAME@[10; 11)
9 IDENT@[10; 11) "S" 9 IDENT@[10; 11) "S"
10 SEMI@[11; 12) ";" 10 SEMICOLON@[11; 12) ";"
11 WHITESPACE@[12; 14) "\n\n" 11 WHITESPACE@[12; 14) "\n\n"
12 ERROR@[14; 15) 12 ERROR@[14; 15)
13 R_CURLY@[14; 15) "}" 13 R_CURLY@[14; 15) "}"
diff --git a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast
index 98248227d..9f5041ae4 100644
--- a/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast
+++ b/crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast
@@ -76,6 +76,6 @@ SOURCE_FILE@[0; 95)
76 WHITESPACE@[92; 93) "\n" 76 WHITESPACE@[92; 93) "\n"
77 R_CURLY@[93; 94) "}" 77 R_CURLY@[93; 94) "}"
78 WHITESPACE@[94; 95) "\n" 78 WHITESPACE@[94; 95) "\n"
79error [17; 17): expected EXCL 79error [17; 17): expected BANG
80error [19; 19): expected SEMI 80error [19; 19): expected SEMICOLON
81error [20; 20): expected an item 81error [20; 20): expected an item
diff --git a/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast b/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast
index ca508ac7c..7ed80477d 100644
--- a/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast
+++ b/crates/ra_syntax/test_data/parser/err/0009_broken_struct_type_parameter.rast
@@ -43,7 +43,7 @@ SOURCE_FILE@[0; 43)
43 WHITESPACE@[39; 40) " " 43 WHITESPACE@[39; 40) " "
44 NAME@[40; 41) 44 NAME@[40; 41)
45 IDENT@[40; 41) "T" 45 IDENT@[40; 41) "T"
46 SEMI@[41; 42) ";" 46 SEMICOLON@[41; 42) ";"
47 WHITESPACE@[42; 43) "\n" 47 WHITESPACE@[42; 43) "\n"
48error [9; 9): expected type parameter 48error [9; 9): expected type parameter
49error [11; 11): expected COMMA 49error [11; 11): expected COMMA
@@ -53,6 +53,6 @@ error [12; 12): expected an item
53error [14; 14): expected an item 53error [14; 14): expected an item
54error [15; 15): expected an item 54error [15; 15): expected an item
55error [17; 17): expected an item 55error [17; 17): expected an item
56error [24; 24): expected SEMI 56error [24; 24): expected SEMICOLON
57error [24; 24): expected expression 57error [24; 24): expected expression
58error [25; 25): expected SEMI 58error [25; 25): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast
index 0ffbd25aa..5559c3297 100644
--- a/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast
+++ b/crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast
@@ -37,9 +37,9 @@ SOURCE_FILE@[0; 42)
37 R_PAREN@[35; 36) ")" 37 R_PAREN@[35; 36) ")"
38 WHITESPACE@[36; 37) " " 38 WHITESPACE@[36; 37) " "
39 R_CURLY@[37; 38) "}" 39 R_CURLY@[37; 38) "}"
40 SEMI@[38; 39) ";" 40 SEMICOLON@[38; 39) ";"
41 WHITESPACE@[39; 40) "\n" 41 WHITESPACE@[39; 40) "\n"
42 R_CURLY@[40; 41) "}" 42 R_CURLY@[40; 41) "}"
43 WHITESPACE@[41; 42) "\n" 43 WHITESPACE@[41; 42) "\n"
44error [24; 24): expected `{` 44error [24; 24): expected `{`
45error [24; 24): expected SEMI 45error [24; 24): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast b/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast
index 900894dcf..99c212fd6 100644
--- a/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast
+++ b/crates/ra_syntax/test_data/parser/err/0011_extern_struct.rast
@@ -8,6 +8,6 @@ SOURCE_FILE@[0; 19)
8 WHITESPACE@[13; 14) " " 8 WHITESPACE@[13; 14) " "
9 NAME@[14; 17) 9 NAME@[14; 17)
10 IDENT@[14; 17) "Foo" 10 IDENT@[14; 17) "Foo"
11 SEMI@[17; 18) ";" 11 SEMICOLON@[17; 18) ";"
12 WHITESPACE@[18; 19) "\n" 12 WHITESPACE@[18; 19) "\n"
13error [6; 6): expected existential, fn, trait or impl 13error [6; 6): expected existential, fn, trait or impl
diff --git a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
index 12ebc2a3a..0a3c0313d 100644
--- a/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
+++ b/crates/ra_syntax/test_data/parser/err/0012_broken_lambda.rast
@@ -106,7 +106,7 @@ SOURCE_FILE@[0; 389)
106 WHITESPACE@[122; 123) 106 WHITESPACE@[122; 123)
107 LITERAL@[123; 124) 107 LITERAL@[123; 124)
108 INT_NUMBER@[123; 124) "0" 108 INT_NUMBER@[123; 124) "0"
109 SEMI@[124; 125) 109 SEMICOLON@[124; 125)
110 WHITESPACE@[125; 130) 110 WHITESPACE@[125; 130)
111 LET_STMT@[130; 389) 111 LET_STMT@[130; 389)
112 LET_KW@[130; 133) 112 LET_KW@[130; 133)
@@ -226,7 +226,7 @@ SOURCE_FILE@[0; 389)
226 err: `expected pattern` 226 err: `expected pattern`
227 PARAM@[236; 237) 227 PARAM@[236; 237)
228 ERROR@[236; 237) 228 ERROR@[236; 237)
229 EXCL@[236; 237) 229 BANG@[236; 237)
230 err: `expected COMMA` 230 err: `expected COMMA`
231 PARAM@[237; 242) 231 PARAM@[237; 242)
232 BIND_PAT@[237; 242) 232 BIND_PAT@[237; 242)
@@ -272,7 +272,7 @@ SOURCE_FILE@[0; 389)
272 err: `expected pattern` 272 err: `expected pattern`
273 PARAM@[283; 284) 273 PARAM@[283; 284)
274 ERROR@[283; 284) 274 ERROR@[283; 284)
275 SEMI@[283; 284) 275 SEMICOLON@[283; 284)
276 err: `expected COMMA` 276 err: `expected COMMA`
277 WHITESPACE@[284; 297) 277 WHITESPACE@[284; 297)
278 err: `expected pattern` 278 err: `expected pattern`
@@ -327,7 +327,7 @@ SOURCE_FILE@[0; 389)
327 err: `expected pattern` 327 err: `expected pattern`
328 PARAM@[346; 347) 328 PARAM@[346; 347)
329 ERROR@[346; 347) 329 ERROR@[346; 347)
330 SEMI@[346; 347) 330 SEMICOLON@[346; 347)
331 err: `expected COMMA` 331 err: `expected COMMA`
332 WHITESPACE@[347; 360) 332 WHITESPACE@[347; 360)
333 err: `expected pattern` 333 err: `expected pattern`
@@ -371,7 +371,7 @@ SOURCE_FILE@[0; 389)
371 err: `expected pattern` 371 err: `expected pattern`
372 PARAM@[385; 386) 372 PARAM@[385; 386)
373 ERROR@[385; 386) 373 ERROR@[385; 386)
374 SEMI@[385; 386) 374 SEMICOLON@[385; 386)
375 err: `expected COMMA` 375 err: `expected COMMA`
376 WHITESPACE@[386; 387) 376 WHITESPACE@[386; 387)
377 err: `expected pattern` 377 err: `expected pattern`
diff --git a/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast b/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast
index 7a934cf66..cb570dc1c 100644
--- a/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast
+++ b/crates/ra_syntax/test_data/parser/err/0013_invalid_type.rast
@@ -67,7 +67,7 @@ SOURCE_FILE@[0; 86)
67 ERROR@[82; 83) 67 ERROR@[82; 83)
68 R_PAREN@[82; 83) ")" 68 R_PAREN@[82; 83) ")"
69 ERROR@[83; 84) 69 ERROR@[83; 84)
70 SEMI@[83; 84) ";" 70 SEMICOLON@[83; 84) ";"
71 WHITESPACE@[84; 86) "\n\n" 71 WHITESPACE@[84; 86) "\n\n"
72error [67; 67): expected type 72error [67; 67): expected type
73error [68; 68): expected COMMA 73error [68; 68): expected COMMA
@@ -80,7 +80,7 @@ error [68; 68): expected COMMA
80error [72; 72): expected COMMA 80error [72; 72): expected COMMA
81error [72; 72): expected a type 81error [72; 72): expected a type
82error [72; 72): expected R_PAREN 82error [72; 72): expected R_PAREN
83error [72; 72): expected SEMI 83error [72; 72): expected SEMICOLON
84error [72; 72): expected an item 84error [72; 72): expected an item
85error [73; 73): expected an item 85error [73; 73): expected an item
86error [79; 79): expected an item 86error [79; 79): expected an item
diff --git a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast
index 6343580e0..aca5a3ada 100644
--- a/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast
+++ b/crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast
@@ -37,8 +37,8 @@ SOURCE_FILE@[0; 56)
37 WHITESPACE@[49; 50) " " 37 WHITESPACE@[49; 50) " "
38 LITERAL@[50; 52) 38 LITERAL@[50; 52)
39 INT_NUMBER@[50; 52) "92" 39 INT_NUMBER@[50; 52) "92"
40 SEMI@[52; 53) ";" 40 SEMICOLON@[52; 53) ";"
41 WHITESPACE@[53; 54) "\n" 41 WHITESPACE@[53; 54) "\n"
42 R_CURLY@[54; 55) "}" 42 R_CURLY@[54; 55) "}"
43 WHITESPACE@[55; 56) "\n" 43 WHITESPACE@[55; 56) "\n"
44error [38; 38): expected SEMI 44error [38; 38): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast
index 59480e999..f9f4b9bc2 100644
--- a/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast
+++ b/crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 47)
34 WHITESPACE@[32; 33) " " 34 WHITESPACE@[32; 33) " "
35 LITERAL@[33; 35) 35 LITERAL@[33; 35)
36 INT_NUMBER@[33; 35) "92" 36 INT_NUMBER@[33; 35) "92"
37 SEMI@[35; 36) ";" 37 SEMICOLON@[35; 36) ";"
38 WHITESPACE@[36; 41) "\n " 38 WHITESPACE@[36; 41) "\n "
39 BIN_EXPR@[41; 44) 39 BIN_EXPR@[41; 44)
40 LITERAL@[41; 42) 40 LITERAL@[41; 42)
diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast
index 4b13a7236..9a8f76673 100644
--- a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast
+++ b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast
@@ -60,7 +60,7 @@ SOURCE_FILE@[0; 183)
60 ARG_LIST@[82; 84) 60 ARG_LIST@[82; 84)
61 L_PAREN@[82; 83) "(" 61 L_PAREN@[82; 83) "("
62 R_PAREN@[83; 84) ")" 62 R_PAREN@[83; 84) ")"
63 SEMI@[84; 85) ";" 63 SEMICOLON@[84; 85) ";"
64 WHITESPACE@[85; 94) "\n " 64 WHITESPACE@[85; 94) "\n "
65 METHOD_CALL_EXPR@[94; 155) 65 METHOD_CALL_EXPR@[94; 155)
66 FIELD_EXPR@[94; 105) 66 FIELD_EXPR@[94; 105)
@@ -107,7 +107,7 @@ SOURCE_FILE@[0; 183)
107 PATH_SEGMENT@[146; 149) 107 PATH_SEGMENT@[146; 149)
108 NAME_REF@[146; 149) 108 NAME_REF@[146; 149)
109 IDENT@[146; 149) "vec" 109 IDENT@[146; 149) "vec"
110 EXCL@[149; 150) "!" 110 BANG@[149; 150) "!"
111 TOKEN_TREE@[150; 152) 111 TOKEN_TREE@[150; 152)
112 L_BRACK@[150; 151) "[" 112 L_BRACK@[150; 151) "["
113 R_BRACK@[151; 152) "]" 113 R_BRACK@[151; 152) "]"
diff --git a/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast b/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast
index 97e91a94f..e283091e1 100644
--- a/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast
+++ b/crates/ra_syntax/test_data/parser/err/0019_let_recover.rast
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 139)
32 WHITESPACE@[38; 39) " " 32 WHITESPACE@[38; 39) " "
33 LITERAL@[39; 40) 33 LITERAL@[39; 40)
34 INT_NUMBER@[39; 40) "1" 34 INT_NUMBER@[39; 40) "1"
35 SEMI@[40; 41) ";" 35 SEMICOLON@[40; 41) ";"
36 WHITESPACE@[41; 46) "\n " 36 WHITESPACE@[41; 46) "\n "
37 LET_STMT@[46; 49) 37 LET_STMT@[46; 49)
38 LET_KW@[46; 49) "let" 38 LET_KW@[46; 49) "let"
@@ -48,7 +48,7 @@ SOURCE_FILE@[0; 139)
48 WHITESPACE@[63; 64) " " 48 WHITESPACE@[63; 64) " "
49 LITERAL@[64; 66) 49 LITERAL@[64; 66)
50 INT_NUMBER@[64; 66) "92" 50 INT_NUMBER@[64; 66) "92"
51 SEMI@[66; 67) ";" 51 SEMICOLON@[66; 67) ";"
52 WHITESPACE@[67; 72) "\n " 52 WHITESPACE@[67; 72) "\n "
53 LET_STMT@[72; 75) 53 LET_STMT@[72; 75)
54 LET_KW@[72; 75) "let" 54 LET_KW@[72; 75) "let"
@@ -96,12 +96,12 @@ SOURCE_FILE@[0; 139)
96 R_CURLY@[137; 138) "}" 96 R_CURLY@[137; 138) "}"
97 WHITESPACE@[138; 139) "\n" 97 WHITESPACE@[138; 139) "\n"
98error [24; 24): expected expression 98error [24; 24): expected expression
99error [24; 24): expected SEMI 99error [24; 24): expected SEMICOLON
100error [49; 49): expected pattern 100error [49; 49): expected pattern
101error [49; 49): expected SEMI 101error [49; 49): expected SEMICOLON
102error [75; 75): expected pattern 102error [75; 75): expected pattern
103error [75; 75): expected SEMI 103error [75; 75): expected SEMICOLON
104error [98; 98): expected pattern 104error [98; 98): expected pattern
105error [98; 98): expected SEMI 105error [98; 98): expected SEMICOLON
106error [124; 124): expected pattern 106error [124; 124): expected pattern
107error [124; 124): expected SEMI 107error [124; 124): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast
index 9f50c85e5..465749f95 100644
--- a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast
+++ b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast
@@ -150,34 +150,34 @@ SOURCE_FILE@[0; 112)
150 WHITESPACE@[111; 112) "\n" 150 WHITESPACE@[111; 112) "\n"
151error [16; 16): expected expression 151error [16; 16): expected expression
152error [17; 17): expected R_BRACK 152error [17; 17): expected R_BRACK
153error [17; 17): expected SEMI 153error [17; 17): expected SEMICOLON
154error [17; 17): expected expression 154error [17; 17): expected expression
155error [18; 18): expected SEMI 155error [18; 18): expected SEMICOLON
156error [25; 25): expected a name 156error [25; 25): expected a name
157error [26; 26): expected `;`, `{`, or `(` 157error [26; 26): expected `;`, `{`, or `(`
158error [30; 30): expected pattern 158error [30; 30): expected pattern
159error [31; 31): expected SEMI 159error [31; 31): expected SEMICOLON
160error [53; 53): expected expression 160error [53; 53): expected expression
161error [54; 54): expected SEMI 161error [54; 54): expected SEMICOLON
162error [54; 54): expected expression 162error [54; 54): expected expression
163error [55; 55): expected SEMI 163error [55; 55): expected SEMICOLON
164error [60; 60): expected type 164error [60; 60): expected type
165error [60; 60): expected `{` 165error [60; 60): expected `{`
166error [60; 60): expected expression 166error [60; 60): expected expression
167error [61; 61): expected SEMI 167error [61; 61): expected SEMICOLON
168error [65; 65): expected pattern 168error [65; 65): expected pattern
169error [65; 65): expected SEMI 169error [65; 65): expected SEMICOLON
170error [65; 65): expected expression 170error [65; 65): expected expression
171error [92; 92): expected expression 171error [92; 92): expected expression
172error [93; 93): expected SEMI 172error [93; 93): expected SEMICOLON
173error [93; 93): expected expression 173error [93; 93): expected expression
174error [94; 94): expected SEMI 174error [94; 94): expected SEMICOLON
175error [95; 95): expected expression 175error [95; 95): expected expression
176error [96; 96): expected SEMI 176error [96; 96): expected SEMICOLON
177error [96; 96): expected expression 177error [96; 96): expected expression
178error [97; 97): expected SEMI 178error [97; 97): expected SEMICOLON
179error [103; 103): expected a name 179error [103; 103): expected a name
180error [104; 104): expected `{` 180error [104; 104): expected `{`
181error [108; 108): expected pattern 181error [108; 108): expected pattern
182error [108; 108): expected SEMI 182error [108; 108): expected SEMICOLON
183error [108; 108): expected expression 183error [108; 108): expected expression
diff --git a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast
index 775e4b0da..97abe9510 100644
--- a/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast
+++ b/crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast
@@ -17,7 +17,7 @@ SOURCE_FILE@[0; 94)
17 PATH_SEGMENT@[16; 19) 17 PATH_SEGMENT@[16; 19)
18 NAME_REF@[16; 19) 18 NAME_REF@[16; 19)
19 IDENT@[16; 19) "foo" 19 IDENT@[16; 19) "foo"
20 EXCL@[19; 20) "!" 20 BANG@[19; 20) "!"
21 WHITESPACE@[20; 21) " " 21 WHITESPACE@[20; 21) " "
22 TOKEN_TREE@[21; 49) 22 TOKEN_TREE@[21; 49)
23 L_PAREN@[21; 22) "(" 23 L_PAREN@[21; 22) "("
diff --git a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast
index c5c8a29ba..a3cf3e60a 100644
--- a/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast
+++ b/crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast
@@ -144,7 +144,7 @@ SOURCE_FILE@[0; 240)
144 EXPR_STMT@[121; 123) 144 EXPR_STMT@[121; 123)
145 ERROR@[121; 122) 145 ERROR@[121; 122)
146 R_ANGLE@[121; 122) ">" 146 R_ANGLE@[121; 122) ">"
147 SEMI@[122; 123) ";" 147 SEMICOLON@[122; 123) ";"
148 WHITESPACE@[123; 128) "\n " 148 WHITESPACE@[123; 128) "\n "
149 LET_STMT@[128; 141) 149 LET_STMT@[128; 141)
150 LET_KW@[128; 131) "let" 150 LET_KW@[128; 131) "let"
@@ -219,7 +219,7 @@ SOURCE_FILE@[0; 240)
219 R_PAREN@[177; 178) ")" 219 R_PAREN@[177; 178) ")"
220 R_ANGLE@[178; 179) ">" 220 R_ANGLE@[178; 179) ">"
221 ERROR@[179; 180) 221 ERROR@[179; 180)
222 SEMI@[179; 180) ";" 222 SEMICOLON@[179; 180) ";"
223 WHITESPACE@[180; 185) "\n " 223 WHITESPACE@[180; 185) "\n "
224 LET_STMT@[185; 235) 224 LET_STMT@[185; 235)
225 LET_KW@[185; 188) "let" 225 LET_KW@[185; 188) "let"
@@ -286,24 +286,24 @@ SOURCE_FILE@[0; 240)
286 EXPR_STMT@[235; 237) 286 EXPR_STMT@[235; 237)
287 ERROR@[235; 236) 287 ERROR@[235; 236)
288 R_ANGLE@[235; 236) ">" 288 R_ANGLE@[235; 236) ">"
289 SEMI@[236; 237) ";" 289 SEMICOLON@[236; 237) ";"
290 WHITESPACE@[237; 238) "\n" 290 WHITESPACE@[237; 238) "\n"
291 R_CURLY@[238; 239) "}" 291 R_CURLY@[238; 239) "}"
292 WHITESPACE@[239; 240) "\n" 292 WHITESPACE@[239; 240) "\n"
293error [88; 88): expected COMMA 293error [88; 88): expected COMMA
294error [88; 88): expected R_ANGLE 294error [88; 88): expected R_ANGLE
295error [121; 121): expected SEMI 295error [121; 121): expected SEMICOLON
296error [121; 121): expected expression 296error [121; 121): expected expression
297error [140; 140): expected type 297error [140; 140): expected type
298error [141; 141): expected R_PAREN 298error [141; 141): expected R_PAREN
299error [141; 141): expected COMMA 299error [141; 141): expected COMMA
300error [141; 141): expected R_ANGLE 300error [141; 141): expected R_ANGLE
301error [141; 141): expected SEMI 301error [141; 141): expected SEMICOLON
302error [146; 146): expected SEMI 302error [146; 146): expected SEMICOLON
303error [146; 146): expected expression 303error [146; 146): expected expression
304error [147; 147): expected SEMI 304error [147; 147): expected SEMICOLON
305error [148; 148): expected expression 305error [148; 148): expected expression
306error [149; 149): expected SEMI 306error [149; 149): expected SEMICOLON
307error [154; 154): expected pattern 307error [154; 154): expected pattern
308error [155; 155): expected IN_KW 308error [155; 155): expected IN_KW
309error [155; 155): expected expression 309error [155; 155): expected expression
@@ -314,8 +314,8 @@ error [179; 179): expected expression
314error [180; 180): expected COMMA 314error [180; 180): expected COMMA
315error [180; 180): expected expression 315error [180; 180): expected expression
316error [180; 180): expected R_PAREN 316error [180; 180): expected R_PAREN
317error [180; 180): expected SEMI 317error [180; 180): expected SEMICOLON
318error [215; 215): expected COMMA 318error [215; 215): expected COMMA
319error [215; 215): expected R_ANGLE 319error [215; 215): expected R_ANGLE
320error [235; 235): expected SEMI 320error [235; 235): expected SEMICOLON
321error [235; 235): expected expression 321error [235; 235): expected expression
diff --git a/crates/ra_syntax/test_data/parser/err/0025_nope.rast b/crates/ra_syntax/test_data/parser/err/0025_nope.rast
index ca7f2d255..2b37ce94d 100644
--- a/crates/ra_syntax/test_data/parser/err/0025_nope.rast
+++ b/crates/ra_syntax/test_data/parser/err/0025_nope.rast
@@ -78,7 +78,7 @@ SOURCE_FILE@[0; 575)
78 WHITESPACE@[183; 184) " " 78 WHITESPACE@[183; 184) " "
79 LITERAL@[184; 185) 79 LITERAL@[184; 185)
80 INT_NUMBER@[184; 185) "1" 80 INT_NUMBER@[184; 185) "1"
81 SEMI@[185; 186) ";" 81 SEMICOLON@[185; 186) ";"
82 WHITESPACE@[186; 191) "\n " 82 WHITESPACE@[186; 191) "\n "
83 ENUM_DEF@[191; 223) 83 ENUM_DEF@[191; 223)
84 ENUM_KW@[191; 195) "enum" 84 ENUM_KW@[191; 195) "enum"
@@ -185,7 +185,7 @@ SOURCE_FILE@[0; 575)
185 WHITESPACE@[507; 508) " " 185 WHITESPACE@[507; 508) " "
186 ERROR@[508; 509) 186 ERROR@[508; 509)
187 UNDERSCORE@[508; 509) "_" 187 UNDERSCORE@[508; 509) "_"
188 SEMI@[509; 510) ";" 188 SEMICOLON@[509; 510) ";"
189 WHITESPACE@[510; 511) " " 189 WHITESPACE@[510; 511) " "
190 COMMENT@[511; 572) "//~ ERROR: expected e ..." 190 COMMENT@[511; 572) "//~ ERROR: expected e ..."
191 WHITESPACE@[572; 573) "\n" 191 WHITESPACE@[572; 573) "\n"
diff --git a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast
index 522a0d0e0..00d9fd511 100644
--- a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 350)
27 WHITESPACE@[30; 39) "\n " 27 WHITESPACE@[30; 39) "\n "
28 ATTR@[39; 83) 28 ATTR@[39; 83)
29 POUND@[39; 40) "#" 29 POUND@[39; 40) "#"
30 EXCL@[40; 41) "!" 30 BANG@[40; 41) "!"
31 L_BRACK@[41; 42) "[" 31 L_BRACK@[41; 42) "["
32 PATH@[42; 45) 32 PATH@[42; 45)
33 PATH_SEGMENT@[42; 45) 33 PATH_SEGMENT@[42; 45)
@@ -42,7 +42,7 @@ SOURCE_FILE@[0; 350)
42 COMMENT@[92; 122) "//! Nor are ModuleDoc ..." 42 COMMENT@[92; 122) "//! Nor are ModuleDoc ..."
43 WHITESPACE@[122; 127) "\n " 43 WHITESPACE@[122; 127) "\n "
44 R_CURLY@[127; 128) "}" 44 R_CURLY@[127; 128) "}"
45 SEMI@[128; 129) ";" 45 SEMICOLON@[128; 129) ";"
46 WHITESPACE@[129; 134) "\n " 46 WHITESPACE@[129; 134) "\n "
47 EXPR_STMT@[134; 257) 47 EXPR_STMT@[134; 257)
48 IF_EXPR@[134; 257) 48 IF_EXPR@[134; 257)
@@ -58,7 +58,7 @@ SOURCE_FILE@[0; 350)
58 WHITESPACE@[143; 152) "\n " 58 WHITESPACE@[143; 152) "\n "
59 ATTR@[152; 171) 59 ATTR@[152; 171)
60 POUND@[152; 153) "#" 60 POUND@[152; 153) "#"
61 EXCL@[153; 154) "!" 61 BANG@[153; 154) "!"
62 L_BRACK@[154; 155) "[" 62 L_BRACK@[154; 155) "["
63 PATH@[155; 158) 63 PATH@[155; 158)
64 PATH_SEGMENT@[155; 158) 64 PATH_SEGMENT@[155; 158)
@@ -72,7 +72,7 @@ SOURCE_FILE@[0; 350)
72 WHITESPACE@[171; 180) "\n " 72 WHITESPACE@[171; 180) "\n "
73 ATTR@[180; 212) 73 ATTR@[180; 212)
74 POUND@[180; 181) "#" 74 POUND@[180; 181) "#"
75 EXCL@[181; 182) "!" 75 BANG@[181; 182) "!"
76 L_BRACK@[182; 183) "[" 76 L_BRACK@[182; 183) "["
77 PATH@[183; 186) 77 PATH@[183; 186)
78 PATH_SEGMENT@[183; 186) 78 PATH_SEGMENT@[183; 186)
@@ -101,7 +101,7 @@ SOURCE_FILE@[0; 350)
101 WHITESPACE@[274; 283) "\n " 101 WHITESPACE@[274; 283) "\n "
102 ATTR@[283; 302) 102 ATTR@[283; 302)
103 POUND@[283; 284) "#" 103 POUND@[283; 284) "#"
104 EXCL@[284; 285) "!" 104 BANG@[284; 285) "!"
105 L_BRACK@[285; 286) "[" 105 L_BRACK@[285; 286) "["
106 PATH@[286; 289) 106 PATH@[286; 289)
107 PATH_SEGMENT@[286; 289) 107 PATH_SEGMENT@[286; 289)
diff --git a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
index c36e2f770..b80101e60 100644
--- a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 293)
38 ATTR@[51; 52) 38 ATTR@[51; 52)
39 POUND@[51; 52) "#" 39 POUND@[51; 52) "#"
40 ERROR@[52; 53) 40 ERROR@[52; 53)
41 EXCL@[52; 53) "!" 41 BANG@[52; 53) "!"
42 ARRAY_EXPR@[53; 78) 42 ARRAY_EXPR@[53; 78)
43 L_BRACK@[53; 54) "[" 43 L_BRACK@[53; 54) "["
44 CALL_EXPR@[54; 77) 44 CALL_EXPR@[54; 77)
@@ -104,7 +104,7 @@ SOURCE_FILE@[0; 293)
104 ATTR@[160; 161) 104 ATTR@[160; 161)
105 POUND@[160; 161) "#" 105 POUND@[160; 161) "#"
106 ERROR@[161; 162) 106 ERROR@[161; 162)
107 EXCL@[161; 162) "!" 107 BANG@[161; 162) "!"
108 ARRAY_EXPR@[162; 179) 108 ARRAY_EXPR@[162; 179)
109 L_BRACK@[162; 163) "[" 109 L_BRACK@[162; 163) "["
110 CALL_EXPR@[163; 178) 110 CALL_EXPR@[163; 178)
@@ -149,7 +149,7 @@ SOURCE_FILE@[0; 293)
149 ATTR@[231; 232) 149 ATTR@[231; 232)
150 POUND@[231; 232) "#" 150 POUND@[231; 232) "#"
151 ERROR@[232; 233) 151 ERROR@[232; 233)
152 EXCL@[232; 233) "!" 152 BANG@[232; 233) "!"
153 ARRAY_EXPR@[233; 250) 153 ARRAY_EXPR@[233; 250)
154 L_BRACK@[233; 234) "[" 154 L_BRACK@[233; 234) "["
155 CALL_EXPR@[234; 249) 155 CALL_EXPR@[234; 249)
diff --git a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast
index 2c91b6841..2ab9ee56f 100644
--- a/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast
+++ b/crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 91)
34 TUPLE_EXPR@[32; 34) 34 TUPLE_EXPR@[32; 34)
35 L_PAREN@[32; 33) "(" 35 L_PAREN@[32; 33) "("
36 R_PAREN@[33; 34) ")" 36 R_PAREN@[33; 34) ")"
37 SEMI@[34; 35) ";" 37 SEMICOLON@[34; 35) ";"
38 WHITESPACE@[35; 40) "\n " 38 WHITESPACE@[35; 40) "\n "
39 LET_STMT@[40; 51) 39 LET_STMT@[40; 51)
40 LET_KW@[40; 43) "let" 40 LET_KW@[40; 43) "let"
@@ -58,7 +58,7 @@ SOURCE_FILE@[0; 91)
58 TUPLE_EXPR@[56; 58) 58 TUPLE_EXPR@[56; 58)
59 L_PAREN@[56; 57) "(" 59 L_PAREN@[56; 57) "("
60 R_PAREN@[57; 58) ")" 60 R_PAREN@[57; 58) ")"
61 SEMI@[58; 59) ";" 61 SEMICOLON@[58; 59) ";"
62 WHITESPACE@[59; 64) "\n " 62 WHITESPACE@[59; 64) "\n "
63 LET_STMT@[64; 79) 63 LET_STMT@[64; 79)
64 LET_KW@[64; 67) "let" 64 LET_KW@[64; 67) "let"
@@ -84,13 +84,13 @@ SOURCE_FILE@[0; 91)
84 TUPLE_EXPR@[84; 86) 84 TUPLE_EXPR@[84; 86)
85 L_PAREN@[84; 85) "(" 85 L_PAREN@[84; 85) "("
86 R_PAREN@[85; 86) ")" 86 R_PAREN@[85; 86) ")"
87 SEMI@[86; 87) ";" 87 SEMICOLON@[86; 87) ";"
88 WHITESPACE@[87; 88) "\n" 88 WHITESPACE@[87; 88) "\n"
89 R_CURLY@[88; 89) "}" 89 R_CURLY@[88; 89) "}"
90 WHITESPACE@[89; 91) "\n\n" 90 WHITESPACE@[89; 91) "\n\n"
91error [24; 24): expected a name 91error [24; 24): expected a name
92error [27; 27): expected SEMI 92error [27; 27): expected SEMICOLON
93error [48; 48): expected a name 93error [48; 48): expected a name
94error [51; 51): expected SEMI 94error [51; 51): expected SEMICOLON
95error [76; 76): expected a name 95error [76; 76): expected a name
96error [79; 79): expected SEMI 96error [79; 79): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast b/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast
index 8cb4ea796..f255b0a6b 100644
--- a/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast
+++ b/crates/ra_syntax/test_data/parser/err/0035_use_recover.rast
@@ -8,11 +8,11 @@ SOURCE_FILE@[0; 48)
8 PATH_SEGMENT@[4; 7) 8 PATH_SEGMENT@[4; 7)
9 NAME_REF@[4; 7) 9 NAME_REF@[4; 7)
10 IDENT@[4; 7) "foo" 10 IDENT@[4; 7) "foo"
11 COLONCOLON@[7; 9) "::" 11 COLON2@[7; 9) "::"
12 PATH_SEGMENT@[9; 12) 12 PATH_SEGMENT@[9; 12)
13 NAME_REF@[9; 12) 13 NAME_REF@[9; 12)
14 IDENT@[9; 12) "bar" 14 IDENT@[9; 12) "bar"
15 SEMI@[12; 13) ";" 15 SEMICOLON@[12; 13) ";"
16 WHITESPACE@[13; 14) "\n" 16 WHITESPACE@[13; 14) "\n"
17 USE_ITEM@[14; 17) 17 USE_ITEM@[14; 17)
18 USE_KW@[14; 17) "use" 18 USE_KW@[14; 17) "use"
@@ -25,11 +25,11 @@ SOURCE_FILE@[0; 48)
25 PATH@[22; 27) 25 PATH@[22; 27)
26 PATH_SEGMENT@[22; 27) 26 PATH_SEGMENT@[22; 27)
27 CRATE_KW@[22; 27) "crate" 27 CRATE_KW@[22; 27) "crate"
28 COLONCOLON@[27; 29) "::" 28 COLON2@[27; 29) "::"
29 PATH_SEGMENT@[29; 32) 29 PATH_SEGMENT@[29; 32)
30 NAME_REF@[29; 32) 30 NAME_REF@[29; 32)
31 IDENT@[29; 32) "baz" 31 IDENT@[29; 32) "baz"
32 SEMI@[32; 33) ";" 32 SEMICOLON@[32; 33) ";"
33 WHITESPACE@[33; 34) "\n" 33 WHITESPACE@[33; 34) "\n"
34 USE_ITEM@[34; 37) 34 USE_ITEM@[34; 37)
35 USE_KW@[34; 37) "use" 35 USE_KW@[34; 37) "use"
@@ -49,6 +49,6 @@ SOURCE_FILE@[0; 48)
49 R_CURLY@[46; 47) "}" 49 R_CURLY@[46; 47) "}"
50 WHITESPACE@[47; 48) "\n" 50 WHITESPACE@[47; 48) "\n"
51error [17; 17): expected one of `*`, `::`, `{`, `self`, `super` or an identifier 51error [17; 17): expected one of `*`, `::`, `{`, `self`, `super` or an identifier
52error [17; 17): expected SEMI 52error [17; 17): expected SEMICOLON
53error [37; 37): expected one of `*`, `::`, `{`, `self`, `super` or an identifier 53error [37; 37): expected one of `*`, `::`, `{`, `self`, `super` or an identifier
54error [37; 37): expected SEMI 54error [37; 37): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast b/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast
index f5490fbe8..1f2b4f6d9 100644
--- a/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast
+++ b/crates/ra_syntax/test_data/parser/err/0036_partial_use.rast
@@ -7,7 +7,7 @@ SOURCE_FILE@[0; 37)
7 PATH_SEGMENT@[4; 7) 7 PATH_SEGMENT@[4; 7)
8 NAME_REF@[4; 7) 8 NAME_REF@[4; 7)
9 IDENT@[4; 7) "std" 9 IDENT@[4; 7) "std"
10 COLONCOLON@[7; 9) "::" 10 COLON2@[7; 9) "::"
11 USE_TREE_LIST@[9; 36) 11 USE_TREE_LIST@[9; 36)
12 L_CURLY@[9; 10) "{" 12 L_CURLY@[9; 10) "{"
13 USE_TREE@[10; 22) 13 USE_TREE@[10; 22)
@@ -16,12 +16,12 @@ SOURCE_FILE@[0; 37)
16 PATH_SEGMENT@[10; 15) 16 PATH_SEGMENT@[10; 15)
17 NAME_REF@[10; 15) 17 NAME_REF@[10; 15)
18 IDENT@[10; 15) "error" 18 IDENT@[10; 15) "error"
19 COLONCOLON@[15; 17) "::" 19 COLON2@[15; 17) "::"
20 PATH_SEGMENT@[17; 22) 20 PATH_SEGMENT@[17; 22)
21 NAME_REF@[17; 22) 21 NAME_REF@[17; 22)
22 IDENT@[17; 22) "Error" 22 IDENT@[17; 22) "Error"
23 ERROR@[22; 23) 23 ERROR@[22; 23)
24 SEMI@[22; 23) ";" 24 SEMICOLON@[22; 23) ";"
25 WHITESPACE@[23; 24) "\n" 25 WHITESPACE@[23; 24) "\n"
26 ERROR@[24; 27) 26 ERROR@[24; 27)
27 USE_KW@[24; 27) "use" 27 USE_KW@[24; 27) "use"
@@ -32,12 +32,12 @@ SOURCE_FILE@[0; 37)
32 PATH_SEGMENT@[28; 31) 32 PATH_SEGMENT@[28; 31)
33 NAME_REF@[28; 31) 33 NAME_REF@[28; 31)
34 IDENT@[28; 31) "std" 34 IDENT@[28; 31) "std"
35 COLONCOLON@[31; 33) "::" 35 COLON2@[31; 33) "::"
36 PATH_SEGMENT@[33; 35) 36 PATH_SEGMENT@[33; 35)
37 NAME_REF@[33; 35) 37 NAME_REF@[33; 35)
38 IDENT@[33; 35) "io" 38 IDENT@[33; 35) "io"
39 ERROR@[35; 36) 39 ERROR@[35; 36)
40 SEMI@[35; 36) ";" 40 SEMICOLON@[35; 36) ";"
41 WHITESPACE@[36; 37) "\n" 41 WHITESPACE@[36; 37) "\n"
42error [22; 22): expected COMMA 42error [22; 22): expected COMMA
43error [22; 22): expected one of `*`, `::`, `{`, `self`, `super` or an identifier 43error [22; 22): expected one of `*`, `::`, `{`, `self`, `super` or an identifier
@@ -48,4 +48,4 @@ error [35; 35): expected COMMA
48error [35; 35): expected one of `*`, `::`, `{`, `self`, `super` or an identifier 48error [35; 35): expected one of `*`, `::`, `{`, `self`, `super` or an identifier
49error [36; 36): expected COMMA 49error [36; 36): expected COMMA
50error [36; 36): expected R_CURLY 50error [36; 36): expected R_CURLY
51error [36; 36): expected SEMI 51error [36; 36): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast
index d8622d45f..5319bf936 100644
--- a/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast
+++ b/crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 118)
65 TUPLE_TYPE@[78; 80) 65 TUPLE_TYPE@[78; 80)
66 L_PAREN@[78; 79) "(" 66 L_PAREN@[78; 79) "("
67 R_PAREN@[79; 80) ")" 67 R_PAREN@[79; 80) ")"
68 SEMI@[80; 81) ";" 68 SEMICOLON@[80; 81) ";"
69 WHITESPACE@[81; 86) "\n " 69 WHITESPACE@[81; 86) "\n "
70 CONST_DEF@[86; 115) 70 CONST_DEF@[86; 115)
71 VISIBILITY@[86; 96) 71 VISIBILITY@[86; 96)
@@ -90,7 +90,7 @@ SOURCE_FILE@[0; 118)
90 WHITESPACE@[111; 112) " " 90 WHITESPACE@[111; 112) " "
91 LITERAL@[112; 114) 91 LITERAL@[112; 114)
92 INT_NUMBER@[112; 114) "92" 92 INT_NUMBER@[112; 114) "92"
93 SEMI@[114; 115) ";" 93 SEMICOLON@[114; 115) ";"
94 WHITESPACE@[115; 116) "\n" 94 WHITESPACE@[115; 116) "\n"
95 R_CURLY@[116; 117) "}" 95 R_CURLY@[116; 117) "}"
96 WHITESPACE@[117; 118) "\n" 96 WHITESPACE@[117; 118) "\n"
diff --git a/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast b/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast
index 3810b9680..9efdf7ef4 100644
--- a/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast
+++ b/crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast
@@ -16,13 +16,13 @@ SOURCE_FILE@[0; 33)
16 RANGE_EXPR@[16; 20) 16 RANGE_EXPR@[16; 20)
17 LITERAL@[16; 17) 17 LITERAL@[16; 17)
18 INT_NUMBER@[16; 17) "0" 18 INT_NUMBER@[16; 17) "0"
19 DOTDOTEQ@[17; 20) "..=" 19 DOT2EQ@[17; 20) "..="
20 SEMI@[20; 21) ";" 20 SEMICOLON@[20; 21) ";"
21 WHITESPACE@[21; 26) "\n " 21 WHITESPACE@[21; 26) "\n "
22 EXPR_STMT@[26; 30) 22 EXPR_STMT@[26; 30)
23 RANGE_EXPR@[26; 29) 23 RANGE_EXPR@[26; 29)
24 DOTDOTEQ@[26; 29) "..=" 24 DOT2EQ@[26; 29) "..="
25 SEMI@[29; 30) ";" 25 SEMICOLON@[29; 30) ";"
26 WHITESPACE@[30; 31) "\n" 26 WHITESPACE@[30; 31) "\n"
27 R_CURLY@[31; 32) "}" 27 R_CURLY@[31; 32) "}"
28 WHITESPACE@[32; 33) "\n" 28 WHITESPACE@[32; 33) "\n"
diff --git a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast
index 4a2f0a696..edf9c3247 100644
--- a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast
+++ b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 83)
64 NAME_REF@[67; 70) 64 NAME_REF@[67; 70)
65 IDENT@[67; 70) "max" 65 IDENT@[67; 70) "max"
66 TYPE_ARG_LIST@[70; 77) 66 TYPE_ARG_LIST@[70; 77)
67 COLONCOLON@[70; 72) "::" 67 COLON2@[70; 72) "::"
68 L_ANGLE@[72; 73) "<" 68 L_ANGLE@[72; 73) "<"
69 TYPE_ARG@[73; 76) 69 TYPE_ARG@[73; 76)
70 PATH_TYPE@[73; 76) 70 PATH_TYPE@[73; 76)
@@ -76,7 +76,7 @@ SOURCE_FILE@[0; 83)
76 ARG_LIST@[77; 79) 76 ARG_LIST@[77; 79)
77 L_PAREN@[77; 78) "(" 77 L_PAREN@[77; 78) "("
78 R_PAREN@[78; 79) ")" 78 R_PAREN@[78; 79) ")"
79 SEMI@[79; 80) ";" 79 SEMICOLON@[79; 80) ";"
80 WHITESPACE@[80; 81) "\n" 80 WHITESPACE@[80; 81) "\n"
81 R_CURLY@[81; 82) "}" 81 R_CURLY@[81; 82) "}"
82 WHITESPACE@[82; 83) "\n" 82 WHITESPACE@[82; 83) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast b/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast
index 530533b71..9d807c84f 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0001_array_type_missing_semi.rast
@@ -18,10 +18,10 @@ SOURCE_FILE@[0; 18)
18 ERROR@[15; 16) 18 ERROR@[15; 16)
19 R_BRACK@[15; 16) "]" 19 R_BRACK@[15; 16) "]"
20 ERROR@[16; 17) 20 ERROR@[16; 17)
21 SEMI@[16; 17) ";" 21 SEMICOLON@[16; 17) ";"
22 WHITESPACE@[17; 18) "\n" 22 WHITESPACE@[17; 18) "\n"
23error [12; 12): expected `;` or `]` 23error [12; 12): expected `;` or `]`
24error [12; 12): expected SEMI 24error [12; 12): expected SEMICOLON
25error [13; 13): expected an item 25error [13; 13): expected an item
26error [15; 15): expected an item 26error [15; 15): expected an item
27error [16; 16): expected an item 27error [16; 16): expected an item
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast b/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast
index 01a853d63..a85855f8c 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast
@@ -24,6 +24,6 @@ SOURCE_FILE@[0; 30)
24 R_CURLY@[28; 29) "}" 24 R_CURLY@[28; 29) "}"
25 WHITESPACE@[29; 30) "\n" 25 WHITESPACE@[29; 30) "\n"
26error [22; 22): expected a loop 26error [22; 22): expected a loop
27error [22; 22): expected SEMI 27error [22; 22): expected SEMICOLON
28error [27; 27): expected type 28error [27; 27): expected type
29error [27; 27): expected `{` 29error [27; 27): expected `{`
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
index 2ab29eecc..e9efad674 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast
@@ -12,6 +12,6 @@ SOURCE_FILE@[0; 14)
12 TUPLE_TYPE@[10; 12) 12 TUPLE_TYPE@[10; 12)
13 L_PAREN@[10; 11) "(" 13 L_PAREN@[10; 11) "("
14 R_PAREN@[11; 12) ")" 14 R_PAREN@[11; 12) ")"
15 SEMI@[12; 13) ";" 15 SEMICOLON@[12; 13) ";"
16 WHITESPACE@[13; 14) "\n" 16 WHITESPACE@[13; 14) "\n"
17error [10; 10): expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate) 17error [10; 10): expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate)
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast b/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast
index 9e9186ad4..b8a494085 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast
@@ -14,10 +14,10 @@ SOURCE_FILE@[0; 20)
14 ERROR@[17; 18) 14 ERROR@[17; 18)
15 R_PAREN@[17; 18) ")" 15 R_PAREN@[17; 18) ")"
16 ERROR@[18; 19) 16 ERROR@[18; 19)
17 SEMI@[18; 19) ";" 17 SEMICOLON@[18; 19) ";"
18 WHITESPACE@[19; 20) "\n" 18 WHITESPACE@[19; 20) "\n"
19error [15; 15): expected `fn` 19error [15; 15): expected `fn`
20error [15; 15): expected SEMI 20error [15; 15): expected SEMICOLON
21error [16; 16): expected an item 21error [16; 16): expected an item
22error [17; 17): expected an item 22error [17; 17): expected an item
23error [18; 18): expected an item 23error [18; 18): expected an item
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast b/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast
index a4002a998..c3f7eb477 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast
@@ -29,4 +29,4 @@ SOURCE_FILE@[0; 30)
29 WHITESPACE@[27; 28) " " 29 WHITESPACE@[27; 28) " "
30 R_CURLY@[28; 29) "}" 30 R_CURLY@[28; 29) "}"
31 WHITESPACE@[29; 30) "\n" 31 WHITESPACE@[29; 30) "\n"
32error [27; 27): expected SEMI 32error [27; 27): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast b/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast
index 6f45a4fa6..a345f8488 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast
@@ -19,7 +19,7 @@ SOURCE_FILE@[0; 21)
19 EXPR_STMT@[15; 18) 19 EXPR_STMT@[15; 18)
20 LITERAL@[15; 17) 20 LITERAL@[15; 17)
21 INT_NUMBER@[15; 17) "92" 21 INT_NUMBER@[15; 17) "92"
22 SEMI@[17; 18) ";" 22 SEMICOLON@[17; 18) ";"
23 WHITESPACE@[18; 19) " " 23 WHITESPACE@[18; 19) " "
24 R_CURLY@[19; 20) "}" 24 R_CURLY@[19; 20) "}"
25 WHITESPACE@[20; 21) "\n" 25 WHITESPACE@[20; 21) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
index e6d3a5c95..c3a70147a 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
@@ -30,7 +30,7 @@ SOURCE_FILE@[0; 48)
30 WHITESPACE@[22; 23) " " 30 WHITESPACE@[22; 23) " "
31 LITERAL@[23; 24) 31 LITERAL@[23; 24)
32 INT_NUMBER@[23; 24) "2" 32 INT_NUMBER@[23; 24) "2"
33 SEMI@[24; 25) ";" 33 SEMICOLON@[24; 25) ";"
34 WHITESPACE@[25; 29) "\n " 34 WHITESPACE@[25; 29) "\n "
35 EXPR_STMT@[29; 45) 35 EXPR_STMT@[29; 45)
36 ATTR@[29; 33) 36 ATTR@[29; 33)
@@ -53,7 +53,7 @@ SOURCE_FILE@[0; 48)
53 BLOCK@[42; 44) 53 BLOCK@[42; 44)
54 L_CURLY@[42; 43) "{" 54 L_CURLY@[42; 43) "{"
55 R_CURLY@[43; 44) "}" 55 R_CURLY@[43; 44) "}"
56 SEMI@[44; 45) ";" 56 SEMICOLON@[44; 45) ";"
57 WHITESPACE@[45; 46) "\n" 57 WHITESPACE@[45; 46) "\n"
58 R_CURLY@[46; 47) "}" 58 R_CURLY@[46; 47) "}"
59 WHITESPACE@[47; 48) "\n" 59 WHITESPACE@[47; 48) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
index 8ad2a588f..61d737abe 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 47)
21 IDENT@[15; 16) "x" 21 IDENT@[15; 16) "x"
22 DOT@[16; 17) "." 22 DOT@[16; 17) "."
23 FLOAT_NUMBER@[17; 19) "0." 23 FLOAT_NUMBER@[17; 19) "0."
24 SEMI@[19; 20) ";" 24 SEMICOLON@[19; 20) ";"
25 WHITESPACE@[20; 25) "\n " 25 WHITESPACE@[20; 25) "\n "
26 EXPR_STMT@[25; 32) 26 EXPR_STMT@[25; 32)
27 FIELD_EXPR@[25; 31) 27 FIELD_EXPR@[25; 31)
@@ -33,7 +33,7 @@ SOURCE_FILE@[0; 47)
33 DOT@[26; 27) "." 33 DOT@[26; 27) "."
34 NAME_REF@[27; 31) 34 NAME_REF@[27; 31)
35 INT_NUMBER@[27; 31) "1i32" 35 INT_NUMBER@[27; 31) "1i32"
36 SEMI@[31; 32) ";" 36 SEMICOLON@[31; 32) ";"
37 WHITESPACE@[32; 37) "\n " 37 WHITESPACE@[32; 37) "\n "
38 EXPR_STMT@[37; 44) 38 EXPR_STMT@[37; 44)
39 FIELD_EXPR@[37; 43) 39 FIELD_EXPR@[37; 43)
@@ -45,7 +45,7 @@ SOURCE_FILE@[0; 47)
45 DOT@[38; 39) "." 45 DOT@[38; 39) "."
46 NAME_REF@[39; 43) 46 NAME_REF@[39; 43)
47 INT_NUMBER@[39; 43) "0x01" 47 INT_NUMBER@[39; 43) "0x01"
48 SEMI@[43; 44) ";" 48 SEMICOLON@[43; 44) ";"
49 WHITESPACE@[44; 45) "\n" 49 WHITESPACE@[44; 45) "\n"
50 R_CURLY@[45; 46) "}" 50 R_CURLY@[45; 46) "}"
51 WHITESPACE@[46; 47) "\n" 51 WHITESPACE@[46; 47) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast b/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast
index 5b3dc5af2..62fca0a39 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0013_static_underscore.rast
@@ -16,6 +16,6 @@ SOURCE_FILE@[0; 19)
16 WHITESPACE@[15; 16) " " 16 WHITESPACE@[15; 16) " "
17 LITERAL@[16; 17) 17 LITERAL@[16; 17)
18 INT_NUMBER@[16; 17) "5" 18 INT_NUMBER@[16; 17) "5"
19 SEMI@[17; 18) ";" 19 SEMICOLON@[17; 18) ";"
20 WHITESPACE@[18; 19) "\n" 20 WHITESPACE@[18; 19) "\n"
21error [7; 7): expected a name 21error [7; 7): expected a name
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast
index 25d80be1d..aa960d3ef 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 62)
27 PATH_SEGMENT@[31; 34) 27 PATH_SEGMENT@[31; 34)
28 NAME_REF@[31; 34) 28 NAME_REF@[31; 34)
29 IDENT@[31; 34) "Bar" 29 IDENT@[31; 34) "Bar"
30 SEMI@[34; 35) ";" 30 SEMICOLON@[34; 35) ";"
31 WHITESPACE@[35; 40) "\n " 31 WHITESPACE@[35; 40) "\n "
32 MACRO_CALL@[40; 47) 32 MACRO_CALL@[40; 47)
33 PATH@[40; 47) 33 PATH@[40; 47)
@@ -51,9 +51,9 @@ SOURCE_FILE@[0; 62)
51 WHITESPACE@[59; 60) "\n" 51 WHITESPACE@[59; 60) "\n"
52 R_CURLY@[60; 61) "}" 52 R_CURLY@[60; 61) "}"
53 WHITESPACE@[61; 62) "\n" 53 WHITESPACE@[61; 62) "\n"
54error [21; 21): expected EXCL 54error [21; 21): expected BANG
55error [21; 21): expected `{`, `[`, `(` 55error [21; 21): expected `{`, `[`, `(`
56error [21; 21): expected SEMI 56error [21; 21): expected SEMICOLON
57error [47; 47): expected EXCL 57error [47; 47): expected BANG
58error [47; 47): expected `{`, `[`, `(` 58error [47; 47): expected `{`, `[`, `(`
59error [47; 47): expected SEMI 59error [47; 47): expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast
index ad9f0965e..25c6ef7e3 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 83)
25 PATH_SEGMENT@[21; 26) 25 PATH_SEGMENT@[21; 26)
26 NAME_REF@[21; 26) 26 NAME_REF@[21; 26)
27 IDENT@[21; 26) "Clone" 27 IDENT@[21; 26) "Clone"
28 SEMI@[26; 27) ";" 28 SEMICOLON@[26; 27) ";"
29 WHITESPACE@[27; 32) "\n " 29 WHITESPACE@[27; 32) "\n "
30 CONST_DEF@[32; 45) 30 CONST_DEF@[32; 45)
31 CONST_KW@[32; 37) "const" 31 CONST_KW@[32; 37) "const"
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 83)
39 PATH_SEGMENT@[41; 44) 39 PATH_SEGMENT@[41; 44)
40 NAME_REF@[41; 44) 40 NAME_REF@[41; 44)
41 IDENT@[41; 44) "i32" 41 IDENT@[41; 44) "i32"
42 SEMI@[44; 45) ";" 42 SEMICOLON@[44; 45) ";"
43 WHITESPACE@[45; 50) "\n " 43 WHITESPACE@[45; 50) "\n "
44 FN_DEF@[50; 61) 44 FN_DEF@[50; 61)
45 FN_KW@[50; 52) "fn" 45 FN_KW@[50; 52) "fn"
@@ -66,7 +66,7 @@ SOURCE_FILE@[0; 83)
66 AMP@[73; 74) "&" 66 AMP@[73; 74) "&"
67 SELF_KW@[74; 78) "self" 67 SELF_KW@[74; 78) "self"
68 R_PAREN@[78; 79) ")" 68 R_PAREN@[78; 79) ")"
69 SEMI@[79; 80) ";" 69 SEMICOLON@[79; 80) ";"
70 WHITESPACE@[80; 81) "\n" 70 WHITESPACE@[80; 81) "\n"
71 R_CURLY@[81; 82) "}" 71 R_CURLY@[81; 82) "}"
72 WHITESPACE@[82; 83) "\n" 72 WHITESPACE@[82; 83) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
index 1b318dfb9..69c459daf 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0002_use_tree_list.rast
@@ -12,15 +12,15 @@ SOURCE_FILE@[0; 250)
12 PATH@[5; 10) 12 PATH@[5; 10)
13 PATH_SEGMENT@[5; 10) 13 PATH_SEGMENT@[5; 10)
14 CRATE_KW@[5; 10) "crate" 14 CRATE_KW@[5; 10) "crate"
15 COLONCOLON@[10; 12) "::" 15 COLON2@[10; 12) "::"
16 PATH_SEGMENT@[12; 16) 16 PATH_SEGMENT@[12; 16)
17 NAME_REF@[12; 16) 17 NAME_REF@[12; 16)
18 IDENT@[12; 16) "path" 18 IDENT@[12; 16) "path"
19 COLONCOLON@[16; 18) "::" 19 COLON2@[16; 18) "::"
20 PATH_SEGMENT@[18; 22) 20 PATH_SEGMENT@[18; 22)
21 NAME_REF@[18; 22) 21 NAME_REF@[18; 22)
22 IDENT@[18; 22) "from" 22 IDENT@[18; 22) "from"
23 COLONCOLON@[22; 24) "::" 23 COLON2@[22; 24) "::"
24 PATH_SEGMENT@[24; 28) 24 PATH_SEGMENT@[24; 28)
25 NAME_REF@[24; 28) 25 NAME_REF@[24; 28)
26 IDENT@[24; 28) "root" 26 IDENT@[24; 28) "root"
@@ -34,20 +34,20 @@ SOURCE_FILE@[0; 250)
34 PATH_SEGMENT@[30; 32) 34 PATH_SEGMENT@[30; 32)
35 NAME_REF@[30; 32) 35 NAME_REF@[30; 32)
36 IDENT@[30; 32) "or" 36 IDENT@[30; 32) "or"
37 COLONCOLON@[32; 34) "::" 37 COLON2@[32; 34) "::"
38 PATH_SEGMENT@[34; 38) 38 PATH_SEGMENT@[34; 38)
39 NAME_REF@[34; 38) 39 NAME_REF@[34; 38)
40 IDENT@[34; 38) "path" 40 IDENT@[34; 38) "path"
41 COLONCOLON@[38; 40) "::" 41 COLON2@[38; 40) "::"
42 PATH_SEGMENT@[40; 44) 42 PATH_SEGMENT@[40; 44)
43 NAME_REF@[40; 44) 43 NAME_REF@[40; 44)
44 IDENT@[40; 44) "from" 44 IDENT@[40; 44) "from"
45 COLONCOLON@[44; 46) "::" 45 COLON2@[44; 46) "::"
46 PATH_SEGMENT@[46; 56) 46 PATH_SEGMENT@[46; 56)
47 NAME_REF@[46; 56) 47 NAME_REF@[46; 56)
48 IDENT@[46; 56) "crate_name" 48 IDENT@[46; 56) "crate_name"
49 R_CURLY@[56; 57) "}" 49 R_CURLY@[56; 57) "}"
50 SEMI@[57; 58) ";" 50 SEMICOLON@[57; 58) ";"
51 WHITESPACE@[58; 59) " " 51 WHITESPACE@[58; 59) " "
52 COMMENT@[59; 97) "// Rust 2018 (with a ..." 52 COMMENT@[59; 97) "// Rust 2018 (with a ..."
53 WHITESPACE@[97; 98) "\n" 53 WHITESPACE@[97; 98) "\n"
@@ -64,16 +64,16 @@ SOURCE_FILE@[0; 250)
64 PATH_SEGMENT@[103; 107) 64 PATH_SEGMENT@[103; 107)
65 NAME_REF@[103; 107) 65 NAME_REF@[103; 107)
66 IDENT@[103; 107) "path" 66 IDENT@[103; 107) "path"
67 COLONCOLON@[107; 109) "::" 67 COLON2@[107; 109) "::"
68 PATH_SEGMENT@[109; 113) 68 PATH_SEGMENT@[109; 113)
69 NAME_REF@[109; 113) 69 NAME_REF@[109; 113)
70 IDENT@[109; 113) "from" 70 IDENT@[109; 113) "from"
71 COLONCOLON@[113; 115) "::" 71 COLON2@[113; 115) "::"
72 PATH_SEGMENT@[115; 119) 72 PATH_SEGMENT@[115; 119)
73 NAME_REF@[115; 119) 73 NAME_REF@[115; 119)
74 IDENT@[115; 119) "root" 74 IDENT@[115; 119) "root"
75 R_CURLY@[119; 120) "}" 75 R_CURLY@[119; 120) "}"
76 SEMI@[120; 121) ";" 76 SEMICOLON@[120; 121) ";"
77 WHITESPACE@[121; 122) " " 77 WHITESPACE@[121; 122) " "
78 COMMENT@[122; 134) "// Rust 2015" 78 COMMENT@[122; 134) "// Rust 2015"
79 WHITESPACE@[134; 135) "\n" 79 WHITESPACE@[134; 135) "\n"
@@ -81,7 +81,7 @@ SOURCE_FILE@[0; 250)
81 USE_KW@[135; 138) "use" 81 USE_KW@[135; 138) "use"
82 WHITESPACE@[138; 139) " " 82 WHITESPACE@[138; 139) " "
83 USE_TREE@[139; 165) 83 USE_TREE@[139; 165)
84 COLONCOLON@[139; 141) "::" 84 COLON2@[139; 141) "::"
85 USE_TREE_LIST@[141; 165) 85 USE_TREE_LIST@[141; 165)
86 L_CURLY@[141; 142) "{" 86 L_CURLY@[141; 142) "{"
87 USE_TREE@[142; 164) 87 USE_TREE@[142; 164)
@@ -91,16 +91,16 @@ SOURCE_FILE@[0; 250)
91 PATH_SEGMENT@[142; 146) 91 PATH_SEGMENT@[142; 146)
92 NAME_REF@[142; 146) 92 NAME_REF@[142; 146)
93 IDENT@[142; 146) "some" 93 IDENT@[142; 146) "some"
94 COLONCOLON@[146; 148) "::" 94 COLON2@[146; 148) "::"
95 PATH_SEGMENT@[148; 158) 95 PATH_SEGMENT@[148; 158)
96 NAME_REF@[148; 158) 96 NAME_REF@[148; 158)
97 IDENT@[148; 158) "arbritrary" 97 IDENT@[148; 158) "arbritrary"
98 COLONCOLON@[158; 160) "::" 98 COLON2@[158; 160) "::"
99 PATH_SEGMENT@[160; 164) 99 PATH_SEGMENT@[160; 164)
100 NAME_REF@[160; 164) 100 NAME_REF@[160; 164)
101 IDENT@[160; 164) "path" 101 IDENT@[160; 164) "path"
102 R_CURLY@[164; 165) "}" 102 R_CURLY@[164; 165) "}"
103 SEMI@[165; 166) ";" 103 SEMICOLON@[165; 166) ";"
104 WHITESPACE@[166; 167) " " 104 WHITESPACE@[166; 167) " "
105 COMMENT@[167; 179) "// Rust 2015" 105 COMMENT@[167; 179) "// Rust 2015"
106 WHITESPACE@[179; 180) "\n" 106 WHITESPACE@[179; 180) "\n"
@@ -108,7 +108,7 @@ SOURCE_FILE@[0; 250)
108 USE_KW@[180; 183) "use" 108 USE_KW@[180; 183) "use"
109 WHITESPACE@[183; 184) " " 109 WHITESPACE@[183; 184) " "
110 USE_TREE@[184; 205) 110 USE_TREE@[184; 205)
111 COLONCOLON@[184; 186) "::" 111 COLON2@[184; 186) "::"
112 USE_TREE_LIST@[186; 205) 112 USE_TREE_LIST@[186; 205)
113 L_CURLY@[186; 187) "{" 113 L_CURLY@[186; 187) "{"
114 USE_TREE@[187; 204) 114 USE_TREE@[187; 204)
@@ -122,14 +122,14 @@ SOURCE_FILE@[0; 250)
122 PATH@[189; 194) 122 PATH@[189; 194)
123 PATH_SEGMENT@[189; 194) 123 PATH_SEGMENT@[189; 194)
124 CRATE_KW@[189; 194) "crate" 124 CRATE_KW@[189; 194) "crate"
125 COLONCOLON@[194; 196) "::" 125 COLON2@[194; 196) "::"
126 PATH_SEGMENT@[196; 202) 126 PATH_SEGMENT@[196; 202)
127 NAME_REF@[196; 202) 127 NAME_REF@[196; 202)
128 IDENT@[196; 202) "export" 128 IDENT@[196; 202) "export"
129 R_CURLY@[202; 203) "}" 129 R_CURLY@[202; 203) "}"
130 R_CURLY@[203; 204) "}" 130 R_CURLY@[203; 204) "}"
131 R_CURLY@[204; 205) "}" 131 R_CURLY@[204; 205) "}"
132 SEMI@[205; 206) ";" 132 SEMICOLON@[205; 206) ";"
133 WHITESPACE@[206; 207) " " 133 WHITESPACE@[206; 207) " "
134 COMMENT@[207; 249) "// Nonsensical but pe ..." 134 COMMENT@[207; 249) "// Nonsensical but pe ..."
135 WHITESPACE@[249; 250) "\n" 135 WHITESPACE@[249; 250) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
index 9241f6fb2..a0cf1e4f6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast
@@ -56,5 +56,5 @@ SOURCE_FILE@[0; 39)
56 R_PAREN@[34; 35) ")" 56 R_PAREN@[34; 35) ")"
57 R_PAREN@[35; 36) ")" 57 R_PAREN@[35; 36) ")"
58 R_ANGLE@[36; 37) ">" 58 R_ANGLE@[36; 37) ">"
59 SEMI@[37; 38) ";" 59 SEMICOLON@[37; 38) ";"
60 WHITESPACE@[38; 39) "\n" 60 WHITESPACE@[38; 39) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast
index a7186c7a8..027abf179 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0007_type_param_bounds.rast
@@ -36,5 +36,5 @@ SOURCE_FILE@[0; 35)
36 IDENT@[27; 31) "Copy" 36 IDENT@[27; 31) "Copy"
37 R_PAREN@[31; 32) ")" 37 R_PAREN@[31; 32) ")"
38 R_ANGLE@[32; 33) ">" 38 R_ANGLE@[32; 33) ">"
39 SEMI@[33; 34) ";" 39 SEMICOLON@[33; 34) ";"
40 WHITESPACE@[34; 35) "\n" 40 WHITESPACE@[34; 35) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
index 3812adc9e..f4697fed6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 103)
21 PATH_SEGMENT@[19; 22) 21 PATH_SEGMENT@[19; 22)
22 NAME_REF@[19; 22) 22 NAME_REF@[19; 22)
23 IDENT@[19; 22) "foo" 23 IDENT@[19; 22) "foo"
24 COLONCOLON@[22; 24) "::" 24 COLON2@[22; 24) "::"
25 PATH_SEGMENT@[24; 27) 25 PATH_SEGMENT@[24; 27)
26 NAME_REF@[24; 27) 26 NAME_REF@[24; 27)
27 IDENT@[24; 27) "Bar" 27 IDENT@[24; 27) "Bar"
@@ -31,7 +31,7 @@ SOURCE_FILE@[0; 103)
31 TUPLE_EXPR@[30; 32) 31 TUPLE_EXPR@[30; 32)
32 L_PAREN@[30; 31) "(" 32 L_PAREN@[30; 31) "("
33 R_PAREN@[31; 32) ")" 33 R_PAREN@[31; 32) ")"
34 SEMI@[32; 33) ";" 34 SEMICOLON@[32; 33) ";"
35 WHITESPACE@[33; 38) "\n " 35 WHITESPACE@[33; 38) "\n "
36 LET_STMT@[38; 53) 36 LET_STMT@[38; 53)
37 LET_KW@[38; 41) "let" 37 LET_KW@[38; 41) "let"
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 103)
39 PATH_PAT@[42; 47) 39 PATH_PAT@[42; 47)
40 PATH@[42; 47) 40 PATH@[42; 47)
41 PATH_SEGMENT@[42; 47) 41 PATH_SEGMENT@[42; 47)
42 COLONCOLON@[42; 44) "::" 42 COLON2@[42; 44) "::"
43 NAME_REF@[44; 47) 43 NAME_REF@[44; 47)
44 IDENT@[44; 47) "Bar" 44 IDENT@[44; 47) "Bar"
45 WHITESPACE@[47; 48) " " 45 WHITESPACE@[47; 48) " "
@@ -48,7 +48,7 @@ SOURCE_FILE@[0; 103)
48 TUPLE_EXPR@[50; 52) 48 TUPLE_EXPR@[50; 52)
49 L_PAREN@[50; 51) "(" 49 L_PAREN@[50; 51) "("
50 R_PAREN@[51; 52) ")" 50 R_PAREN@[51; 52) ")"
51 SEMI@[52; 53) ";" 51 SEMICOLON@[52; 53) ";"
52 WHITESPACE@[53; 58) "\n " 52 WHITESPACE@[53; 58) "\n "
53 LET_STMT@[58; 78) 53 LET_STMT@[58; 78)
54 LET_KW@[58; 61) "let" 54 LET_KW@[58; 61) "let"
@@ -62,7 +62,7 @@ SOURCE_FILE@[0; 103)
62 RECORD_FIELD_PAT_LIST@[66; 72) 62 RECORD_FIELD_PAT_LIST@[66; 72)
63 L_CURLY@[66; 67) "{" 63 L_CURLY@[66; 67) "{"
64 WHITESPACE@[67; 68) " " 64 WHITESPACE@[67; 68) " "
65 DOTDOT@[68; 70) ".." 65 DOT2@[68; 70) ".."
66 WHITESPACE@[70; 71) " " 66 WHITESPACE@[70; 71) " "
67 R_CURLY@[71; 72) "}" 67 R_CURLY@[71; 72) "}"
68 WHITESPACE@[72; 73) " " 68 WHITESPACE@[72; 73) " "
@@ -71,7 +71,7 @@ SOURCE_FILE@[0; 103)
71 TUPLE_EXPR@[75; 77) 71 TUPLE_EXPR@[75; 77)
72 L_PAREN@[75; 76) "(" 72 L_PAREN@[75; 76) "("
73 R_PAREN@[76; 77) ")" 73 R_PAREN@[76; 77) ")"
74 SEMI@[77; 78) ";" 74 SEMICOLON@[77; 78) ";"
75 WHITESPACE@[78; 83) "\n " 75 WHITESPACE@[78; 83) "\n "
76 LET_STMT@[83; 100) 76 LET_STMT@[83; 100)
77 LET_KW@[83; 86) "let" 77 LET_KW@[83; 86) "let"
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 103)
83 IDENT@[87; 90) "Bar" 83 IDENT@[87; 90) "Bar"
84 L_PAREN@[90; 91) "(" 84 L_PAREN@[90; 91) "("
85 DOT_DOT_PAT@[91; 93) 85 DOT_DOT_PAT@[91; 93)
86 DOTDOT@[91; 93) ".." 86 DOT2@[91; 93) ".."
87 R_PAREN@[93; 94) ")" 87 R_PAREN@[93; 94) ")"
88 WHITESPACE@[94; 95) " " 88 WHITESPACE@[94; 95) " "
89 EQ@[95; 96) "=" 89 EQ@[95; 96) "="
@@ -91,7 +91,7 @@ SOURCE_FILE@[0; 103)
91 TUPLE_EXPR@[97; 99) 91 TUPLE_EXPR@[97; 99)
92 L_PAREN@[97; 98) "(" 92 L_PAREN@[97; 98) "("
93 R_PAREN@[98; 99) ")" 93 R_PAREN@[98; 99) ")"
94 SEMI@[99; 100) ";" 94 SEMICOLON@[99; 100) ";"
95 WHITESPACE@[100; 101) "\n" 95 WHITESPACE@[100; 101) "\n"
96 R_CURLY@[101; 102) "}" 96 R_CURLY@[101; 102) "}"
97 WHITESPACE@[102; 103) "\n" 97 WHITESPACE@[102; 103) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast
index 2d8872022..cc759310a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast
@@ -20,7 +20,7 @@ SOURCE_FILE@[0; 26)
20 BLOCK@[20; 22) 20 BLOCK@[20; 22)
21 L_CURLY@[20; 21) "{" 21 L_CURLY@[20; 21) "{"
22 R_CURLY@[21; 22) "}" 22 R_CURLY@[21; 22) "}"
23 SEMI@[22; 23) ";" 23 SEMICOLON@[22; 23) ";"
24 WHITESPACE@[23; 24) "\n" 24 WHITESPACE@[23; 24) "\n"
25 R_CURLY@[24; 25) "}" 25 R_CURLY@[24; 25) "}"
26 WHITESPACE@[25; 26) "\n" 26 WHITESPACE@[25; 26) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast
index 29b268b55..c2fafe472 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast
@@ -22,7 +22,7 @@ SOURCE_FILE@[0; 48)
22 DOT@[16; 17) "." 22 DOT@[16; 17) "."
23 NAME_REF@[17; 20) 23 NAME_REF@[17; 20)
24 IDENT@[17; 20) "foo" 24 IDENT@[17; 20) "foo"
25 SEMI@[20; 21) ";" 25 SEMICOLON@[20; 21) ";"
26 WHITESPACE@[21; 26) "\n " 26 WHITESPACE@[21; 26) "\n "
27 EXPR_STMT@[26; 34) 27 EXPR_STMT@[26; 34)
28 FIELD_EXPR@[26; 33) 28 FIELD_EXPR@[26; 33)
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 48)
38 DOT@[29; 30) "." 38 DOT@[29; 30) "."
39 NAME_REF@[30; 33) 39 NAME_REF@[30; 33)
40 IDENT@[30; 33) "bar" 40 IDENT@[30; 33) "bar"
41 SEMI@[33; 34) ";" 41 SEMICOLON@[33; 34) ";"
42 WHITESPACE@[34; 39) "\n " 42 WHITESPACE@[34; 39) "\n "
43 EXPR_STMT@[39; 45) 43 EXPR_STMT@[39; 45)
44 CALL_EXPR@[39; 44) 44 CALL_EXPR@[39; 44)
@@ -54,7 +54,7 @@ SOURCE_FILE@[0; 48)
54 ARG_LIST@[42; 44) 54 ARG_LIST@[42; 44)
55 L_PAREN@[42; 43) "(" 55 L_PAREN@[42; 43) "("
56 R_PAREN@[43; 44) ")" 56 R_PAREN@[43; 44) ")"
57 SEMI@[44; 45) ";" 57 SEMICOLON@[44; 45) ";"
58 WHITESPACE@[45; 46) "\n" 58 WHITESPACE@[45; 46) "\n"
59 R_CURLY@[46; 47) "}" 59 R_CURLY@[46; 47) "}"
60 WHITESPACE@[47; 48) "\n" 60 WHITESPACE@[47; 48) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast
index da04dac5c..15d8c736d 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0012_type_item_where_clause.rast
@@ -29,5 +29,5 @@ SOURCE_FILE@[0; 31)
29 TUPLE_TYPE@[27; 29) 29 TUPLE_TYPE@[27; 29)
30 L_PAREN@[27; 28) "(" 30 L_PAREN@[27; 28) "("
31 R_PAREN@[28; 29) ")" 31 R_PAREN@[28; 29) ")"
32 SEMI@[29; 30) ";" 32 SEMICOLON@[29; 30) ";"
33 WHITESPACE@[30; 31) "\n" 33 WHITESPACE@[30; 31) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
index c05f873d6..a72d56495 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0013_pointer_type_mut.rast
@@ -14,7 +14,7 @@ SOURCE_FILE@[0; 36)
14 TUPLE_TYPE@[14; 16) 14 TUPLE_TYPE@[14; 16)
15 L_PAREN@[14; 15) "(" 15 L_PAREN@[14; 15) "("
16 R_PAREN@[15; 16) ")" 16 R_PAREN@[15; 16) ")"
17 SEMI@[16; 17) ";" 17 SEMICOLON@[16; 17) ";"
18 WHITESPACE@[17; 18) "\n" 18 WHITESPACE@[17; 18) "\n"
19 TYPE_ALIAS_DEF@[18; 35) 19 TYPE_ALIAS_DEF@[18; 35)
20 TYPE_KW@[18; 22) "type" 20 TYPE_KW@[18; 22) "type"
@@ -31,5 +31,5 @@ SOURCE_FILE@[0; 36)
31 TUPLE_TYPE@[32; 34) 31 TUPLE_TYPE@[32; 34)
32 L_PAREN@[32; 33) "(" 32 L_PAREN@[32; 33) "("
33 R_PAREN@[33; 34) ")" 33 R_PAREN@[33; 34) ")"
34 SEMI@[34; 35) ";" 34 SEMICOLON@[34; 35) ";"
35 WHITESPACE@[35; 36) "\n" 35 WHITESPACE@[35; 36) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast
index ac53e4fd3..3c98467c7 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0014_never_type.rast
@@ -8,6 +8,6 @@ SOURCE_FILE@[0; 16)
8 EQ@[11; 12) "=" 8 EQ@[11; 12) "="
9 WHITESPACE@[12; 13) " " 9 WHITESPACE@[12; 13) " "
10 NEVER_TYPE@[13; 14) 10 NEVER_TYPE@[13; 14)
11 EXCL@[13; 14) "!" 11 BANG@[13; 14) "!"
12 SEMI@[14; 15) ";" 12 SEMICOLON@[14; 15) ";"
13 WHITESPACE@[15; 16) "\n" 13 WHITESPACE@[15; 16) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast
index c051c1c86..adaece119 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast
@@ -22,14 +22,14 @@ SOURCE_FILE@[0; 69)
22 EXPR_STMT@[30; 39) 22 EXPR_STMT@[30; 39)
23 CONTINUE_EXPR@[30; 38) 23 CONTINUE_EXPR@[30; 38)
24 CONTINUE_KW@[30; 38) "continue" 24 CONTINUE_KW@[30; 38) "continue"
25 SEMI@[38; 39) ";" 25 SEMICOLON@[38; 39) ";"
26 WHITESPACE@[39; 48) "\n " 26 WHITESPACE@[39; 48) "\n "
27 EXPR_STMT@[48; 60) 27 EXPR_STMT@[48; 60)
28 CONTINUE_EXPR@[48; 59) 28 CONTINUE_EXPR@[48; 59)
29 CONTINUE_KW@[48; 56) "continue" 29 CONTINUE_KW@[48; 56) "continue"
30 WHITESPACE@[56; 57) " " 30 WHITESPACE@[56; 57) " "
31 LIFETIME@[57; 59) "\'l" 31 LIFETIME@[57; 59) "\'l"
32 SEMI@[59; 60) ";" 32 SEMICOLON@[59; 60) ";"
33 WHITESPACE@[60; 65) "\n " 33 WHITESPACE@[60; 65) "\n "
34 R_CURLY@[65; 66) "}" 34 R_CURLY@[65; 66) "}"
35 WHITESPACE@[66; 67) "\n" 35 WHITESPACE@[66; 67) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast
index b4055c9f0..f4c86a05f 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0017_array_type.rast
@@ -12,10 +12,10 @@ SOURCE_FILE@[0; 19)
12 TUPLE_TYPE@[10; 12) 12 TUPLE_TYPE@[10; 12)
13 L_PAREN@[10; 11) "(" 13 L_PAREN@[10; 11) "("
14 R_PAREN@[11; 12) ")" 14 R_PAREN@[11; 12) ")"
15 SEMI@[12; 13) ";" 15 SEMICOLON@[12; 13) ";"
16 WHITESPACE@[13; 14) " " 16 WHITESPACE@[13; 14) " "
17 LITERAL@[14; 16) 17 LITERAL@[14; 16)
18 INT_NUMBER@[14; 16) "92" 18 INT_NUMBER@[14; 16) "92"
19 R_BRACK@[16; 17) "]" 19 R_BRACK@[16; 17) "]"
20 SEMI@[17; 18) ";" 20 SEMICOLON@[17; 18) ";"
21 WHITESPACE@[18; 19) "\n" 21 WHITESPACE@[18; 19) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast
index 2d71efd86..5a42f360c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast
@@ -21,16 +21,16 @@ SOURCE_FILE@[0; 44)
21 AMP@[17; 18) "&" 21 AMP@[17; 18) "&"
22 LITERAL@[18; 19) 22 LITERAL@[18; 19)
23 INT_NUMBER@[18; 19) "1" 23 INT_NUMBER@[18; 19) "1"
24 SEMI@[19; 20) ";" 24 SEMICOLON@[19; 20) ";"
25 WHITESPACE@[20; 25) "\n " 25 WHITESPACE@[20; 25) "\n "
26 EXPR_STMT@[25; 32) 26 EXPR_STMT@[25; 32)
27 PREFIX_EXPR@[25; 31) 27 PREFIX_EXPR@[25; 31)
28 EXCL@[25; 26) "!" 28 BANG@[25; 26) "!"
29 PREFIX_EXPR@[26; 31) 29 PREFIX_EXPR@[26; 31)
30 EXCL@[26; 27) "!" 30 BANG@[26; 27) "!"
31 LITERAL@[27; 31) 31 LITERAL@[27; 31)
32 TRUE_KW@[27; 31) "true" 32 TRUE_KW@[27; 31) "true"
33 SEMI@[31; 32) ";" 33 SEMICOLON@[31; 32) ";"
34 WHITESPACE@[32; 37) "\n " 34 WHITESPACE@[32; 37) "\n "
35 EXPR_STMT@[37; 41) 35 EXPR_STMT@[37; 41)
36 PREFIX_EXPR@[37; 40) 36 PREFIX_EXPR@[37; 40)
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 44)
39 MINUS@[38; 39) "-" 39 MINUS@[38; 39) "-"
40 LITERAL@[39; 40) 40 LITERAL@[39; 40)
41 INT_NUMBER@[39; 40) "1" 41 INT_NUMBER@[39; 40) "1"
42 SEMI@[40; 41) ";" 42 SEMICOLON@[40; 41) ";"
43 WHITESPACE@[41; 42) "\n" 43 WHITESPACE@[41; 42) "\n"
44 R_CURLY@[42; 43) "}" 44 R_CURLY@[42; 43) "}"
45 WHITESPACE@[43; 44) "\n" 45 WHITESPACE@[43; 44) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast b/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast
index dd2095d90..c1bedb37c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0020_use_star.rast
@@ -4,15 +4,15 @@ SOURCE_FILE@[0; 60)
4 WHITESPACE@[3; 4) " " 4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 5) 5 USE_TREE@[4; 5)
6 STAR@[4; 5) "*" 6 STAR@[4; 5) "*"
7 SEMI@[5; 6) ";" 7 SEMICOLON@[5; 6) ";"
8 WHITESPACE@[6; 7) "\n" 8 WHITESPACE@[6; 7) "\n"
9 USE_ITEM@[7; 15) 9 USE_ITEM@[7; 15)
10 USE_KW@[7; 10) "use" 10 USE_KW@[7; 10) "use"
11 WHITESPACE@[10; 11) " " 11 WHITESPACE@[10; 11) " "
12 USE_TREE@[11; 14) 12 USE_TREE@[11; 14)
13 COLONCOLON@[11; 13) "::" 13 COLON2@[11; 13) "::"
14 STAR@[13; 14) "*" 14 STAR@[13; 14) "*"
15 SEMI@[14; 15) ";" 15 SEMICOLON@[14; 15) ";"
16 WHITESPACE@[15; 16) "\n" 16 WHITESPACE@[15; 16) "\n"
17 USE_ITEM@[16; 36) 17 USE_ITEM@[16; 36)
18 USE_KW@[16; 19) "use" 18 USE_KW@[16; 19) "use"
@@ -23,17 +23,17 @@ SOURCE_FILE@[0; 60)
23 PATH_SEGMENT@[20; 24) 23 PATH_SEGMENT@[20; 24)
24 NAME_REF@[20; 24) 24 NAME_REF@[20; 24)
25 IDENT@[20; 24) "some" 25 IDENT@[20; 24) "some"
26 COLONCOLON@[24; 26) "::" 26 COLON2@[24; 26) "::"
27 PATH_SEGMENT@[26; 30) 27 PATH_SEGMENT@[26; 30)
28 NAME_REF@[26; 30) 28 NAME_REF@[26; 30)
29 IDENT@[26; 30) "path" 29 IDENT@[26; 30) "path"
30 COLONCOLON@[30; 32) "::" 30 COLON2@[30; 32) "::"
31 USE_TREE_LIST@[32; 35) 31 USE_TREE_LIST@[32; 35)
32 L_CURLY@[32; 33) "{" 32 L_CURLY@[32; 33) "{"
33 USE_TREE@[33; 34) 33 USE_TREE@[33; 34)
34 STAR@[33; 34) "*" 34 STAR@[33; 34) "*"
35 R_CURLY@[34; 35) "}" 35 R_CURLY@[34; 35) "}"
36 SEMI@[35; 36) ";" 36 SEMICOLON@[35; 36) ";"
37 WHITESPACE@[36; 37) "\n" 37 WHITESPACE@[36; 37) "\n"
38 USE_ITEM@[37; 59) 38 USE_ITEM@[37; 59)
39 USE_KW@[37; 40) "use" 39 USE_KW@[37; 40) "use"
@@ -44,16 +44,16 @@ SOURCE_FILE@[0; 60)
44 PATH_SEGMENT@[41; 45) 44 PATH_SEGMENT@[41; 45)
45 NAME_REF@[41; 45) 45 NAME_REF@[41; 45)
46 IDENT@[41; 45) "some" 46 IDENT@[41; 45) "some"
47 COLONCOLON@[45; 47) "::" 47 COLON2@[45; 47) "::"
48 PATH_SEGMENT@[47; 51) 48 PATH_SEGMENT@[47; 51)
49 NAME_REF@[47; 51) 49 NAME_REF@[47; 51)
50 IDENT@[47; 51) "path" 50 IDENT@[47; 51) "path"
51 COLONCOLON@[51; 53) "::" 51 COLON2@[51; 53) "::"
52 USE_TREE_LIST@[53; 58) 52 USE_TREE_LIST@[53; 58)
53 L_CURLY@[53; 54) "{" 53 L_CURLY@[53; 54) "{"
54 USE_TREE@[54; 57) 54 USE_TREE@[54; 57)
55 COLONCOLON@[54; 56) "::" 55 COLON2@[54; 56) "::"
56 STAR@[56; 57) "*" 56 STAR@[56; 57) "*"
57 R_CURLY@[57; 58) "}" 57 R_CURLY@[57; 58) "}"
58 SEMI@[58; 59) ";" 58 SEMICOLON@[58; 59) ";"
59 WHITESPACE@[59; 60) "\n" 59 WHITESPACE@[59; 60) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast
index b1af67976..767a49ce6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 89)
24 PATH_SEGMENT@[22; 25) 24 PATH_SEGMENT@[22; 25)
25 NAME_REF@[22; 25) 25 NAME_REF@[22; 25)
26 IDENT@[22; 25) "i32" 26 IDENT@[22; 25) "i32"
27 SEMI@[25; 26) ";" 27 SEMICOLON@[25; 26) ";"
28 WHITESPACE@[26; 31) "\n " 28 WHITESPACE@[26; 31) "\n "
29 CONST_DEF@[31; 49) 29 CONST_DEF@[31; 49)
30 CONST_KW@[31; 36) "const" 30 CONST_KW@[31; 36) "const"
@@ -43,7 +43,7 @@ SOURCE_FILE@[0; 89)
43 WHITESPACE@[45; 46) " " 43 WHITESPACE@[45; 46) " "
44 LITERAL@[46; 48) 44 LITERAL@[46; 48)
45 INT_NUMBER@[46; 48) "92" 45 INT_NUMBER@[46; 48) "92"
46 SEMI@[48; 49) ";" 46 SEMICOLON@[48; 49) ";"
47 WHITESPACE@[49; 54) "\n " 47 WHITESPACE@[49; 54) "\n "
48 FN_DEF@[54; 65) 48 FN_DEF@[54; 65)
49 FN_KW@[54; 56) "fn" 49 FN_KW@[54; 56) "fn"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast b/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast
index 891943f6e..e0fc96d33 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0022_crate_visibility.rast
@@ -10,7 +10,7 @@ SOURCE_FILE@[0; 81)
10 WHITESPACE@[17; 18) " " 10 WHITESPACE@[17; 18) " "
11 NAME@[18; 19) 11 NAME@[18; 19)
12 IDENT@[18; 19) "S" 12 IDENT@[18; 19) "S"
13 SEMI@[19; 20) ";" 13 SEMICOLON@[19; 20) ";"
14 WHITESPACE@[20; 21) "\n" 14 WHITESPACE@[20; 21) "\n"
15 STRUCT_DEF@[21; 40) 15 STRUCT_DEF@[21; 40)
16 VISIBILITY@[21; 30) 16 VISIBILITY@[21; 30)
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 81)
23 WHITESPACE@[37; 38) " " 23 WHITESPACE@[37; 38) " "
24 NAME@[38; 39) 24 NAME@[38; 39)
25 IDENT@[38; 39) "S" 25 IDENT@[38; 39) "S"
26 SEMI@[39; 40) ";" 26 SEMICOLON@[39; 40) ";"
27 WHITESPACE@[40; 41) "\n" 27 WHITESPACE@[40; 41) "\n"
28 STRUCT_DEF@[41; 60) 28 STRUCT_DEF@[41; 60)
29 VISIBILITY@[41; 50) 29 VISIBILITY@[41; 50)
@@ -36,7 +36,7 @@ SOURCE_FILE@[0; 81)
36 WHITESPACE@[57; 58) " " 36 WHITESPACE@[57; 58) " "
37 NAME@[58; 59) 37 NAME@[58; 59)
38 IDENT@[58; 59) "S" 38 IDENT@[58; 59) "S"
39 SEMI@[59; 60) ";" 39 SEMICOLON@[59; 60) ";"
40 WHITESPACE@[60; 61) "\n" 40 WHITESPACE@[60; 61) "\n"
41 STRUCT_DEF@[61; 80) 41 STRUCT_DEF@[61; 80)
42 VISIBILITY@[61; 70) 42 VISIBILITY@[61; 70)
@@ -49,5 +49,5 @@ SOURCE_FILE@[0; 81)
49 WHITESPACE@[77; 78) " " 49 WHITESPACE@[77; 78) " "
50 NAME@[78; 79) 50 NAME@[78; 79)
51 IDENT@[78; 79) "S" 51 IDENT@[78; 79) "S"
52 SEMI@[79; 80) ";" 52 SEMICOLON@[79; 80) ";"
53 WHITESPACE@[80; 81) "\n" 53 WHITESPACE@[80; 81) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast
index 0f32aec9e..b7acc3f07 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0023_placeholder_type.rast
@@ -9,5 +9,5 @@ SOURCE_FILE@[0; 22)
9 WHITESPACE@[18; 19) " " 9 WHITESPACE@[18; 19) " "
10 PLACEHOLDER_TYPE@[19; 20) 10 PLACEHOLDER_TYPE@[19; 20)
11 UNDERSCORE@[19; 20) "_" 11 UNDERSCORE@[19; 20) "_"
12 SEMI@[20; 21) ";" 12 SEMICOLON@[20; 21) ";"
13 WHITESPACE@[21; 22) "\n" 13 WHITESPACE@[21; 22) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
index 48aaeaf07..430e4a999 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
@@ -28,7 +28,7 @@ SOURCE_FILE@[0; 39)
28 COMMA@[25; 26) "," 28 COMMA@[25; 26) ","
29 WHITESPACE@[26; 27) " " 29 WHITESPACE@[26; 27) " "
30 DOT_DOT_PAT@[27; 29) 30 DOT_DOT_PAT@[27; 29)
31 DOTDOT@[27; 29) ".." 31 DOT2@[27; 29) ".."
32 R_BRACK@[29; 30) "]" 32 R_BRACK@[29; 30) "]"
33 WHITESPACE@[30; 31) " " 33 WHITESPACE@[30; 31) " "
34 EQ@[31; 32) "=" 34 EQ@[31; 32) "="
@@ -36,7 +36,7 @@ SOURCE_FILE@[0; 39)
36 ARRAY_EXPR@[33; 35) 36 ARRAY_EXPR@[33; 35)
37 L_BRACK@[33; 34) "[" 37 L_BRACK@[33; 34) "["
38 R_BRACK@[34; 35) "]" 38 R_BRACK@[34; 35) "]"
39 SEMI@[35; 36) ";" 39 SEMICOLON@[35; 36) ";"
40 WHITESPACE@[36; 37) "\n" 40 WHITESPACE@[36; 37) "\n"
41 R_CURLY@[37; 38) "}" 41 R_CURLY@[37; 38) "}"
42 WHITESPACE@[38; 39) "\n" 42 WHITESPACE@[38; 39) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast
index b3a24281e..4eee1e7f1 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0025_slice_type.rast
@@ -13,5 +13,5 @@ SOURCE_FILE@[0; 15)
13 L_PAREN@[10; 11) "(" 13 L_PAREN@[10; 11) "("
14 R_PAREN@[11; 12) ")" 14 R_PAREN@[11; 12) ")"
15 R_BRACK@[12; 13) "]" 15 R_BRACK@[12; 13) "]"
16 SEMI@[13; 14) ";" 16 SEMICOLON@[13; 14) ";"
17 WHITESPACE@[14; 15) "\n" 17 WHITESPACE@[14; 15) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
index 666386d31..d8d82dacc 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
@@ -28,7 +28,7 @@ SOURCE_FILE@[0; 97)
28 TUPLE_EXPR@[25; 27) 28 TUPLE_EXPR@[25; 27)
29 L_PAREN@[25; 26) "(" 29 L_PAREN@[25; 26) "("
30 R_PAREN@[26; 27) ")" 30 R_PAREN@[26; 27) ")"
31 SEMI@[27; 28) ";" 31 SEMICOLON@[27; 28) ";"
32 WHITESPACE@[28; 33) "\n " 32 WHITESPACE@[28; 33) "\n "
33 LET_STMT@[33; 47) 33 LET_STMT@[33; 47)
34 LET_KW@[33; 36) "let" 34 LET_KW@[33; 36) "let"
@@ -48,7 +48,7 @@ SOURCE_FILE@[0; 97)
48 TUPLE_EXPR@[44; 46) 48 TUPLE_EXPR@[44; 46)
49 L_PAREN@[44; 45) "(" 49 L_PAREN@[44; 45) "("
50 R_PAREN@[45; 46) ")" 50 R_PAREN@[45; 46) ")"
51 SEMI@[46; 47) ";" 51 SEMICOLON@[46; 47) ";"
52 WHITESPACE@[47; 52) "\n " 52 WHITESPACE@[47; 52) "\n "
53 LET_STMT@[52; 67) 53 LET_STMT@[52; 67)
54 LET_KW@[52; 55) "let" 54 LET_KW@[52; 55) "let"
@@ -69,7 +69,7 @@ SOURCE_FILE@[0; 97)
69 TUPLE_EXPR@[64; 66) 69 TUPLE_EXPR@[64; 66)
70 L_PAREN@[64; 65) "(" 70 L_PAREN@[64; 65) "("
71 R_PAREN@[65; 66) ")" 71 R_PAREN@[65; 66) ")"
72 SEMI@[66; 67) ";" 72 SEMICOLON@[66; 67) ";"
73 WHITESPACE@[67; 72) "\n " 73 WHITESPACE@[67; 72) "\n "
74 LET_STMT@[72; 94) 74 LET_STMT@[72; 94)
75 LET_KW@[72; 75) "let" 75 LET_KW@[72; 75) "let"
@@ -85,7 +85,7 @@ SOURCE_FILE@[0; 97)
85 COMMA@[79; 80) "," 85 COMMA@[79; 80) ","
86 WHITESPACE@[80; 81) " " 86 WHITESPACE@[80; 81) " "
87 DOT_DOT_PAT@[81; 83) 87 DOT_DOT_PAT@[81; 83)
88 DOTDOT@[81; 83) ".." 88 DOT2@[81; 83) ".."
89 WHITESPACE@[83; 84) " " 89 WHITESPACE@[83; 84) " "
90 COMMA@[84; 85) "," 90 COMMA@[84; 85) ","
91 WHITESPACE@[85; 86) " " 91 WHITESPACE@[85; 86) " "
@@ -99,7 +99,7 @@ SOURCE_FILE@[0; 97)
99 TUPLE_EXPR@[91; 93) 99 TUPLE_EXPR@[91; 93)
100 L_PAREN@[91; 92) "(" 100 L_PAREN@[91; 92) "("
101 R_PAREN@[92; 93) ")" 101 R_PAREN@[92; 93) ")"
102 SEMI@[93; 94) ";" 102 SEMICOLON@[93; 94) ";"
103 WHITESPACE@[94; 95) "\n" 103 WHITESPACE@[94; 95) "\n"
104 R_CURLY@[95; 96) "}" 104 R_CURLY@[95; 96) "}"
105 WHITESPACE@[96; 97) "\n" 105 WHITESPACE@[96; 97) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast
index 0f1a367f7..ac6ab31f2 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast
@@ -26,7 +26,7 @@ SOURCE_FILE@[0; 52)
26 TUPLE_EXPR@[25; 27) 26 TUPLE_EXPR@[25; 27)
27 L_PAREN@[25; 26) "(" 27 L_PAREN@[25; 26) "("
28 R_PAREN@[26; 27) ")" 28 R_PAREN@[26; 27) ")"
29 SEMI@[27; 28) ";" 29 SEMICOLON@[27; 28) ";"
30 WHITESPACE@[28; 33) "\n " 30 WHITESPACE@[28; 33) "\n "
31 LET_STMT@[33; 49) 31 LET_STMT@[33; 49)
32 LET_KW@[33; 36) "let" 32 LET_KW@[33; 36) "let"
@@ -44,7 +44,7 @@ SOURCE_FILE@[0; 52)
44 TUPLE_EXPR@[46; 48) 44 TUPLE_EXPR@[46; 48)
45 L_PAREN@[46; 47) "(" 45 L_PAREN@[46; 47) "("
46 R_PAREN@[47; 48) ")" 46 R_PAREN@[47; 48) ")"
47 SEMI@[48; 49) ";" 47 SEMICOLON@[48; 49) ";"
48 WHITESPACE@[49; 50) "\n" 48 WHITESPACE@[49; 50) "\n"
49 R_CURLY@[50; 51) "}" 49 R_CURLY@[50; 51) "}"
50 WHITESPACE@[51; 52) "\n" 50 WHITESPACE@[51; 52) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast
index f07027fa7..3371cab82 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0028_impl_trait_type.rast
@@ -39,5 +39,5 @@ SOURCE_FILE@[0; 43)
39 WHITESPACE@[38; 39) " " 39 WHITESPACE@[38; 39) " "
40 TYPE_BOUND@[39; 41) 40 TYPE_BOUND@[39; 41)
41 LIFETIME@[39; 41) "\'a" 41 LIFETIME@[39; 41) "\'a"
42 SEMI@[41; 42) ";" 42 SEMICOLON@[41; 42) ";"
43 WHITESPACE@[42; 43) "\n" 43 WHITESPACE@[42; 43) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast
index b17a2c257..e9ca214bb 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 89)
24 PATH_SEGMENT@[21; 24) 24 PATH_SEGMENT@[21; 24)
25 NAME_REF@[21; 24) 25 NAME_REF@[21; 24)
26 IDENT@[21; 24) "i32" 26 IDENT@[21; 24) "i32"
27 SEMI@[24; 25) ";" 27 SEMICOLON@[24; 25) ";"
28 WHITESPACE@[25; 30) "\n " 28 WHITESPACE@[25; 30) "\n "
29 EXPR_STMT@[30; 43) 29 EXPR_STMT@[30; 43)
30 BIN_EXPR@[30; 42) 30 BIN_EXPR@[30; 42)
@@ -44,7 +44,7 @@ SOURCE_FILE@[0; 89)
44 WHITESPACE@[40; 41) " " 44 WHITESPACE@[40; 41) " "
45 LITERAL@[41; 42) 45 LITERAL@[41; 42)
46 INT_NUMBER@[41; 42) "1" 46 INT_NUMBER@[41; 42) "1"
47 SEMI@[42; 43) ";" 47 SEMICOLON@[42; 43) ";"
48 WHITESPACE@[43; 48) "\n " 48 WHITESPACE@[43; 48) "\n "
49 EXPR_STMT@[48; 62) 49 EXPR_STMT@[48; 62)
50 BIN_EXPR@[48; 61) 50 BIN_EXPR@[48; 61)
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 89)
64 WHITESPACE@[59; 60) " " 64 WHITESPACE@[59; 60) " "
65 LITERAL@[60; 61) 65 LITERAL@[60; 61)
66 INT_NUMBER@[60; 61) "1" 66 INT_NUMBER@[60; 61) "1"
67 SEMI@[61; 62) ";" 67 SEMICOLON@[61; 62) ";"
68 WHITESPACE@[62; 67) "\n " 68 WHITESPACE@[62; 67) "\n "
69 EXPR_STMT@[67; 86) 69 EXPR_STMT@[67; 86)
70 BIN_EXPR@[67; 85) 70 BIN_EXPR@[67; 85)
@@ -84,7 +84,7 @@ SOURCE_FILE@[0; 89)
84 WHITESPACE@[80; 81) " " 84 WHITESPACE@[80; 81) " "
85 LITERAL@[81; 85) 85 LITERAL@[81; 85)
86 INT_NUMBER@[81; 85) "0x37" 86 INT_NUMBER@[81; 85) "0x37"
87 SEMI@[85; 86) ";" 87 SEMICOLON@[85; 86) ";"
88 WHITESPACE@[86; 87) "\n" 88 WHITESPACE@[86; 87) "\n"
89 R_CURLY@[87; 88) "}" 89 R_CURLY@[87; 88) "}"
90 WHITESPACE@[88; 89) "\n" 90 WHITESPACE@[88; 89) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast
index a6e14a114..aaef408cc 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 93)
24 BLOCK@[26; 28) 24 BLOCK@[26; 28)
25 L_CURLY@[26; 27) "{" 25 L_CURLY@[26; 27) "{"
26 R_CURLY@[27; 28) "}" 26 R_CURLY@[27; 28) "}"
27 SEMI@[28; 29) ";" 27 SEMICOLON@[28; 29) ";"
28 WHITESPACE@[29; 34) "\n " 28 WHITESPACE@[29; 34) "\n "
29 EXPR_STMT@[34; 67) 29 EXPR_STMT@[34; 67)
30 WHILE_EXPR@[34; 66) 30 WHILE_EXPR@[34; 66)
@@ -63,7 +63,7 @@ SOURCE_FILE@[0; 93)
63 BLOCK@[64; 66) 63 BLOCK@[64; 66)
64 L_CURLY@[64; 65) "{" 64 L_CURLY@[64; 65) "{"
65 R_CURLY@[65; 66) "}" 65 R_CURLY@[65; 66) "}"
66 SEMI@[66; 67) ";" 66 SEMICOLON@[66; 67) ";"
67 WHITESPACE@[67; 72) "\n " 67 WHITESPACE@[67; 72) "\n "
68 EXPR_STMT@[72; 90) 68 EXPR_STMT@[72; 90)
69 WHILE_EXPR@[72; 89) 69 WHILE_EXPR@[72; 89)
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 93)
83 BLOCK@[87; 89) 83 BLOCK@[87; 89)
84 L_CURLY@[87; 88) "{" 84 L_CURLY@[87; 88) "{"
85 R_CURLY@[88; 89) "}" 85 R_CURLY@[88; 89) "}"
86 SEMI@[89; 90) ";" 86 SEMICOLON@[89; 90) ";"
87 WHITESPACE@[90; 91) "\n" 87 WHITESPACE@[90; 91) "\n"
88 R_CURLY@[91; 92) "}" 88 R_CURLY@[91; 92) "}"
89 WHITESPACE@[92; 93) "\n" 89 WHITESPACE@[92; 93) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
index 4c17f0db8..bad769850 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0032_fn_pointer_type.rast
@@ -12,7 +12,7 @@ SOURCE_FILE@[0; 113)
12 PARAM_LIST@[11; 13) 12 PARAM_LIST@[11; 13)
13 L_PAREN@[11; 12) "(" 13 L_PAREN@[11; 12) "("
14 R_PAREN@[12; 13) ")" 14 R_PAREN@[12; 13) ")"
15 SEMI@[13; 14) ";" 15 SEMICOLON@[13; 14) ";"
16 WHITESPACE@[14; 15) "\n" 16 WHITESPACE@[14; 15) "\n"
17 TYPE_ALIAS_DEF@[15; 36) 17 TYPE_ALIAS_DEF@[15; 36)
18 TYPE_KW@[15; 19) "type" 18 TYPE_KW@[15; 19) "type"
@@ -29,7 +29,7 @@ SOURCE_FILE@[0; 113)
29 PARAM_LIST@[33; 35) 29 PARAM_LIST@[33; 35)
30 L_PAREN@[33; 34) "(" 30 L_PAREN@[33; 34) "("
31 R_PAREN@[34; 35) ")" 31 R_PAREN@[34; 35) ")"
32 SEMI@[35; 36) ";" 32 SEMICOLON@[35; 36) ";"
33 WHITESPACE@[36; 37) "\n" 33 WHITESPACE@[36; 37) "\n"
34 TYPE_ALIAS_DEF@[37; 69) 34 TYPE_ALIAS_DEF@[37; 69)
35 TYPE_KW@[37; 41) "type" 35 TYPE_KW@[37; 41) "type"
@@ -51,7 +51,7 @@ SOURCE_FILE@[0; 113)
51 PARAM_LIST@[66; 68) 51 PARAM_LIST@[66; 68)
52 L_PAREN@[66; 67) "(" 52 L_PAREN@[66; 67) "("
53 R_PAREN@[67; 68) ")" 53 R_PAREN@[67; 68) ")"
54 SEMI@[68; 69) ";" 54 SEMICOLON@[68; 69) ";"
55 WHITESPACE@[69; 70) "\n" 55 WHITESPACE@[69; 70) "\n"
56 TYPE_ALIAS_DEF@[70; 112) 56 TYPE_ALIAS_DEF@[70; 112)
57 TYPE_KW@[70; 74) "type" 57 TYPE_KW@[70; 74) "type"
@@ -82,7 +82,7 @@ SOURCE_FILE@[0; 113)
82 COMMA@[98; 99) "," 82 COMMA@[98; 99) ","
83 WHITESPACE@[99; 100) " " 83 WHITESPACE@[99; 100) " "
84 PARAM@[100; 103) 84 PARAM@[100; 103)
85 DOTDOTDOT@[100; 103) "..." 85 DOT3@[100; 103) "..."
86 WHITESPACE@[103; 104) " " 86 WHITESPACE@[103; 104) " "
87 R_PAREN@[104; 105) ")" 87 R_PAREN@[104; 105) ")"
88 WHITESPACE@[105; 106) " " 88 WHITESPACE@[105; 106) " "
@@ -94,5 +94,5 @@ SOURCE_FILE@[0; 113)
94 PATH_SEGMENT@[109; 111) 94 PATH_SEGMENT@[109; 111)
95 NAME_REF@[109; 111) 95 NAME_REF@[109; 111)
96 IDENT@[109; 111) "u8" 96 IDENT@[109; 111) "u8"
97 SEMI@[111; 112) ";" 97 SEMICOLON@[111; 112) ";"
98 WHITESPACE@[112; 113) "\n" 98 WHITESPACE@[112; 113) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
index 7642ea659..e6ee20b9a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0033_reference_type;.rast
@@ -12,7 +12,7 @@ SOURCE_FILE@[0; 54)
12 TUPLE_TYPE@[10; 12) 12 TUPLE_TYPE@[10; 12)
13 L_PAREN@[10; 11) "(" 13 L_PAREN@[10; 11) "("
14 R_PAREN@[11; 12) ")" 14 R_PAREN@[11; 12) ")"
15 SEMI@[12; 13) ";" 15 SEMICOLON@[12; 13) ";"
16 WHITESPACE@[13; 14) "\n" 16 WHITESPACE@[13; 14) "\n"
17 TYPE_ALIAS_DEF@[14; 35) 17 TYPE_ALIAS_DEF@[14; 35)
18 TYPE_KW@[14; 18) "type" 18 TYPE_KW@[14; 18) "type"
@@ -29,7 +29,7 @@ SOURCE_FILE@[0; 54)
29 TUPLE_TYPE@[32; 34) 29 TUPLE_TYPE@[32; 34)
30 L_PAREN@[32; 33) "(" 30 L_PAREN@[32; 33) "("
31 R_PAREN@[33; 34) ")" 31 R_PAREN@[33; 34) ")"
32 SEMI@[34; 35) ";" 32 SEMICOLON@[34; 35) ";"
33 WHITESPACE@[35; 36) "\n" 33 WHITESPACE@[35; 36) "\n"
34 TYPE_ALIAS_DEF@[36; 53) 34 TYPE_ALIAS_DEF@[36; 53)
35 TYPE_KW@[36; 40) "type" 35 TYPE_KW@[36; 40) "type"
@@ -46,5 +46,5 @@ SOURCE_FILE@[0; 54)
46 TUPLE_TYPE@[50; 52) 46 TUPLE_TYPE@[50; 52)
47 L_PAREN@[50; 51) "(" 47 L_PAREN@[50; 51) "("
48 R_PAREN@[51; 52) ")" 48 R_PAREN@[51; 52) ")"
49 SEMI@[52; 53) ";" 49 SEMICOLON@[52; 53) ";"
50 WHITESPACE@[53; 54) "\n" 50 WHITESPACE@[53; 54) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast
index 67ffdfd67..4bb95314f 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast
@@ -22,14 +22,14 @@ SOURCE_FILE@[0; 102)
22 EXPR_STMT@[30; 36) 22 EXPR_STMT@[30; 36)
23 BREAK_EXPR@[30; 35) 23 BREAK_EXPR@[30; 35)
24 BREAK_KW@[30; 35) "break" 24 BREAK_KW@[30; 35) "break"
25 SEMI@[35; 36) ";" 25 SEMICOLON@[35; 36) ";"
26 WHITESPACE@[36; 45) "\n " 26 WHITESPACE@[36; 45) "\n "
27 EXPR_STMT@[45; 54) 27 EXPR_STMT@[45; 54)
28 BREAK_EXPR@[45; 53) 28 BREAK_EXPR@[45; 53)
29 BREAK_KW@[45; 50) "break" 29 BREAK_KW@[45; 50) "break"
30 WHITESPACE@[50; 51) " " 30 WHITESPACE@[50; 51) " "
31 LIFETIME@[51; 53) "\'l" 31 LIFETIME@[51; 53) "\'l"
32 SEMI@[53; 54) ";" 32 SEMICOLON@[53; 54) ";"
33 WHITESPACE@[54; 63) "\n " 33 WHITESPACE@[54; 63) "\n "
34 EXPR_STMT@[63; 72) 34 EXPR_STMT@[63; 72)
35 BREAK_EXPR@[63; 71) 35 BREAK_EXPR@[63; 71)
@@ -37,7 +37,7 @@ SOURCE_FILE@[0; 102)
37 WHITESPACE@[68; 69) " " 37 WHITESPACE@[68; 69) " "
38 LITERAL@[69; 71) 38 LITERAL@[69; 71)
39 INT_NUMBER@[69; 71) "92" 39 INT_NUMBER@[69; 71) "92"
40 SEMI@[71; 72) ";" 40 SEMICOLON@[71; 72) ";"
41 WHITESPACE@[72; 81) "\n " 41 WHITESPACE@[72; 81) "\n "
42 EXPR_STMT@[81; 93) 42 EXPR_STMT@[81; 93)
43 BREAK_EXPR@[81; 92) 43 BREAK_EXPR@[81; 92)
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 102)
47 WHITESPACE@[89; 90) " " 47 WHITESPACE@[89; 90) " "
48 LITERAL@[90; 92) 48 LITERAL@[90; 92)
49 INT_NUMBER@[90; 92) "92" 49 INT_NUMBER@[90; 92) "92"
50 SEMI@[92; 93) ";" 50 SEMICOLON@[92; 93) ";"
51 WHITESPACE@[93; 98) "\n " 51 WHITESPACE@[93; 98) "\n "
52 R_CURLY@[98; 99) "}" 52 R_CURLY@[98; 99) "}"
53 WHITESPACE@[99; 100) "\n" 53 WHITESPACE@[99; 100) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast b/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast
index 6e226de4b..1cd7a443f 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast
@@ -26,11 +26,11 @@ SOURCE_FILE@[0; 71)
26 NAME_REF@[15; 16) 26 NAME_REF@[15; 16)
27 IDENT@[15; 16) "B" 27 IDENT@[15; 16) "B"
28 R_ANGLE@[16; 17) ">" 28 R_ANGLE@[16; 17) ">"
29 COLONCOLON@[17; 19) "::" 29 COLON2@[17; 19) "::"
30 PATH_SEGMENT@[19; 25) 30 PATH_SEGMENT@[19; 25)
31 NAME_REF@[19; 25) 31 NAME_REF@[19; 25)
32 IDENT@[19; 25) "Output" 32 IDENT@[19; 25) "Output"
33 SEMI@[25; 26) ";" 33 SEMICOLON@[25; 26) ";"
34 WHITESPACE@[26; 27) "\n" 34 WHITESPACE@[26; 27) "\n"
35 FN_DEF@[27; 70) 35 FN_DEF@[27; 70)
36 FN_KW@[27; 29) "fn" 36 FN_KW@[27; 29) "fn"
@@ -66,14 +66,14 @@ SOURCE_FILE@[0; 71)
66 NAME_REF@[48; 55) 66 NAME_REF@[48; 55)
67 IDENT@[48; 55) "Default" 67 IDENT@[48; 55) "Default"
68 R_ANGLE@[55; 56) ">" 68 R_ANGLE@[55; 56) ">"
69 COLONCOLON@[56; 58) "::" 69 COLON2@[56; 58) "::"
70 PATH_SEGMENT@[58; 65) 70 PATH_SEGMENT@[58; 65)
71 NAME_REF@[58; 65) 71 NAME_REF@[58; 65)
72 IDENT@[58; 65) "default" 72 IDENT@[58; 65) "default"
73 ARG_LIST@[65; 67) 73 ARG_LIST@[65; 67)
74 L_PAREN@[65; 66) "(" 74 L_PAREN@[65; 66) "("
75 R_PAREN@[66; 67) ")" 75 R_PAREN@[66; 67) ")"
76 SEMI@[67; 68) ";" 76 SEMICOLON@[67; 68) ";"
77 WHITESPACE@[68; 69) " " 77 WHITESPACE@[68; 69) " "
78 R_CURLY@[69; 70) "}" 78 R_CURLY@[69; 70) "}"
79 WHITESPACE@[70; 71) "\n" 79 WHITESPACE@[70; 71) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast
index 042cee879..f5db5a9e6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast
@@ -21,9 +21,9 @@ SOURCE_FILE@[0; 21)
21 IDENT@[11; 13) "xs" 21 IDENT@[11; 13) "xs"
22 L_BRACK@[13; 14) "[" 22 L_BRACK@[13; 14) "["
23 RANGE_EXPR@[14; 16) 23 RANGE_EXPR@[14; 16)
24 DOTDOT@[14; 16) ".." 24 DOT2@[14; 16) ".."
25 R_BRACK@[16; 17) "]" 25 R_BRACK@[16; 17) "]"
26 SEMI@[17; 18) ";" 26 SEMICOLON@[17; 18) ";"
27 WHITESPACE@[18; 19) " " 27 WHITESPACE@[18; 19) " "
28 R_CURLY@[19; 20) "}" 28 R_CURLY@[19; 20) "}"
29 WHITESPACE@[20; 21) "\n" 29 WHITESPACE@[20; 21) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast
index 025faf5ca..2d9db61b3 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast
@@ -51,5 +51,5 @@ SOURCE_FILE@[0; 46)
51 NAME_REF@[40; 43) 51 NAME_REF@[40; 43)
52 IDENT@[40; 43) "u64" 52 IDENT@[40; 43) "u64"
53 R_ANGLE@[43; 44) ">" 53 R_ANGLE@[43; 44) ">"
54 SEMI@[44; 45) ";" 54 SEMICOLON@[44; 45) ";"
55 WHITESPACE@[45; 46) "\n" 55 WHITESPACE@[45; 46) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast b/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast
index d180fcf20..4c175e210 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast
@@ -59,5 +59,5 @@ SOURCE_FILE@[0; 71)
59 NAME_REF@[65; 68) 59 NAME_REF@[65; 68)
60 IDENT@[65; 68) "u32" 60 IDENT@[65; 68) "u32"
61 R_PAREN@[68; 69) ")" 61 R_PAREN@[68; 69) ")"
62 SEMI@[69; 70) ";" 62 SEMICOLON@[69; 70) ";"
63 WHITESPACE@[70; 71) "\n" 63 WHITESPACE@[70; 71) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast
index e8003bf91..f9e677a03 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast
@@ -29,7 +29,7 @@ SOURCE_FILE@[0; 118)
29 ARG_LIST@[24; 26) 29 ARG_LIST@[24; 26)
30 L_PAREN@[24; 25) "(" 30 L_PAREN@[24; 25) "("
31 R_PAREN@[25; 26) ")" 31 R_PAREN@[25; 26) ")"
32 SEMI@[26; 27) ";" 32 SEMICOLON@[26; 27) ";"
33 WHITESPACE@[27; 32) "\n " 33 WHITESPACE@[27; 32) "\n "
34 LET_STMT@[32; 54) 34 LET_STMT@[32; 54)
35 LET_KW@[32; 35) "let" 35 LET_KW@[32; 35) "let"
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 118)
65 INT_NUMBER@[50; 51) "2" 65 INT_NUMBER@[50; 51) "2"
66 COMMA@[51; 52) "," 66 COMMA@[51; 52) ","
67 R_PAREN@[52; 53) ")" 67 R_PAREN@[52; 53) ")"
68 SEMI@[53; 54) ";" 68 SEMICOLON@[53; 54) ";"
69 WHITESPACE@[54; 59) "\n " 69 WHITESPACE@[54; 59) "\n "
70 LET_STMT@[59; 84) 70 LET_STMT@[59; 84)
71 LET_KW@[59; 62) "let" 71 LET_KW@[59; 62) "let"
@@ -95,7 +95,7 @@ SOURCE_FILE@[0; 118)
95 NAME_REF@[70; 73) 95 NAME_REF@[70; 73)
96 IDENT@[70; 73) "Foo" 96 IDENT@[70; 73) "Foo"
97 R_ANGLE@[73; 74) ">" 97 R_ANGLE@[73; 74) ">"
98 COLONCOLON@[74; 76) "::" 98 COLON2@[74; 76) "::"
99 PATH_SEGMENT@[76; 80) 99 PATH_SEGMENT@[76; 80)
100 NAME_REF@[76; 80) 100 NAME_REF@[76; 80)
101 IDENT@[76; 80) "func" 101 IDENT@[76; 80) "func"
@@ -103,7 +103,7 @@ SOURCE_FILE@[0; 118)
103 L_PAREN@[80; 81) "(" 103 L_PAREN@[80; 81) "("
104 R_PAREN@[81; 82) ")" 104 R_PAREN@[81; 82) ")"
105 R_PAREN@[82; 83) ")" 105 R_PAREN@[82; 83) ")"
106 SEMI@[83; 84) ";" 106 SEMICOLON@[83; 84) ";"
107 WHITESPACE@[84; 89) "\n " 107 WHITESPACE@[84; 89) "\n "
108 EXPR_STMT@[89; 115) 108 EXPR_STMT@[89; 115)
109 CALL_EXPR@[89; 114) 109 CALL_EXPR@[89; 114)
@@ -134,7 +134,7 @@ SOURCE_FILE@[0; 118)
134 NAME_REF@[99; 104) 134 NAME_REF@[99; 104)
135 IDENT@[99; 104) "Trait" 135 IDENT@[99; 104) "Trait"
136 R_ANGLE@[104; 105) ">" 136 R_ANGLE@[104; 105) ">"
137 COLONCOLON@[105; 107) "::" 137 COLON2@[105; 107) "::"
138 PATH_SEGMENT@[107; 111) 138 PATH_SEGMENT@[107; 111)
139 NAME_REF@[107; 111) 139 NAME_REF@[107; 111)
140 IDENT@[107; 111) "func" 140 IDENT@[107; 111) "func"
@@ -142,7 +142,7 @@ SOURCE_FILE@[0; 118)
142 L_PAREN@[111; 112) "(" 142 L_PAREN@[111; 112) "("
143 R_PAREN@[112; 113) ")" 143 R_PAREN@[112; 113) ")"
144 R_PAREN@[113; 114) ")" 144 R_PAREN@[113; 114) ")"
145 SEMI@[114; 115) ";" 145 SEMICOLON@[114; 115) ";"
146 WHITESPACE@[115; 116) "\n" 146 WHITESPACE@[115; 116) "\n"
147 R_CURLY@[116; 117) "}" 147 R_CURLY@[116; 117) "}"
148 WHITESPACE@[117; 118) "\n" 148 WHITESPACE@[117; 118) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast b/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast
index 18d8a151f..580f29cfb 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0043_use_alias.rast
@@ -8,7 +8,7 @@ SOURCE_FILE@[0; 198)
8 PATH_SEGMENT@[4; 8) 8 PATH_SEGMENT@[4; 8)
9 NAME_REF@[4; 8) 9 NAME_REF@[4; 8)
10 IDENT@[4; 8) "some" 10 IDENT@[4; 8) "some"
11 COLONCOLON@[8; 10) "::" 11 COLON2@[8; 10) "::"
12 PATH_SEGMENT@[10; 14) 12 PATH_SEGMENT@[10; 14)
13 NAME_REF@[10; 14) 13 NAME_REF@[10; 14)
14 IDENT@[10; 14) "path" 14 IDENT@[10; 14) "path"
@@ -18,7 +18,7 @@ SOURCE_FILE@[0; 198)
18 WHITESPACE@[17; 18) " " 18 WHITESPACE@[17; 18) " "
19 NAME@[18; 27) 19 NAME@[18; 27)
20 IDENT@[18; 27) "some_name" 20 IDENT@[18; 27) "some_name"
21 SEMI@[27; 28) ";" 21 SEMICOLON@[27; 28) ";"
22 WHITESPACE@[28; 29) "\n" 22 WHITESPACE@[28; 29) "\n"
23 USE_ITEM@[29; 181) 23 USE_ITEM@[29; 181)
24 USE_KW@[29; 32) "use" 24 USE_KW@[29; 32) "use"
@@ -28,7 +28,7 @@ SOURCE_FILE@[0; 198)
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 COLON2@[37; 39) "::"
32 USE_TREE_LIST@[39; 180) 32 USE_TREE_LIST@[39; 180)
33 L_CURLY@[39; 40) "{" 33 L_CURLY@[39; 40) "{"
34 WHITESPACE@[40; 42) "\n " 34 WHITESPACE@[40; 42) "\n "
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 198)
38 PATH_SEGMENT@[42; 47) 38 PATH_SEGMENT@[42; 47)
39 NAME_REF@[42; 47) 39 NAME_REF@[42; 47)
40 IDENT@[42; 47) "other" 40 IDENT@[42; 47) "other"
41 COLONCOLON@[47; 49) "::" 41 COLON2@[47; 49) "::"
42 PATH_SEGMENT@[49; 53) 42 PATH_SEGMENT@[49; 53)
43 NAME_REF@[49; 53) 43 NAME_REF@[49; 53)
44 IDENT@[49; 53) "path" 44 IDENT@[49; 53) "path"
@@ -56,7 +56,7 @@ SOURCE_FILE@[0; 198)
56 PATH_SEGMENT@[75; 84) 56 PATH_SEGMENT@[75; 84)
57 NAME_REF@[75; 84) 57 NAME_REF@[75; 84)
58 IDENT@[75; 84) "different" 58 IDENT@[75; 84) "different"
59 COLONCOLON@[84; 86) "::" 59 COLON2@[84; 86) "::"
60 PATH_SEGMENT@[86; 90) 60 PATH_SEGMENT@[86; 90)
61 NAME_REF@[86; 90) 61 NAME_REF@[86; 90)
62 IDENT@[86; 90) "path" 62 IDENT@[86; 90) "path"
@@ -75,11 +75,11 @@ SOURCE_FILE@[0; 198)
75 PATH_SEGMENT@[111; 114) 75 PATH_SEGMENT@[111; 114)
76 NAME_REF@[111; 114) 76 NAME_REF@[111; 114)
77 IDENT@[111; 114) "yet" 77 IDENT@[111; 114) "yet"
78 COLONCOLON@[114; 116) "::" 78 COLON2@[114; 116) "::"
79 PATH_SEGMENT@[116; 123) 79 PATH_SEGMENT@[116; 123)
80 NAME_REF@[116; 123) 80 NAME_REF@[116; 123)
81 IDENT@[116; 123) "another" 81 IDENT@[116; 123) "another"
82 COLONCOLON@[123; 125) "::" 82 COLON2@[123; 125) "::"
83 PATH_SEGMENT@[125; 129) 83 PATH_SEGMENT@[125; 129)
84 NAME_REF@[125; 129) 84 NAME_REF@[125; 129)
85 IDENT@[125; 129) "path" 85 IDENT@[125; 129) "path"
@@ -95,31 +95,31 @@ SOURCE_FILE@[0; 198)
95 PATH_SEGMENT@[132; 139) 95 PATH_SEGMENT@[132; 139)
96 NAME_REF@[132; 139) 96 NAME_REF@[132; 139)
97 IDENT@[132; 139) "running" 97 IDENT@[132; 139) "running"
98 COLONCOLON@[139; 141) "::" 98 COLON2@[139; 141) "::"
99 PATH_SEGMENT@[141; 144) 99 PATH_SEGMENT@[141; 144)
100 NAME_REF@[141; 144) 100 NAME_REF@[141; 144)
101 IDENT@[141; 144) "out" 101 IDENT@[141; 144) "out"
102 COLONCOLON@[144; 146) "::" 102 COLON2@[144; 146) "::"
103 PATH_SEGMENT@[146; 148) 103 PATH_SEGMENT@[146; 148)
104 NAME_REF@[146; 148) 104 NAME_REF@[146; 148)
105 IDENT@[146; 148) "of" 105 IDENT@[146; 148) "of"
106 COLONCOLON@[148; 150) "::" 106 COLON2@[148; 150) "::"
107 PATH_SEGMENT@[150; 158) 107 PATH_SEGMENT@[150; 158)
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 COLON2@[158; 160) "::"
111 PATH_SEGMENT@[160; 164) 111 PATH_SEGMENT@[160; 164)
112 NAME_REF@[160; 164) 112 NAME_REF@[160; 164)
113 IDENT@[160; 164) "for_" 113 IDENT@[160; 164) "for_"
114 COLONCOLON@[164; 166) "::" 114 COLON2@[164; 166) "::"
115 PATH_SEGMENT@[166; 175) 115 PATH_SEGMENT@[166; 175)
116 NAME_REF@[166; 175) 116 NAME_REF@[166; 175)
117 IDENT@[166; 175) "different" 117 IDENT@[166; 175) "different"
118 COLONCOLON@[175; 177) "::" 118 COLON2@[175; 177) "::"
119 STAR@[177; 178) "*" 119 STAR@[177; 178) "*"
120 WHITESPACE@[178; 179) "\n" 120 WHITESPACE@[178; 179) "\n"
121 R_CURLY@[179; 180) "}" 121 R_CURLY@[179; 180) "}"
122 SEMI@[180; 181) ";" 122 SEMICOLON@[180; 181) ";"
123 WHITESPACE@[181; 182) "\n" 123 WHITESPACE@[181; 182) "\n"
124 USE_ITEM@[182; 197) 124 USE_ITEM@[182; 197)
125 USE_KW@[182; 185) "use" 125 USE_KW@[182; 185) "use"
@@ -134,5 +134,5 @@ SOURCE_FILE@[0; 198)
134 AS_KW@[192; 194) "as" 134 AS_KW@[192; 194) "as"
135 WHITESPACE@[194; 195) " " 135 WHITESPACE@[194; 195) " "
136 UNDERSCORE@[195; 196) "_" 136 UNDERSCORE@[195; 196) "_"
137 SEMI@[196; 197) ";" 137 SEMICOLON@[196; 197) ";"
138 WHITESPACE@[197; 198) "\n" 138 WHITESPACE@[197; 198) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast
index c7b4e614d..988b58d82 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0046_singleton_tuple_type.rast
@@ -16,5 +16,5 @@ SOURCE_FILE@[0; 17)
16 IDENT@[10; 13) "i32" 16 IDENT@[10; 13) "i32"
17 COMMA@[13; 14) "," 17 COMMA@[13; 14) ","
18 R_PAREN@[14; 15) ")" 18 R_PAREN@[14; 15) ")"
19 SEMI@[15; 16) ";" 19 SEMICOLON@[15; 16) ";"
20 WHITESPACE@[16; 17) "\n" 20 WHITESPACE@[16; 17) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast
index 19f961e29..036035f6c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0050_fn_decl.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 22)
16 PARAM_LIST@[16; 18) 16 PARAM_LIST@[16; 18)
17 L_PAREN@[16; 17) "(" 17 L_PAREN@[16; 17) "("
18 R_PAREN@[17; 18) ")" 18 R_PAREN@[17; 18) ")"
19 SEMI@[18; 19) ";" 19 SEMICOLON@[18; 19) ";"
20 WHITESPACE@[19; 20) " " 20 WHITESPACE@[19; 20) " "
21 R_CURLY@[20; 21) "}" 21 R_CURLY@[20; 21) "}"
22 WHITESPACE@[21; 22) "\n" 22 WHITESPACE@[21; 22) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast
index 6a469f8aa..d9fc5eb8a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0051_unit_type.rast
@@ -10,5 +10,5 @@ SOURCE_FILE@[0; 13)
10 TUPLE_TYPE@[9; 11) 10 TUPLE_TYPE@[9; 11)
11 L_PAREN@[9; 10) "(" 11 L_PAREN@[9; 10) "("
12 R_PAREN@[10; 11) ")" 12 R_PAREN@[10; 11) ")"
13 SEMI@[11; 12) ";" 13 SEMICOLON@[11; 12) ";"
14 WHITESPACE@[12; 13) "\n" 14 WHITESPACE@[12; 13) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast
index ee55ee219..8647c23bf 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0052_path_type.rast
@@ -12,7 +12,7 @@ SOURCE_FILE@[0; 71)
12 PATH_SEGMENT@[9; 12) 12 PATH_SEGMENT@[9; 12)
13 NAME_REF@[9; 12) 13 NAME_REF@[9; 12)
14 IDENT@[9; 12) "Foo" 14 IDENT@[9; 12) "Foo"
15 SEMI@[12; 13) ";" 15 SEMICOLON@[12; 13) ";"
16 WHITESPACE@[13; 14) "\n" 16 WHITESPACE@[13; 14) "\n"
17 TYPE_ALIAS_DEF@[14; 29) 17 TYPE_ALIAS_DEF@[14; 29)
18 TYPE_KW@[14; 18) "type" 18 TYPE_KW@[14; 18) "type"
@@ -25,10 +25,10 @@ SOURCE_FILE@[0; 71)
25 PATH_TYPE@[23; 28) 25 PATH_TYPE@[23; 28)
26 PATH@[23; 28) 26 PATH@[23; 28)
27 PATH_SEGMENT@[23; 28) 27 PATH_SEGMENT@[23; 28)
28 COLONCOLON@[23; 25) "::" 28 COLON2@[23; 25) "::"
29 NAME_REF@[25; 28) 29 NAME_REF@[25; 28)
30 IDENT@[25; 28) "Foo" 30 IDENT@[25; 28) "Foo"
31 SEMI@[28; 29) ";" 31 SEMICOLON@[28; 29) ";"
32 WHITESPACE@[29; 30) "\n" 32 WHITESPACE@[29; 30) "\n"
33 TYPE_ALIAS_DEF@[30; 49) 33 TYPE_ALIAS_DEF@[30; 49)
34 TYPE_KW@[30; 34) "type" 34 TYPE_KW@[30; 34) "type"
@@ -43,11 +43,11 @@ SOURCE_FILE@[0; 71)
43 PATH@[39; 43) 43 PATH@[39; 43)
44 PATH_SEGMENT@[39; 43) 44 PATH_SEGMENT@[39; 43)
45 SELF_KW@[39; 43) "self" 45 SELF_KW@[39; 43) "self"
46 COLONCOLON@[43; 45) "::" 46 COLON2@[43; 45) "::"
47 PATH_SEGMENT@[45; 48) 47 PATH_SEGMENT@[45; 48)
48 NAME_REF@[45; 48) 48 NAME_REF@[45; 48)
49 IDENT@[45; 48) "Foo" 49 IDENT@[45; 48) "Foo"
50 SEMI@[48; 49) ";" 50 SEMICOLON@[48; 49) ";"
51 WHITESPACE@[49; 50) "\n" 51 WHITESPACE@[49; 50) "\n"
52 TYPE_ALIAS_DEF@[50; 70) 52 TYPE_ALIAS_DEF@[50; 70)
53 TYPE_KW@[50; 54) "type" 53 TYPE_KW@[50; 54) "type"
@@ -62,9 +62,9 @@ SOURCE_FILE@[0; 71)
62 PATH@[59; 64) 62 PATH@[59; 64)
63 PATH_SEGMENT@[59; 64) 63 PATH_SEGMENT@[59; 64)
64 SUPER_KW@[59; 64) "super" 64 SUPER_KW@[59; 64) "super"
65 COLONCOLON@[64; 66) "::" 65 COLON2@[64; 66) "::"
66 PATH_SEGMENT@[66; 69) 66 PATH_SEGMENT@[66; 69)
67 NAME_REF@[66; 69) 67 NAME_REF@[66; 69)
68 IDENT@[66; 69) "Foo" 68 IDENT@[66; 69) "Foo"
69 SEMI@[69; 70) ";" 69 SEMICOLON@[69; 70) ";"
70 WHITESPACE@[70; 71) "\n" 70 WHITESPACE@[70; 71) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast
index f1018fcab..690d8504e 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 91)
25 PATH_SEGMENT@[23; 24) 25 PATH_SEGMENT@[23; 24)
26 NAME_REF@[23; 24) 26 NAME_REF@[23; 24)
27 IDENT@[23; 24) "a" 27 IDENT@[23; 24) "a"
28 SEMI@[24; 25) ";" 28 SEMICOLON@[24; 25) ";"
29 WHITESPACE@[25; 30) "\n " 29 WHITESPACE@[25; 30) "\n "
30 LET_STMT@[30; 43) 30 LET_STMT@[30; 43)
31 LET_KW@[30; 33) "let" 31 LET_KW@[30; 33) "let"
@@ -41,11 +41,11 @@ SOURCE_FILE@[0; 91)
41 PATH_SEGMENT@[38; 39) 41 PATH_SEGMENT@[38; 39)
42 NAME_REF@[38; 39) 42 NAME_REF@[38; 39)
43 IDENT@[38; 39) "a" 43 IDENT@[38; 39) "a"
44 COLONCOLON@[39; 41) "::" 44 COLON2@[39; 41) "::"
45 PATH_SEGMENT@[41; 42) 45 PATH_SEGMENT@[41; 42)
46 NAME_REF@[41; 42) 46 NAME_REF@[41; 42)
47 IDENT@[41; 42) "b" 47 IDENT@[41; 42) "b"
48 SEMI@[42; 43) ";" 48 SEMICOLON@[42; 43) ";"
49 WHITESPACE@[43; 48) "\n " 49 WHITESPACE@[43; 48) "\n "
50 LET_STMT@[48; 65) 50 LET_STMT@[48; 65)
51 LET_KW@[48; 51) "let" 51 LET_KW@[48; 51) "let"
@@ -58,11 +58,11 @@ SOURCE_FILE@[0; 91)
58 PATH_EXPR@[56; 64) 58 PATH_EXPR@[56; 64)
59 PATH@[56; 64) 59 PATH@[56; 64)
60 PATH_SEGMENT@[56; 64) 60 PATH_SEGMENT@[56; 64)
61 COLONCOLON@[56; 58) "::" 61 COLON2@[56; 58) "::"
62 NAME_REF@[58; 59) 62 NAME_REF@[58; 59)
63 IDENT@[58; 59) "a" 63 IDENT@[58; 59) "a"
64 TYPE_ARG_LIST@[59; 64) 64 TYPE_ARG_LIST@[59; 64)
65 COLONCOLON@[59; 61) "::" 65 COLON2@[59; 61) "::"
66 L_ANGLE@[61; 62) "<" 66 L_ANGLE@[61; 62) "<"
67 TYPE_ARG@[62; 63) 67 TYPE_ARG@[62; 63)
68 PATH_TYPE@[62; 63) 68 PATH_TYPE@[62; 63)
@@ -71,7 +71,7 @@ SOURCE_FILE@[0; 91)
71 NAME_REF@[62; 63) 71 NAME_REF@[62; 63)
72 IDENT@[62; 63) "b" 72 IDENT@[62; 63) "b"
73 R_ANGLE@[63; 64) ">" 73 R_ANGLE@[63; 64) ">"
74 SEMI@[64; 65) ";" 74 SEMICOLON@[64; 65) ";"
75 WHITESPACE@[65; 70) "\n " 75 WHITESPACE@[65; 70) "\n "
76 LET_STMT@[70; 88) 76 LET_STMT@[70; 88)
77 LET_KW@[70; 73) "let" 77 LET_KW@[70; 73) "let"
@@ -86,11 +86,11 @@ SOURCE_FILE@[0; 91)
86 PATH_SEGMENT@[78; 84) 86 PATH_SEGMENT@[78; 84)
87 NAME_REF@[78; 84) 87 NAME_REF@[78; 84)
88 IDENT@[78; 84) "format" 88 IDENT@[78; 84) "format"
89 EXCL@[84; 85) "!" 89 BANG@[84; 85) "!"
90 TOKEN_TREE@[85; 87) 90 TOKEN_TREE@[85; 87)
91 L_PAREN@[85; 86) "(" 91 L_PAREN@[85; 86) "("
92 R_PAREN@[86; 87) ")" 92 R_PAREN@[86; 87) ")"
93 SEMI@[87; 88) ";" 93 SEMICOLON@[87; 88) ";"
94 WHITESPACE@[88; 89) "\n" 94 WHITESPACE@[88; 89) "\n"
95 R_CURLY@[89; 90) "}" 95 R_CURLY@[89; 90) "}"
96 WHITESPACE@[90; 91) "\n" 96 WHITESPACE@[90; 91) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast
index 9a9a13370..c6082791a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast
@@ -63,7 +63,7 @@ SOURCE_FILE@[0; 116)
63 PATH_SEGMENT@[64; 72) 63 PATH_SEGMENT@[64; 72)
64 NAME_REF@[64; 72) 64 NAME_REF@[64; 72)
65 IDENT@[64; 72) "Iterator" 65 IDENT@[64; 72) "Iterator"
66 COLONCOLON@[72; 74) "::" 66 COLON2@[72; 74) "::"
67 PATH_SEGMENT@[74; 78) 67 PATH_SEGMENT@[74; 78)
68 NAME_REF@[74; 78) 68 NAME_REF@[74; 78)
69 IDENT@[74; 78) "Item" 69 IDENT@[74; 78) "Item"
@@ -94,7 +94,7 @@ SOURCE_FILE@[0; 116)
94 NAME_REF@[93; 101) 94 NAME_REF@[93; 101)
95 IDENT@[93; 101) "Iterator" 95 IDENT@[93; 101) "Iterator"
96 R_ANGLE@[101; 102) ">" 96 R_ANGLE@[101; 102) ">"
97 COLONCOLON@[102; 104) "::" 97 COLON2@[102; 104) "::"
98 PATH_SEGMENT@[104; 108) 98 PATH_SEGMENT@[104; 108)
99 NAME_REF@[104; 108) 99 NAME_REF@[104; 108)
100 IDENT@[104; 108) "Item" 100 IDENT@[104; 108) "Item"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast
index 3d659ce10..8d7083e97 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 112)
27 LITERAL@[35; 36) 27 LITERAL@[35; 36)
28 INT_NUMBER@[35; 36) "0" 28 INT_NUMBER@[35; 36) "0"
29 WHITESPACE@[36; 37) " " 29 WHITESPACE@[36; 37) " "
30 DOTDOTDOT@[37; 40) "..." 30 DOT3@[37; 40) "..."
31 WHITESPACE@[40; 41) " " 31 WHITESPACE@[40; 41) " "
32 LITERAL_PAT@[41; 44) 32 LITERAL_PAT@[41; 44)
33 LITERAL@[41; 44) 33 LITERAL@[41; 44)
@@ -46,7 +46,7 @@ SOURCE_FILE@[0; 112)
46 LITERAL@[60; 63) 46 LITERAL@[60; 63)
47 INT_NUMBER@[60; 63) "101" 47 INT_NUMBER@[60; 63) "101"
48 WHITESPACE@[63; 64) " " 48 WHITESPACE@[63; 64) " "
49 DOTDOTEQ@[64; 67) "..=" 49 DOT2EQ@[64; 67) "..="
50 WHITESPACE@[67; 68) " " 50 WHITESPACE@[67; 68) " "
51 LITERAL_PAT@[68; 71) 51 LITERAL_PAT@[68; 71)
52 LITERAL@[68; 71) 52 LITERAL@[68; 71)
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 112)
65 LITERAL@[87; 90) 65 LITERAL@[87; 90)
66 INT_NUMBER@[87; 90) "200" 66 INT_NUMBER@[87; 90) "200"
67 WHITESPACE@[90; 91) " " 67 WHITESPACE@[90; 91) " "
68 DOTDOT@[91; 93) ".." 68 DOT2@[91; 93) ".."
69 WHITESPACE@[93; 94) " " 69 WHITESPACE@[93; 94) " "
70 LITERAL_PAT@[94; 97) 70 LITERAL_PAT@[94; 97)
71 LITERAL@[94; 97) 71 LITERAL@[94; 97)
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast b/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast
index 7667201ba..c6e4ee532 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0060_extern_crate.rast
@@ -6,5 +6,5 @@ SOURCE_FILE@[0; 18)
6 WHITESPACE@[12; 13) " " 6 WHITESPACE@[12; 13) " "
7 NAME_REF@[13; 16) 7 NAME_REF@[13; 16)
8 IDENT@[13; 16) "foo" 8 IDENT@[13; 16) "foo"
9 SEMI@[16; 17) ";" 9 SEMICOLON@[16; 17) ";"
10 WHITESPACE@[17; 18) "\n" 10 WHITESPACE@[17; 18) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast b/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast
index dcf527639..f4206858b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast
@@ -22,7 +22,7 @@ SOURCE_FILE@[0; 112)
22 RECORD_FIELD_LIST@[17; 19) 22 RECORD_FIELD_LIST@[17; 19)
23 L_CURLY@[17; 18) "{" 23 L_CURLY@[17; 18) "{"
24 R_CURLY@[18; 19) "}" 24 R_CURLY@[18; 19) "}"
25 SEMI@[19; 20) ";" 25 SEMICOLON@[19; 20) ";"
26 WHITESPACE@[20; 25) "\n " 26 WHITESPACE@[20; 25) "\n "
27 EXPR_STMT@[25; 41) 27 EXPR_STMT@[25; 41)
28 RECORD_LIT@[25; 40) 28 RECORD_LIT@[25; 40)
@@ -49,7 +49,7 @@ SOURCE_FILE@[0; 112)
49 COMMA@[37; 38) "," 49 COMMA@[37; 38) ","
50 WHITESPACE@[38; 39) " " 50 WHITESPACE@[38; 39) " "
51 R_CURLY@[39; 40) "}" 51 R_CURLY@[39; 40) "}"
52 SEMI@[40; 41) ";" 52 SEMICOLON@[40; 41) ";"
53 WHITESPACE@[41; 46) "\n " 53 WHITESPACE@[41; 46) "\n "
54 EXPR_STMT@[46; 83) 54 EXPR_STMT@[46; 83)
55 RECORD_LIT@[46; 82) 55 RECORD_LIT@[46; 82)
@@ -75,7 +75,7 @@ SOURCE_FILE@[0; 112)
75 INT_NUMBER@[56; 58) "32" 75 INT_NUMBER@[56; 58) "32"
76 COMMA@[58; 59) "," 76 COMMA@[58; 59) ","
77 WHITESPACE@[59; 60) " " 77 WHITESPACE@[59; 60) " "
78 DOTDOT@[60; 62) ".." 78 DOT2@[60; 62) ".."
79 CALL_EXPR@[62; 80) 79 CALL_EXPR@[62; 80)
80 PATH_EXPR@[62; 78) 80 PATH_EXPR@[62; 78)
81 PATH@[62; 78) 81 PATH@[62; 78)
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 112)
83 PATH_SEGMENT@[62; 69) 83 PATH_SEGMENT@[62; 69)
84 NAME_REF@[62; 69) 84 NAME_REF@[62; 69)
85 IDENT@[62; 69) "Default" 85 IDENT@[62; 69) "Default"
86 COLONCOLON@[69; 71) "::" 86 COLON2@[69; 71) "::"
87 PATH_SEGMENT@[71; 78) 87 PATH_SEGMENT@[71; 78)
88 NAME_REF@[71; 78) 88 NAME_REF@[71; 78)
89 IDENT@[71; 78) "default" 89 IDENT@[71; 78) "default"
@@ -92,7 +92,7 @@ SOURCE_FILE@[0; 112)
92 R_PAREN@[79; 80) ")" 92 R_PAREN@[79; 80) ")"
93 WHITESPACE@[80; 81) " " 93 WHITESPACE@[80; 81) " "
94 R_CURLY@[81; 82) "}" 94 R_CURLY@[81; 82) "}"
95 SEMI@[82; 83) ";" 95 SEMICOLON@[82; 83) ";"
96 WHITESPACE@[83; 88) "\n " 96 WHITESPACE@[83; 88) "\n "
97 EXPR_STMT@[88; 109) 97 EXPR_STMT@[88; 109)
98 RECORD_LIT@[88; 108) 98 RECORD_LIT@[88; 108)
@@ -113,7 +113,7 @@ SOURCE_FILE@[0; 112)
113 INT_NUMBER@[105; 106) "1" 113 INT_NUMBER@[105; 106) "1"
114 WHITESPACE@[106; 107) " " 114 WHITESPACE@[106; 107) " "
115 R_CURLY@[107; 108) "}" 115 R_CURLY@[107; 108) "}"
116 SEMI@[108; 109) ";" 116 SEMICOLON@[108; 109) ";"
117 WHITESPACE@[109; 110) "\n" 117 WHITESPACE@[109; 110) "\n"
118 R_CURLY@[110; 111) "}" 118 R_CURLY@[110; 111) "}"
119 WHITESPACE@[111; 112) "\n" 119 WHITESPACE@[111; 112) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast b/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast
index 6b528c252..99e0a0bec 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast
@@ -18,7 +18,7 @@ SOURCE_FILE@[0; 70)
18 PATH_SEGMENT@[12; 23) 18 PATH_SEGMENT@[12; 23)
19 NAME_REF@[12; 23) 19 NAME_REF@[12; 23)
20 IDENT@[12; 23) "macro_rules" 20 IDENT@[12; 23) "macro_rules"
21 EXCL@[23; 24) "!" 21 BANG@[23; 24) "!"
22 WHITESPACE@[24; 25) " " 22 WHITESPACE@[24; 25) " "
23 NAME@[25; 28) 23 NAME@[25; 28)
24 IDENT@[25; 28) "foo" 24 IDENT@[25; 28) "foo"
@@ -33,26 +33,26 @@ SOURCE_FILE@[0; 70)
33 PATH_SEGMENT@[32; 35) 33 PATH_SEGMENT@[32; 35)
34 NAME_REF@[32; 35) 34 NAME_REF@[32; 35)
35 IDENT@[32; 35) "foo" 35 IDENT@[32; 35) "foo"
36 COLONCOLON@[35; 37) "::" 36 COLON2@[35; 37) "::"
37 PATH_SEGMENT@[37; 40) 37 PATH_SEGMENT@[37; 40)
38 NAME_REF@[37; 40) 38 NAME_REF@[37; 40)
39 IDENT@[37; 40) "bar" 39 IDENT@[37; 40) "bar"
40 EXCL@[40; 41) "!" 40 BANG@[40; 41) "!"
41 TOKEN_TREE@[41; 43) 41 TOKEN_TREE@[41; 43)
42 L_PAREN@[41; 42) "(" 42 L_PAREN@[41; 42) "("
43 R_PAREN@[42; 43) ")" 43 R_PAREN@[42; 43) ")"
44 SEMI@[43; 44) ";" 44 SEMICOLON@[43; 44) ";"
45 WHITESPACE@[44; 45) "\n" 45 WHITESPACE@[44; 45) "\n"
46 MACRO_CALL@[45; 59) 46 MACRO_CALL@[45; 59)
47 PATH@[45; 55) 47 PATH@[45; 55)
48 PATH@[45; 50) 48 PATH@[45; 50)
49 PATH_SEGMENT@[45; 50) 49 PATH_SEGMENT@[45; 50)
50 SUPER_KW@[45; 50) "super" 50 SUPER_KW@[45; 50) "super"
51 COLONCOLON@[50; 52) "::" 51 COLON2@[50; 52) "::"
52 PATH_SEGMENT@[52; 55) 52 PATH_SEGMENT@[52; 55)
53 NAME_REF@[52; 55) 53 NAME_REF@[52; 55)
54 IDENT@[52; 55) "baz" 54 IDENT@[52; 55) "baz"
55 EXCL@[55; 56) "!" 55 BANG@[55; 56) "!"
56 WHITESPACE@[56; 57) " " 56 WHITESPACE@[56; 57) " "
57 TOKEN_TREE@[57; 59) 57 TOKEN_TREE@[57; 59)
58 L_CURLY@[57; 58) "{" 58 L_CURLY@[57; 58) "{"
@@ -63,5 +63,5 @@ SOURCE_FILE@[0; 70)
63 WHITESPACE@[66; 67) " " 63 WHITESPACE@[66; 67) " "
64 NAME@[67; 68) 64 NAME@[67; 68)
65 IDENT@[67; 68) "S" 65 IDENT@[67; 68) "S"
66 SEMI@[68; 69) ";" 66 SEMICOLON@[68; 69) ";"
67 WHITESPACE@[69; 70) "\n" 67 WHITESPACE@[69; 70) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast
index 0cc3ac085..278549a46 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0063_impl_def_neg.rast
@@ -2,7 +2,7 @@ SOURCE_FILE@[0; 20)
2 IMPL_DEF@[0; 19) 2 IMPL_DEF@[0; 19)
3 IMPL_KW@[0; 4) "impl" 3 IMPL_KW@[0; 4) "impl"
4 WHITESPACE@[4; 5) " " 4 WHITESPACE@[4; 5) " "
5 EXCL@[5; 6) "!" 5 BANG@[5; 6) "!"
6 PATH_TYPE@[6; 10) 6 PATH_TYPE@[6; 10)
7 PATH@[6; 10) 7 PATH@[6; 10)
8 PATH_SEGMENT@[6; 10) 8 PATH_SEGMENT@[6; 10)
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast
index 2ace3c8ee..df24ae189 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 137)
24 BLOCK@[23; 25) 24 BLOCK@[23; 25)
25 L_CURLY@[23; 24) "{" 25 L_CURLY@[23; 24) "{"
26 R_CURLY@[24; 25) "}" 26 R_CURLY@[24; 25) "}"
27 SEMI@[25; 26) ";" 27 SEMICOLON@[25; 26) ";"
28 WHITESPACE@[26; 31) "\n " 28 WHITESPACE@[26; 31) "\n "
29 EXPR_STMT@[31; 50) 29 EXPR_STMT@[31; 50)
30 IF_EXPR@[31; 49) 30 IF_EXPR@[31; 49)
@@ -45,7 +45,7 @@ SOURCE_FILE@[0; 137)
45 BLOCK@[47; 49) 45 BLOCK@[47; 49)
46 L_CURLY@[47; 48) "{" 46 L_CURLY@[47; 48) "{"
47 R_CURLY@[48; 49) "}" 47 R_CURLY@[48; 49) "}"
48 SEMI@[49; 50) ";" 48 SEMICOLON@[49; 50) ";"
49 WHITESPACE@[50; 55) "\n " 49 WHITESPACE@[50; 55) "\n "
50 EXPR_STMT@[55; 91) 50 EXPR_STMT@[55; 91)
51 IF_EXPR@[55; 90) 51 IF_EXPR@[55; 90)
@@ -80,7 +80,7 @@ SOURCE_FILE@[0; 137)
80 BLOCK@[88; 90) 80 BLOCK@[88; 90)
81 L_CURLY@[88; 89) "{" 81 L_CURLY@[88; 89) "{"
82 R_CURLY@[89; 90) "}" 82 R_CURLY@[89; 90) "}"
83 SEMI@[90; 91) ";" 83 SEMICOLON@[90; 91) ";"
84 WHITESPACE@[91; 96) "\n " 84 WHITESPACE@[91; 96) "\n "
85 EXPR_STMT@[96; 104) 85 EXPR_STMT@[96; 104)
86 IF_EXPR@[96; 103) 86 IF_EXPR@[96; 103)
@@ -97,7 +97,7 @@ SOURCE_FILE@[0; 137)
97 BLOCK@[101; 103) 97 BLOCK@[101; 103)
98 L_CURLY@[101; 102) "{" 98 L_CURLY@[101; 102) "{"
99 R_CURLY@[102; 103) "}" 99 R_CURLY@[102; 103) "}"
100 SEMI@[103; 104) ";" 100 SEMICOLON@[103; 104) ";"
101 WHITESPACE@[104; 109) "\n " 101 WHITESPACE@[104; 109) "\n "
102 EXPR_STMT@[109; 134) 102 EXPR_STMT@[109; 134)
103 IF_EXPR@[109; 133) 103 IF_EXPR@[109; 133)
@@ -126,7 +126,7 @@ SOURCE_FILE@[0; 137)
126 L_CURLY@[130; 131) "{" 126 L_CURLY@[130; 131) "{"
127 WHITESPACE@[131; 132) " " 127 WHITESPACE@[131; 132) " "
128 R_CURLY@[132; 133) "}" 128 R_CURLY@[132; 133) "}"
129 SEMI@[133; 134) ";" 129 SEMICOLON@[133; 134) ";"
130 WHITESPACE@[134; 135) "\n" 130 WHITESPACE@[134; 135) "\n"
131 R_CURLY@[135; 136) "}" 131 R_CURLY@[135; 136) "}"
132 WHITESPACE@[136; 137) "\n" 132 WHITESPACE@[136; 137) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast
index 2ee0dc199..bbf347580 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0065_dyn_trait_type.rast
@@ -39,5 +39,5 @@ SOURCE_FILE@[0; 42)
39 WHITESPACE@[37; 38) " " 39 WHITESPACE@[37; 38) " "
40 TYPE_BOUND@[38; 40) 40 TYPE_BOUND@[38; 40)
41 LIFETIME@[38; 40) "\'a" 41 LIFETIME@[38; 40) "\'a"
42 SEMI@[40; 41) ";" 42 SEMICOLON@[40; 41) ";"
43 WHITESPACE@[41; 42) "\n" 43 WHITESPACE@[41; 42) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast b/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast
index 2f07af4e1..85edd0845 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast
@@ -146,7 +146,7 @@ SOURCE_FILE@[0; 167)
146 COMMA@[156; 157) "," 146 COMMA@[156; 157) ","
147 WHITESPACE@[157; 162) "\n " 147 WHITESPACE@[157; 162) "\n "
148 R_CURLY@[162; 163) "}" 148 R_CURLY@[162; 163) "}"
149 SEMI@[163; 164) ";" 149 SEMICOLON@[163; 164) ";"
150 WHITESPACE@[164; 165) "\n" 150 WHITESPACE@[164; 165) "\n"
151 R_CURLY@[165; 166) "}" 151 R_CURLY@[165; 166) "}"
152 WHITESPACE@[166; 167) "\n" 152 WHITESPACE@[166; 167) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast
index f2ba4e909..35994e3fd 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0067_crate_path.rast
@@ -7,9 +7,9 @@ SOURCE_FILE@[0; 16)
7 PATH@[4; 9) 7 PATH@[4; 9)
8 PATH_SEGMENT@[4; 9) 8 PATH_SEGMENT@[4; 9)
9 CRATE_KW@[4; 9) "crate" 9 CRATE_KW@[4; 9) "crate"
10 COLONCOLON@[9; 11) "::" 10 COLON2@[9; 11) "::"
11 PATH_SEGMENT@[11; 14) 11 PATH_SEGMENT@[11; 14)
12 NAME_REF@[11; 14) 12 NAME_REF@[11; 14)
13 IDENT@[11; 14) "foo" 13 IDENT@[11; 14) "foo"
14 SEMI@[14; 15) ";" 14 SEMICOLON@[14; 15) ";"
15 WHITESPACE@[15; 16) "\n" 15 WHITESPACE@[15; 16) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast
index 86afc9362..e24247890 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0069_use_tree_list_after_path.rast
@@ -6,7 +6,7 @@ SOURCE_FILE@[0; 37)
6 PATH@[4; 9) 6 PATH@[4; 9)
7 PATH_SEGMENT@[4; 9) 7 PATH_SEGMENT@[4; 9)
8 CRATE_KW@[4; 9) "crate" 8 CRATE_KW@[4; 9) "crate"
9 COLONCOLON@[9; 11) "::" 9 COLON2@[9; 11) "::"
10 USE_TREE_LIST@[11; 17) 10 USE_TREE_LIST@[11; 17)
11 L_CURLY@[11; 12) "{" 11 L_CURLY@[11; 12) "{"
12 USE_TREE@[12; 16) 12 USE_TREE@[12; 16)
@@ -15,7 +15,7 @@ SOURCE_FILE@[0; 37)
15 NAME_REF@[12; 16) 15 NAME_REF@[12; 16)
16 IDENT@[12; 16) "Item" 16 IDENT@[12; 16) "Item"
17 R_CURLY@[16; 17) "}" 17 R_CURLY@[16; 17) "}"
18 SEMI@[17; 18) ";" 18 SEMICOLON@[17; 18) ";"
19 WHITESPACE@[18; 19) "\n" 19 WHITESPACE@[18; 19) "\n"
20 USE_ITEM@[19; 36) 20 USE_ITEM@[19; 36)
21 USE_KW@[19; 22) "use" 21 USE_KW@[19; 22) "use"
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 37)
24 PATH@[23; 27) 24 PATH@[23; 27)
25 PATH_SEGMENT@[23; 27) 25 PATH_SEGMENT@[23; 27)
26 SELF_KW@[23; 27) "self" 26 SELF_KW@[23; 27) "self"
27 COLONCOLON@[27; 29) "::" 27 COLON2@[27; 29) "::"
28 USE_TREE_LIST@[29; 35) 28 USE_TREE_LIST@[29; 35)
29 L_CURLY@[29; 30) "{" 29 L_CURLY@[29; 30) "{"
30 USE_TREE@[30; 34) 30 USE_TREE@[30; 34)
@@ -33,5 +33,5 @@ SOURCE_FILE@[0; 37)
33 NAME_REF@[30; 34) 33 NAME_REF@[30; 34)
34 IDENT@[30; 34) "Item" 34 IDENT@[30; 34) "Item"
35 R_CURLY@[34; 35) "}" 35 R_CURLY@[34; 35) "}"
36 SEMI@[35; 36) ";" 36 SEMICOLON@[35; 36) ";"
37 WHITESPACE@[36; 37) "\n" 37 WHITESPACE@[36; 37) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast
index cd63d10f7..4b075569a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 46)
32 WHITESPACE@[28; 29) " " 32 WHITESPACE@[28; 29) " "
33 LITERAL@[29; 30) 33 LITERAL@[29; 30)
34 INT_NUMBER@[29; 30) "2" 34 INT_NUMBER@[29; 30) "2"
35 SEMI@[30; 31) ";" 35 SEMICOLON@[30; 31) ";"
36 WHITESPACE@[31; 36) "\n " 36 WHITESPACE@[31; 36) "\n "
37 EXPR_STMT@[36; 39) 37 EXPR_STMT@[36; 39)
38 BLOCK_EXPR@[36; 39) 38 BLOCK_EXPR@[36; 39)
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 46)
47 AMP@[40; 41) "&" 47 AMP@[40; 41) "&"
48 LITERAL@[41; 42) 48 LITERAL@[41; 42)
49 INT_NUMBER@[41; 42) "2" 49 INT_NUMBER@[41; 42) "2"
50 SEMI@[42; 43) ";" 50 SEMICOLON@[42; 43) ";"
51 WHITESPACE@[43; 44) "\n" 51 WHITESPACE@[43; 44) "\n"
52 R_CURLY@[44; 45) "}" 52 R_CURLY@[44; 45) "}"
53 WHITESPACE@[45; 46) "\n" 53 WHITESPACE@[45; 46) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast
index 0af668056..559ffb578 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 97)
24 L_CURLY@[24; 25) "{" 24 L_CURLY@[24; 25) "{"
25 WHITESPACE@[25; 26) " " 25 WHITESPACE@[25; 26) " "
26 R_CURLY@[26; 27) "}" 26 R_CURLY@[26; 27) "}"
27 SEMI@[27; 28) ";" 27 SEMICOLON@[27; 28) ";"
28 WHITESPACE@[28; 33) "\n " 28 WHITESPACE@[28; 33) "\n "
29 EXPR_STMT@[33; 44) 29 EXPR_STMT@[33; 44)
30 MATCH_EXPR@[33; 43) 30 MATCH_EXPR@[33; 43)
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 97)
39 MATCH_ARM_LIST@[41; 43) 39 MATCH_ARM_LIST@[41; 43)
40 L_CURLY@[41; 42) "{" 40 L_CURLY@[41; 42) "{"
41 R_CURLY@[42; 43) "}" 41 R_CURLY@[42; 43) "}"
42 SEMI@[43; 44) ";" 42 SEMICOLON@[43; 44) ";"
43 WHITESPACE@[44; 49) "\n " 43 WHITESPACE@[44; 49) "\n "
44 EXPR_STMT@[49; 71) 44 EXPR_STMT@[49; 71)
45 MATCH_EXPR@[49; 70) 45 MATCH_EXPR@[49; 70)
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 97)
65 R_PAREN@[67; 68) ")" 65 R_PAREN@[67; 68) ")"
66 WHITESPACE@[68; 69) " " 66 WHITESPACE@[68; 69) " "
67 R_CURLY@[69; 70) "}" 67 R_CURLY@[69; 70) "}"
68 SEMI@[70; 71) ";" 68 SEMICOLON@[70; 71) ";"
69 WHITESPACE@[71; 76) "\n " 69 WHITESPACE@[71; 76) "\n "
70 EXPR_STMT@[76; 94) 70 EXPR_STMT@[76; 94)
71 MATCH_EXPR@[76; 93) 71 MATCH_EXPR@[76; 93)
@@ -90,7 +90,7 @@ SOURCE_FILE@[0; 97)
90 MATCH_ARM_LIST@[91; 93) 90 MATCH_ARM_LIST@[91; 93)
91 L_CURLY@[91; 92) "{" 91 L_CURLY@[91; 92) "{"
92 R_CURLY@[92; 93) "}" 92 R_CURLY@[92; 93) "}"
93 SEMI@[93; 94) ";" 93 SEMICOLON@[93; 94) ";"
94 WHITESPACE@[94; 95) "\n" 94 WHITESPACE@[94; 95) "\n"
95 R_CURLY@[95; 96) "}" 95 R_CURLY@[95; 96) "}"
96 WHITESPACE@[96; 97) "\n" 96 WHITESPACE@[96; 97) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast
index 4a83a7200..084efaee2 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast
@@ -15,7 +15,7 @@ SOURCE_FILE@[0; 40)
15 EXPR_STMT@[15; 22) 15 EXPR_STMT@[15; 22)
16 RETURN_EXPR@[15; 21) 16 RETURN_EXPR@[15; 21)
17 RETURN_KW@[15; 21) "return" 17 RETURN_KW@[15; 21) "return"
18 SEMI@[21; 22) ";" 18 SEMICOLON@[21; 22) ";"
19 WHITESPACE@[22; 27) "\n " 19 WHITESPACE@[22; 27) "\n "
20 EXPR_STMT@[27; 37) 20 EXPR_STMT@[27; 37)
21 RETURN_EXPR@[27; 36) 21 RETURN_EXPR@[27; 36)
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 40)
23 WHITESPACE@[33; 34) " " 23 WHITESPACE@[33; 34) " "
24 LITERAL@[34; 36) 24 LITERAL@[34; 36)
25 INT_NUMBER@[34; 36) "92" 25 INT_NUMBER@[34; 36) "92"
26 SEMI@[36; 37) ";" 26 SEMICOLON@[36; 37) ";"
27 WHITESPACE@[37; 38) "\n" 27 WHITESPACE@[37; 38) "\n"
28 R_CURLY@[38; 39) "}" 28 R_CURLY@[38; 39) "}"
29 WHITESPACE@[39; 40) "\n" 29 WHITESPACE@[39; 40) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast
index 2dd6db28f..64150b774 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0073_type_item_type_params.rast
@@ -16,5 +16,5 @@ SOURCE_FILE@[0; 21)
16 TUPLE_TYPE@[17; 19) 16 TUPLE_TYPE@[17; 19)
17 L_PAREN@[17; 18) "(" 17 L_PAREN@[17; 18) "("
18 R_PAREN@[18; 19) ")" 18 R_PAREN@[18; 19) ")"
19 SEMI@[19; 20) ";" 19 SEMICOLON@[19; 20) ";"
20 WHITESPACE@[20; 21) "\n" 20 WHITESPACE@[20; 21) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast
index 28d1bad97..5c7cb4a88 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast
@@ -36,7 +36,7 @@ SOURCE_FILE@[0; 65)
36 WHITESPACE@[26; 27) " " 36 WHITESPACE@[26; 27) " "
37 LITERAL@[27; 28) 37 LITERAL@[27; 28)
38 INT_NUMBER@[27; 28) "1" 38 INT_NUMBER@[27; 28) "1"
39 SEMI@[28; 29) ";" 39 SEMICOLON@[28; 29) ";"
40 WHITESPACE@[29; 30) " " 40 WHITESPACE@[29; 30) " "
41 R_CURLY@[30; 31) "}" 41 R_CURLY@[30; 31) "}"
42 WHITESPACE@[31; 32) "\n" 42 WHITESPACE@[31; 32) "\n"
@@ -56,12 +56,12 @@ SOURCE_FILE@[0; 65)
56 EXPR_STMT@[41; 43) 56 EXPR_STMT@[41; 43)
57 LITERAL@[41; 42) 57 LITERAL@[41; 42)
58 INT_NUMBER@[41; 42) "1" 58 INT_NUMBER@[41; 42) "1"
59 SEMI@[42; 43) ";" 59 SEMICOLON@[42; 43) ";"
60 WHITESPACE@[43; 44) " " 60 WHITESPACE@[43; 44) " "
61 EXPR_STMT@[44; 46) 61 EXPR_STMT@[44; 46)
62 LITERAL@[44; 45) 62 LITERAL@[44; 45)
63 INT_NUMBER@[44; 45) "2" 63 INT_NUMBER@[44; 45) "2"
64 SEMI@[45; 46) ";" 64 SEMICOLON@[45; 46) ";"
65 WHITESPACE@[46; 47) " " 65 WHITESPACE@[46; 47) " "
66 R_CURLY@[47; 48) "}" 66 R_CURLY@[47; 48) "}"
67 WHITESPACE@[48; 49) "\n" 67 WHITESPACE@[48; 49) "\n"
@@ -81,7 +81,7 @@ SOURCE_FILE@[0; 65)
81 EXPR_STMT@[58; 60) 81 EXPR_STMT@[58; 60)
82 LITERAL@[58; 59) 82 LITERAL@[58; 59)
83 INT_NUMBER@[58; 59) "1" 83 INT_NUMBER@[58; 59) "1"
84 SEMI@[59; 60) ";" 84 SEMICOLON@[59; 60) ";"
85 WHITESPACE@[60; 61) " " 85 WHITESPACE@[60; 61) " "
86 LITERAL@[61; 62) 86 LITERAL@[61; 62)
87 INT_NUMBER@[61; 62) "2" 87 INT_NUMBER@[61; 62) "2"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast
index 18ccfe9ef..bb9f674e1 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast
@@ -20,7 +20,7 @@ SOURCE_FILE@[0; 21)
20 NAME_REF@[15; 16) 20 NAME_REF@[15; 16)
21 IDENT@[15; 16) "x" 21 IDENT@[15; 16) "x"
22 QUESTION@[16; 17) "?" 22 QUESTION@[16; 17) "?"
23 SEMI@[17; 18) ";" 23 SEMICOLON@[17; 18) ";"
24 WHITESPACE@[18; 19) "\n" 24 WHITESPACE@[18; 19) "\n"
25 R_CURLY@[19; 20) "}" 25 R_CURLY@[19; 20) "}"
26 WHITESPACE@[20; 21) "\n" 26 WHITESPACE@[20; 21) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast
index 4bc0b1858..9a38192d9 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0078_type_item.rast
@@ -12,5 +12,5 @@ SOURCE_FILE@[0; 16)
12 PATH_SEGMENT@[11; 14) 12 PATH_SEGMENT@[11; 14)
13 NAME_REF@[11; 14) 13 NAME_REF@[11; 14)
14 IDENT@[11; 14) "Bar" 14 IDENT@[11; 14) "Bar"
15 SEMI@[14; 15) ";" 15 SEMICOLON@[14; 15) ";"
16 WHITESPACE@[15; 16) "\n" 16 WHITESPACE@[15; 16) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast b/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast
index 9f8a6b0f6..b8bafc220 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast
@@ -24,8 +24,8 @@ SOURCE_FILE@[0; 89)
24 RANGE_EXPR@[23; 26) 24 RANGE_EXPR@[23; 26)
25 LITERAL@[23; 24) 25 LITERAL@[23; 24)
26 INT_NUMBER@[23; 24) "1" 26 INT_NUMBER@[23; 24) "1"
27 DOTDOT@[24; 26) ".." 27 DOT2@[24; 26) ".."
28 SEMI@[26; 27) ";" 28 SEMICOLON@[26; 27) ";"
29 WHITESPACE@[27; 32) "\n " 29 WHITESPACE@[27; 32) "\n "
30 EXPR_STMT@[32; 54) 30 EXPR_STMT@[32; 54)
31 MATCH_EXPR@[32; 53) 31 MATCH_EXPR@[32; 53)
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 89)
34 RANGE_EXPR@[38; 41) 34 RANGE_EXPR@[38; 41)
35 LITERAL@[38; 39) 35 LITERAL@[38; 39)
36 INT_NUMBER@[38; 39) "1" 36 INT_NUMBER@[38; 39) "1"
37 DOTDOT@[39; 41) ".." 37 DOT2@[39; 41) ".."
38 WHITESPACE@[41; 42) " " 38 WHITESPACE@[41; 42) " "
39 MATCH_ARM_LIST@[42; 53) 39 MATCH_ARM_LIST@[42; 53)
40 L_CURLY@[42; 43) "{" 40 L_CURLY@[42; 43) "{"
@@ -50,7 +50,7 @@ SOURCE_FILE@[0; 89)
50 R_PAREN@[50; 51) ")" 50 R_PAREN@[50; 51) ")"
51 WHITESPACE@[51; 52) " " 51 WHITESPACE@[51; 52) " "
52 R_CURLY@[52; 53) "}" 52 R_CURLY@[52; 53) "}"
53 SEMI@[53; 54) ";" 53 SEMICOLON@[53; 54) ";"
54 WHITESPACE@[54; 59) "\n " 54 WHITESPACE@[54; 59) "\n "
55 EXPR_STMT@[59; 86) 55 EXPR_STMT@[59; 86)
56 MATCH_EXPR@[59; 85) 56 MATCH_EXPR@[59; 85)
@@ -69,7 +69,7 @@ SOURCE_FILE@[0; 89)
69 ARG_LIST@[68; 70) 69 ARG_LIST@[68; 70)
70 L_PAREN@[68; 69) "(" 70 L_PAREN@[68; 69) "("
71 R_PAREN@[69; 70) ")" 71 R_PAREN@[69; 70) ")"
72 DOTDOT@[70; 72) ".." 72 DOT2@[70; 72) ".."
73 PATH_EXPR@[72; 73) 73 PATH_EXPR@[72; 73)
74 PATH@[72; 73) 74 PATH@[72; 73)
75 PATH_SEGMENT@[72; 73) 75 PATH_SEGMENT@[72; 73)
@@ -90,7 +90,7 @@ SOURCE_FILE@[0; 89)
90 R_PAREN@[82; 83) ")" 90 R_PAREN@[82; 83) ")"
91 WHITESPACE@[83; 84) " " 91 WHITESPACE@[83; 84) " "
92 R_CURLY@[84; 85) "}" 92 R_CURLY@[84; 85) "}"
93 SEMI@[85; 86) ";" 93 SEMICOLON@[85; 86) ";"
94 WHITESPACE@[86; 87) "\n" 94 WHITESPACE@[86; 87) "\n"
95 R_CURLY@[87; 88) "}" 95 R_CURLY@[87; 88) "}"
96 WHITESPACE@[88; 89) "\n" 96 WHITESPACE@[88; 89) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
index b1353c2c6..00c4e4220 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 200)
27 TUPLE_TYPE@[25; 27) 27 TUPLE_TYPE@[25; 27)
28 L_PAREN@[25; 26) "(" 28 L_PAREN@[25; 26) "("
29 R_PAREN@[26; 27) ")" 29 R_PAREN@[26; 27) ")"
30 SEMI@[27; 28) ";" 30 SEMICOLON@[27; 28) ";"
31 WHITESPACE@[28; 29) "\n" 31 WHITESPACE@[28; 29) "\n"
32 FN_DEF@[29; 79) 32 FN_DEF@[29; 79)
33 FN_KW@[29; 31) "fn" 33 FN_KW@[29; 31) "fn"
@@ -222,7 +222,7 @@ SOURCE_FILE@[0; 200)
222 NAME_REF@[177; 180) 222 NAME_REF@[177; 180)
223 IDENT@[177; 180) "Baz" 223 IDENT@[177; 180) "Baz"
224 R_ANGLE@[180; 181) ">" 224 R_ANGLE@[180; 181) ">"
225 COLONCOLON@[181; 183) "::" 225 COLON2@[181; 183) "::"
226 PATH_SEGMENT@[183; 186) 226 PATH_SEGMENT@[183; 186)
227 NAME_REF@[183; 186) 227 NAME_REF@[183; 186)
228 IDENT@[183; 186) "Foo" 228 IDENT@[183; 186) "Foo"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast
index 8f34afe76..2999977fc 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 52)
24 AMP@[23; 24) "&" 24 AMP@[23; 24) "&"
25 LITERAL@[24; 25) 25 LITERAL@[24; 25)
26 INT_NUMBER@[24; 25) "1" 26 INT_NUMBER@[24; 25) "1"
27 SEMI@[25; 26) ";" 27 SEMICOLON@[25; 26) ";"
28 WHITESPACE@[26; 31) "\n " 28 WHITESPACE@[26; 31) "\n "
29 LET_STMT@[31; 49) 29 LET_STMT@[31; 49)
30 LET_KW@[31; 34) "let" 30 LET_KW@[31; 34) "let"
@@ -49,7 +49,7 @@ SOURCE_FILE@[0; 52)
49 ARG_LIST@[46; 48) 49 ARG_LIST@[46; 48)
50 L_PAREN@[46; 47) "(" 50 L_PAREN@[46; 47) "("
51 R_PAREN@[47; 48) ")" 51 R_PAREN@[47; 48) ")"
52 SEMI@[48; 49) ";" 52 SEMICOLON@[48; 49) ";"
53 WHITESPACE@[49; 50) "\n" 53 WHITESPACE@[49; 50) "\n"
54 R_CURLY@[50; 51) "}" 54 R_CURLY@[50; 51) "}"
55 WHITESPACE@[51; 52) "\n" 55 WHITESPACE@[51; 52) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast b/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast
index e909f2b78..13393e4b8 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0083_struct_items.rast
@@ -4,7 +4,7 @@ SOURCE_FILE@[0; 106)
4 WHITESPACE@[6; 7) " " 4 WHITESPACE@[6; 7) " "
5 NAME@[7; 10) 5 NAME@[7; 10)
6 IDENT@[7; 10) "Foo" 6 IDENT@[7; 10) "Foo"
7 SEMI@[10; 11) ";" 7 SEMICOLON@[10; 11) ";"
8 WHITESPACE@[11; 12) "\n" 8 WHITESPACE@[11; 12) "\n"
9 STRUCT_DEF@[12; 25) 9 STRUCT_DEF@[12; 25)
10 STRUCT_KW@[12; 18) "struct" 10 STRUCT_KW@[12; 18) "struct"
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 106)
24 TUPLE_FIELD_DEF_LIST@[36; 38) 24 TUPLE_FIELD_DEF_LIST@[36; 38)
25 L_PAREN@[36; 37) "(" 25 L_PAREN@[36; 37) "("
26 R_PAREN@[37; 38) ")" 26 R_PAREN@[37; 38) ")"
27 SEMI@[38; 39) ";" 27 SEMICOLON@[38; 39) ";"
28 WHITESPACE@[39; 40) "\n" 28 WHITESPACE@[39; 40) "\n"
29 STRUCT_DEF@[40; 66) 29 STRUCT_DEF@[40; 66)
30 STRUCT_KW@[40; 46) "struct" 30 STRUCT_KW@[40; 46) "struct"
@@ -48,7 +48,7 @@ SOURCE_FILE@[0; 106)
48 NAME_REF@[59; 64) 48 NAME_REF@[59; 64)
49 IDENT@[59; 64) "usize" 49 IDENT@[59; 64) "usize"
50 R_PAREN@[64; 65) ")" 50 R_PAREN@[64; 65) ")"
51 SEMI@[65; 66) ";" 51 SEMICOLON@[65; 66) ";"
52 WHITESPACE@[66; 67) "\n" 52 WHITESPACE@[66; 67) "\n"
53 STRUCT_DEF@[67; 105) 53 STRUCT_DEF@[67; 105)
54 STRUCT_KW@[67; 73) "struct" 54 STRUCT_KW@[67; 73) "struct"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast
index c0cf48af5..79d193616 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0084_paren_type.rast
@@ -15,5 +15,5 @@ SOURCE_FILE@[0; 16)
15 NAME_REF@[10; 13) 15 NAME_REF@[10; 13)
16 IDENT@[10; 13) "i32" 16 IDENT@[10; 13) "i32"
17 R_PAREN@[13; 14) ")" 17 R_PAREN@[13; 14) ")"
18 SEMI@[14; 15) ";" 18 SEMICOLON@[14; 15) ";"
19 WHITESPACE@[15; 16) "\n" 19 WHITESPACE@[15; 16) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast b/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast
index 2903c6f9a..c2cec89b4 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast
@@ -22,7 +22,7 @@ SOURCE_FILE@[0; 189)
22 WHITESPACE@[22; 23) " " 22 WHITESPACE@[22; 23) " "
23 LITERAL@[23; 27) 23 LITERAL@[23; 27)
24 TRUE_KW@[23; 27) "true" 24 TRUE_KW@[23; 27) "true"
25 SEMI@[27; 28) ";" 25 SEMICOLON@[27; 28) ";"
26 WHITESPACE@[28; 33) "\n " 26 WHITESPACE@[28; 33) "\n "
27 LET_STMT@[33; 47) 27 LET_STMT@[33; 47)
28 LET_KW@[33; 36) "let" 28 LET_KW@[33; 36) "let"
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 189)
34 WHITESPACE@[40; 41) " " 34 WHITESPACE@[40; 41) " "
35 LITERAL@[41; 46) 35 LITERAL@[41; 46)
36 FALSE_KW@[41; 46) "false" 36 FALSE_KW@[41; 46) "false"
37 SEMI@[46; 47) ";" 37 SEMICOLON@[46; 47) ";"
38 WHITESPACE@[47; 52) "\n " 38 WHITESPACE@[47; 52) "\n "
39 LET_STMT@[52; 62) 39 LET_STMT@[52; 62)
40 LET_KW@[52; 55) "let" 40 LET_KW@[52; 55) "let"
@@ -46,7 +46,7 @@ SOURCE_FILE@[0; 189)
46 WHITESPACE@[59; 60) " " 46 WHITESPACE@[59; 60) " "
47 LITERAL@[60; 61) 47 LITERAL@[60; 61)
48 INT_NUMBER@[60; 61) "1" 48 INT_NUMBER@[60; 61) "1"
49 SEMI@[61; 62) ";" 49 SEMICOLON@[61; 62) ";"
50 WHITESPACE@[62; 67) "\n " 50 WHITESPACE@[62; 67) "\n "
51 LET_STMT@[67; 79) 51 LET_STMT@[67; 79)
52 LET_KW@[67; 70) "let" 52 LET_KW@[67; 70) "let"
@@ -58,7 +58,7 @@ SOURCE_FILE@[0; 189)
58 WHITESPACE@[74; 75) " " 58 WHITESPACE@[74; 75) " "
59 LITERAL@[75; 78) 59 LITERAL@[75; 78)
60 FLOAT_NUMBER@[75; 78) "2.0" 60 FLOAT_NUMBER@[75; 78) "2.0"
61 SEMI@[78; 79) ";" 61 SEMICOLON@[78; 79) ";"
62 WHITESPACE@[79; 84) "\n " 62 WHITESPACE@[79; 84) "\n "
63 LET_STMT@[84; 97) 63 LET_STMT@[84; 97)
64 LET_KW@[84; 87) "let" 64 LET_KW@[84; 87) "let"
@@ -70,7 +70,7 @@ SOURCE_FILE@[0; 189)
70 WHITESPACE@[91; 92) " " 70 WHITESPACE@[91; 92) " "
71 LITERAL@[92; 96) 71 LITERAL@[92; 96)
72 BYTE@[92; 96) "b\'a\'" 72 BYTE@[92; 96) "b\'a\'"
73 SEMI@[96; 97) ";" 73 SEMICOLON@[96; 97) ";"
74 WHITESPACE@[97; 102) "\n " 74 WHITESPACE@[97; 102) "\n "
75 LET_STMT@[102; 114) 75 LET_STMT@[102; 114)
76 LET_KW@[102; 105) "let" 76 LET_KW@[102; 105) "let"
@@ -82,7 +82,7 @@ SOURCE_FILE@[0; 189)
82 WHITESPACE@[109; 110) " " 82 WHITESPACE@[109; 110) " "
83 LITERAL@[110; 113) 83 LITERAL@[110; 113)
84 CHAR@[110; 113) "\'b\'" 84 CHAR@[110; 113) "\'b\'"
85 SEMI@[113; 114) ";" 85 SEMICOLON@[113; 114) ";"
86 WHITESPACE@[114; 119) "\n " 86 WHITESPACE@[114; 119) "\n "
87 LET_STMT@[119; 131) 87 LET_STMT@[119; 131)
88 LET_KW@[119; 122) "let" 88 LET_KW@[119; 122) "let"
@@ -94,7 +94,7 @@ SOURCE_FILE@[0; 189)
94 WHITESPACE@[126; 127) " " 94 WHITESPACE@[126; 127) " "
95 LITERAL@[127; 130) 95 LITERAL@[127; 130)
96 STRING@[127; 130) "\"c\"" 96 STRING@[127; 130) "\"c\""
97 SEMI@[130; 131) ";" 97 SEMICOLON@[130; 131) ";"
98 WHITESPACE@[131; 136) "\n " 98 WHITESPACE@[131; 136) "\n "
99 LET_STMT@[136; 149) 99 LET_STMT@[136; 149)
100 LET_KW@[136; 139) "let" 100 LET_KW@[136; 139) "let"
@@ -106,7 +106,7 @@ SOURCE_FILE@[0; 189)
106 WHITESPACE@[143; 144) " " 106 WHITESPACE@[143; 144) " "
107 LITERAL@[144; 148) 107 LITERAL@[144; 148)
108 RAW_STRING@[144; 148) "r\"d\"" 108 RAW_STRING@[144; 148) "r\"d\""
109 SEMI@[148; 149) ";" 109 SEMICOLON@[148; 149) ";"
110 WHITESPACE@[149; 154) "\n " 110 WHITESPACE@[149; 154) "\n "
111 LET_STMT@[154; 167) 111 LET_STMT@[154; 167)
112 LET_KW@[154; 157) "let" 112 LET_KW@[154; 157) "let"
@@ -118,7 +118,7 @@ SOURCE_FILE@[0; 189)
118 WHITESPACE@[161; 162) " " 118 WHITESPACE@[161; 162) " "
119 LITERAL@[162; 166) 119 LITERAL@[162; 166)
120 BYTE_STRING@[162; 166) "b\"e\"" 120 BYTE_STRING@[162; 166) "b\"e\""
121 SEMI@[166; 167) ";" 121 SEMICOLON@[166; 167) ";"
122 WHITESPACE@[167; 172) "\n " 122 WHITESPACE@[167; 172) "\n "
123 LET_STMT@[172; 186) 123 LET_STMT@[172; 186)
124 LET_KW@[172; 175) "let" 124 LET_KW@[172; 175) "let"
@@ -130,7 +130,7 @@ SOURCE_FILE@[0; 189)
130 WHITESPACE@[179; 180) " " 130 WHITESPACE@[179; 180) " "
131 LITERAL@[180; 185) 131 LITERAL@[180; 185)
132 RAW_BYTE_STRING@[180; 185) "br\"f\"" 132 RAW_BYTE_STRING@[180; 185) "br\"f\""
133 SEMI@[185; 186) ";" 133 SEMICOLON@[185; 186) ";"
134 WHITESPACE@[186; 187) "\n" 134 WHITESPACE@[186; 187) "\n"
135 R_CURLY@[187; 188) "}" 135 R_CURLY@[187; 188) "}"
136 WHITESPACE@[188; 189) "\n" 136 WHITESPACE@[188; 189) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast b/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast
index 8d2579cd6..1d7796449 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0090_type_param_default.rast
@@ -18,5 +18,5 @@ SOURCE_FILE@[0; 19)
18 NAME_REF@[13; 16) 18 NAME_REF@[13; 16)
19 IDENT@[13; 16) "i32" 19 IDENT@[13; 16) "i32"
20 R_ANGLE@[16; 17) ">" 20 R_ANGLE@[16; 17) ">"
21 SEMI@[17; 18) ";" 21 SEMICOLON@[17; 18) ";"
22 WHITESPACE@[18; 19) "\n" 22 WHITESPACE@[18; 19) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
index fae822367..db6013c6f 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast
@@ -19,5 +19,5 @@ SOURCE_FILE@[0; 21)
19 TUPLE_TYPE@[17; 19) 19 TUPLE_TYPE@[17; 19)
20 L_PAREN@[17; 18) "(" 20 L_PAREN@[17; 18) "("
21 R_PAREN@[18; 19) ")" 21 R_PAREN@[18; 19) ")"
22 SEMI@[19; 20) ";" 22 SEMICOLON@[19; 20) ";"
23 WHITESPACE@[20; 21) "\n" 23 WHITESPACE@[20; 21) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast
index 1a979e597..118cfc096 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast
@@ -28,7 +28,7 @@ SOURCE_FILE@[0; 26)
28 LITERAL@[20; 21) 28 LITERAL@[20; 21)
29 INT_NUMBER@[20; 21) "2" 29 INT_NUMBER@[20; 21) "2"
30 R_BRACK@[21; 22) "]" 30 R_BRACK@[21; 22) "]"
31 SEMI@[22; 23) ";" 31 SEMICOLON@[22; 23) ";"
32 WHITESPACE@[23; 24) "\n" 32 WHITESPACE@[23; 24) "\n"
33 R_CURLY@[24; 25) "}" 33 R_CURLY@[24; 25) "}"
34 WHITESPACE@[25; 26) "\n" 34 WHITESPACE@[25; 26) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast
index fe86894a9..ebe7816a4 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 26)
23 TUPLE_EXPR@[20; 22) 23 TUPLE_EXPR@[20; 22)
24 L_PAREN@[20; 21) "(" 24 L_PAREN@[20; 21) "("
25 R_PAREN@[21; 22) ")" 25 R_PAREN@[21; 22) ")"
26 SEMI@[22; 23) ";" 26 SEMICOLON@[22; 23) ";"
27 WHITESPACE@[23; 24) " " 27 WHITESPACE@[23; 24) " "
28 R_CURLY@[24; 25) "}" 28 R_CURLY@[24; 25) "}"
29 WHITESPACE@[25; 26) "\n" 29 WHITESPACE@[25; 26) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast
index 157aa29f5..6bd6f5a6b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast
@@ -95,7 +95,7 @@ SOURCE_FILE@[0; 167)
95 PATH_SEGMENT@[109; 120) 95 PATH_SEGMENT@[109; 120)
96 NAME_REF@[109; 120) 96 NAME_REF@[109; 120)
97 IDENT@[109; 120) "macro_rules" 97 IDENT@[109; 120) "macro_rules"
98 EXCL@[120; 121) "!" 98 BANG@[120; 121) "!"
99 WHITESPACE@[121; 122) " " 99 WHITESPACE@[121; 122) " "
100 NAME@[122; 126) 100 NAME@[122; 126)
101 IDENT@[122; 126) "test" 101 IDENT@[122; 126) "test"
@@ -121,7 +121,7 @@ SOURCE_FILE@[0; 167)
121 PATH_SEGMENT@[157; 161) 121 PATH_SEGMENT@[157; 161)
122 NAME_REF@[157; 161) 122 NAME_REF@[157; 161)
123 IDENT@[157; 161) "test" 123 IDENT@[157; 161) "test"
124 EXCL@[161; 162) "!" 124 BANG@[161; 162) "!"
125 TOKEN_TREE@[162; 164) 125 TOKEN_TREE@[162; 164)
126 L_CURLY@[162; 163) "{" 126 L_CURLY@[162; 163) "{"
127 R_CURLY@[163; 164) "}" 127 R_CURLY@[163; 164) "}"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast
index 83c58d25f..d25f087a5 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast
@@ -30,7 +30,7 @@ SOURCE_FILE@[0; 33)
30 BLOCK@[27; 29) 30 BLOCK@[27; 29)
31 L_CURLY@[27; 28) "{" 31 L_CURLY@[27; 28) "{"
32 R_CURLY@[28; 29) "}" 32 R_CURLY@[28; 29) "}"
33 SEMI@[29; 30) ";" 33 SEMICOLON@[29; 30) ";"
34 WHITESPACE@[30; 31) "\n" 34 WHITESPACE@[30; 31) "\n"
35 R_CURLY@[31; 32) "}" 35 R_CURLY@[31; 32) "}"
36 WHITESPACE@[32; 33) "\n" 36 WHITESPACE@[32; 33) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast
index d8e04bd90..c2614543c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast
@@ -30,7 +30,7 @@ SOURCE_FILE@[0; 119)
30 TUPLE_EXPR@[26; 28) 30 TUPLE_EXPR@[26; 28)
31 L_PAREN@[26; 27) "(" 31 L_PAREN@[26; 27) "("
32 R_PAREN@[27; 28) ")" 32 R_PAREN@[27; 28) ")"
33 SEMI@[28; 29) ";" 33 SEMICOLON@[28; 29) ";"
34 WHITESPACE@[29; 34) "\n " 34 WHITESPACE@[29; 34) "\n "
35 LET_STMT@[34; 62) 35 LET_STMT@[34; 62)
36 LET_KW@[34; 37) "let" 36 LET_KW@[34; 37) "let"
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 119)
64 TUPLE_EXPR@[59; 61) 64 TUPLE_EXPR@[59; 61)
65 L_PAREN@[59; 60) "(" 65 L_PAREN@[59; 60) "("
66 R_PAREN@[60; 61) ")" 66 R_PAREN@[60; 61) ")"
67 SEMI@[61; 62) ";" 67 SEMICOLON@[61; 62) ";"
68 WHITESPACE@[62; 67) "\n " 68 WHITESPACE@[62; 67) "\n "
69 LET_STMT@[67; 90) 69 LET_STMT@[67; 90)
70 LET_KW@[67; 70) "let" 70 LET_KW@[67; 70) "let"
@@ -87,7 +87,7 @@ SOURCE_FILE@[0; 119)
87 UNDERSCORE@[78; 79) "_" 87 UNDERSCORE@[78; 79) "_"
88 COMMA@[79; 80) "," 88 COMMA@[79; 80) ","
89 WHITESPACE@[80; 81) " " 89 WHITESPACE@[80; 81) " "
90 DOTDOT@[81; 83) ".." 90 DOT2@[81; 83) ".."
91 R_CURLY@[83; 84) "}" 91 R_CURLY@[83; 84) "}"
92 WHITESPACE@[84; 85) " " 92 WHITESPACE@[84; 85) " "
93 EQ@[85; 86) "=" 93 EQ@[85; 86) "="
@@ -95,7 +95,7 @@ SOURCE_FILE@[0; 119)
95 TUPLE_EXPR@[87; 89) 95 TUPLE_EXPR@[87; 89)
96 L_PAREN@[87; 88) "(" 96 L_PAREN@[87; 88) "("
97 R_PAREN@[88; 89) ")" 97 R_PAREN@[88; 89) ")"
98 SEMI@[89; 90) ";" 98 SEMICOLON@[89; 90) ";"
99 WHITESPACE@[90; 95) "\n " 99 WHITESPACE@[90; 95) "\n "
100 LET_STMT@[95; 116) 100 LET_STMT@[95; 116)
101 LET_KW@[95; 98) "let" 101 LET_KW@[95; 98) "let"
@@ -125,7 +125,7 @@ SOURCE_FILE@[0; 119)
125 TUPLE_EXPR@[113; 115) 125 TUPLE_EXPR@[113; 115)
126 L_PAREN@[113; 114) "(" 126 L_PAREN@[113; 114) "("
127 R_PAREN@[114; 115) ")" 127 R_PAREN@[114; 115) ")"
128 SEMI@[115; 116) ";" 128 SEMICOLON@[115; 116) ";"
129 WHITESPACE@[116; 117) "\n" 129 WHITESPACE@[116; 117) "\n"
130 R_CURLY@[117; 118) "}" 130 R_CURLY@[117; 118) "}"
131 WHITESPACE@[118; 119) "\n" 131 WHITESPACE@[118; 119) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast
index 0db62a1f5..60fbf2771 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 55)
16 ARRAY_EXPR@[15; 17) 16 ARRAY_EXPR@[15; 17)
17 L_BRACK@[15; 16) "[" 17 L_BRACK@[15; 16) "["
18 R_BRACK@[16; 17) "]" 18 R_BRACK@[16; 17) "]"
19 SEMI@[17; 18) ";" 19 SEMICOLON@[17; 18) ";"
20 WHITESPACE@[18; 23) "\n " 20 WHITESPACE@[18; 23) "\n "
21 EXPR_STMT@[23; 27) 21 EXPR_STMT@[23; 27)
22 ARRAY_EXPR@[23; 26) 22 ARRAY_EXPR@[23; 26)
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 55)
24 LITERAL@[24; 25) 24 LITERAL@[24; 25)
25 INT_NUMBER@[24; 25) "1" 25 INT_NUMBER@[24; 25) "1"
26 R_BRACK@[25; 26) "]" 26 R_BRACK@[25; 26) "]"
27 SEMI@[26; 27) ";" 27 SEMICOLON@[26; 27) ";"
28 WHITESPACE@[27; 32) "\n " 28 WHITESPACE@[27; 32) "\n "
29 EXPR_STMT@[32; 40) 29 EXPR_STMT@[32; 40)
30 ARRAY_EXPR@[32; 39) 30 ARRAY_EXPR@[32; 39)
@@ -37,19 +37,19 @@ SOURCE_FILE@[0; 55)
37 INT_NUMBER@[36; 37) "2" 37 INT_NUMBER@[36; 37) "2"
38 COMMA@[37; 38) "," 38 COMMA@[37; 38) ","
39 R_BRACK@[38; 39) "]" 39 R_BRACK@[38; 39) "]"
40 SEMI@[39; 40) ";" 40 SEMICOLON@[39; 40) ";"
41 WHITESPACE@[40; 45) "\n " 41 WHITESPACE@[40; 45) "\n "
42 EXPR_STMT@[45; 52) 42 EXPR_STMT@[45; 52)
43 ARRAY_EXPR@[45; 51) 43 ARRAY_EXPR@[45; 51)
44 L_BRACK@[45; 46) "[" 44 L_BRACK@[45; 46) "["
45 LITERAL@[46; 47) 45 LITERAL@[46; 47)
46 INT_NUMBER@[46; 47) "1" 46 INT_NUMBER@[46; 47) "1"
47 SEMI@[47; 48) ";" 47 SEMICOLON@[47; 48) ";"
48 WHITESPACE@[48; 49) " " 48 WHITESPACE@[48; 49) " "
49 LITERAL@[49; 50) 49 LITERAL@[49; 50)
50 INT_NUMBER@[49; 50) "2" 50 INT_NUMBER@[49; 50) "2"
51 R_BRACK@[50; 51) "]" 51 R_BRACK@[50; 51) "]"
52 SEMI@[51; 52) ";" 52 SEMICOLON@[51; 52) ";"
53 WHITESPACE@[52; 53) "\n" 53 WHITESPACE@[52; 53) "\n"
54 R_CURLY@[53; 54) "}" 54 R_CURLY@[53; 54) "}"
55 WHITESPACE@[54; 55) "\n" 55 WHITESPACE@[54; 55) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast b/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast
index a983d5954..d65c75c65 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0104_path_fn_trait_args.rast
@@ -37,5 +37,5 @@ SOURCE_FILE@[0; 29)
37 L_PAREN@[24; 25) "(" 37 L_PAREN@[24; 25) "("
38 R_PAREN@[25; 26) ")" 38 R_PAREN@[25; 26) ")"
39 R_ANGLE@[26; 27) ">" 39 R_ANGLE@[26; 27) ">"
40 SEMI@[27; 28) ";" 40 SEMICOLON@[27; 28) ";"
41 WHITESPACE@[28; 29) "\n" 41 WHITESPACE@[28; 29) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast
index 6bce37a4f..5635cba9b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast
@@ -17,7 +17,7 @@ SOURCE_FILE@[0; 52)
17 BLOCK@[15; 17) 17 BLOCK@[15; 17)
18 L_CURLY@[15; 16) "{" 18 L_CURLY@[15; 16) "{"
19 R_CURLY@[16; 17) "}" 19 R_CURLY@[16; 17) "}"
20 SEMI@[17; 18) ";" 20 SEMICOLON@[17; 18) ";"
21 WHITESPACE@[18; 23) "\n " 21 WHITESPACE@[18; 23) "\n "
22 EXPR_STMT@[23; 33) 22 EXPR_STMT@[23; 33)
23 BLOCK_EXPR@[23; 32) 23 BLOCK_EXPR@[23; 32)
@@ -26,7 +26,7 @@ SOURCE_FILE@[0; 52)
26 BLOCK@[30; 32) 26 BLOCK@[30; 32)
27 L_CURLY@[30; 31) "{" 27 L_CURLY@[30; 31) "{"
28 R_CURLY@[31; 32) "}" 28 R_CURLY@[31; 32) "}"
29 SEMI@[32; 33) ";" 29 SEMICOLON@[32; 33) ";"
30 WHITESPACE@[33; 38) "\n " 30 WHITESPACE@[33; 38) "\n "
31 EXPR_STMT@[38; 49) 31 EXPR_STMT@[38; 49)
32 BLOCK_EXPR@[38; 48) 32 BLOCK_EXPR@[38; 48)
@@ -37,7 +37,7 @@ SOURCE_FILE@[0; 52)
37 BLOCK@[46; 48) 37 BLOCK@[46; 48)
38 L_CURLY@[46; 47) "{" 38 L_CURLY@[46; 47) "{"
39 R_CURLY@[47; 48) "}" 39 R_CURLY@[47; 48) "}"
40 SEMI@[48; 49) ";" 40 SEMICOLON@[48; 49) ";"
41 WHITESPACE@[49; 50) "\n" 41 WHITESPACE@[49; 50) "\n"
42 R_CURLY@[50; 51) "}" 42 R_CURLY@[50; 51) "}"
43 WHITESPACE@[51; 52) "\n" 43 WHITESPACE@[51; 52) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
index 0216123f0..157dfcdb8 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 134)
21 TUPLE_EXPR@[18; 20) 21 TUPLE_EXPR@[18; 20)
22 L_PAREN@[18; 19) "(" 22 L_PAREN@[18; 19) "("
23 R_PAREN@[19; 20) ")" 23 R_PAREN@[19; 20) ")"
24 SEMI@[20; 21) ";" 24 SEMICOLON@[20; 21) ";"
25 WHITESPACE@[21; 26) "\n " 25 WHITESPACE@[21; 26) "\n "
26 EXPR_STMT@[26; 43) 26 EXPR_STMT@[26; 43)
27 LAMBDA_EXPR@[26; 42) 27 LAMBDA_EXPR@[26; 42)
@@ -46,7 +46,7 @@ SOURCE_FILE@[0; 134)
46 INT_NUMBER@[38; 40) "92" 46 INT_NUMBER@[38; 40) "92"
47 WHITESPACE@[40; 41) " " 47 WHITESPACE@[40; 41) " "
48 R_CURLY@[41; 42) "}" 48 R_CURLY@[41; 42) "}"
49 SEMI@[42; 43) ";" 49 SEMICOLON@[42; 43) ";"
50 WHITESPACE@[43; 48) "\n " 50 WHITESPACE@[43; 48) "\n "
51 EXPR_STMT@[48; 54) 51 EXPR_STMT@[48; 54)
52 LAMBDA_EXPR@[48; 53) 52 LAMBDA_EXPR@[48; 53)
@@ -63,7 +63,7 @@ SOURCE_FILE@[0; 134)
63 PATH_SEGMENT@[52; 53) 63 PATH_SEGMENT@[52; 53)
64 NAME_REF@[52; 53) 64 NAME_REF@[52; 53)
65 IDENT@[52; 53) "x" 65 IDENT@[52; 53) "x"
66 SEMI@[53; 54) ";" 66 SEMICOLON@[53; 54) ";"
67 WHITESPACE@[54; 59) "\n " 67 WHITESPACE@[54; 59) "\n "
68 EXPR_STMT@[59; 76) 68 EXPR_STMT@[59; 76)
69 LAMBDA_EXPR@[59; 75) 69 LAMBDA_EXPR@[59; 75)
@@ -90,7 +90,7 @@ SOURCE_FILE@[0; 134)
90 PATH_SEGMENT@[74; 75) 90 PATH_SEGMENT@[74; 75)
91 NAME_REF@[74; 75) 91 NAME_REF@[74; 75)
92 IDENT@[74; 75) "x" 92 IDENT@[74; 75) "x"
93 SEMI@[75; 76) ";" 93 SEMICOLON@[75; 76) ";"
94 WHITESPACE@[76; 81) "\n " 94 WHITESPACE@[76; 81) "\n "
95 EXPR_STMT@[81; 93) 95 EXPR_STMT@[81; 93)
96 LAMBDA_EXPR@[81; 92) 96 LAMBDA_EXPR@[81; 92)
@@ -104,7 +104,7 @@ SOURCE_FILE@[0; 134)
104 BLOCK@[90; 92) 104 BLOCK@[90; 92)
105 L_CURLY@[90; 91) "{" 105 L_CURLY@[90; 91) "{"
106 R_CURLY@[91; 92) "}" 106 R_CURLY@[91; 92) "}"
107 SEMI@[92; 93) ";" 107 SEMICOLON@[92; 93) ";"
108 WHITESPACE@[93; 98) "\n " 108 WHITESPACE@[93; 98) "\n "
109 EXPR_STMT@[98; 109) 109 EXPR_STMT@[98; 109)
110 LAMBDA_EXPR@[98; 108) 110 LAMBDA_EXPR@[98; 108)
@@ -118,7 +118,7 @@ SOURCE_FILE@[0; 134)
118 BLOCK@[106; 108) 118 BLOCK@[106; 108)
119 L_CURLY@[106; 107) "{" 119 L_CURLY@[106; 107) "{"
120 R_CURLY@[107; 108) "}" 120 R_CURLY@[107; 108) "}"
121 SEMI@[108; 109) ";" 121 SEMICOLON@[108; 109) ";"
122 WHITESPACE@[109; 114) "\n " 122 WHITESPACE@[109; 114) "\n "
123 EXPR_STMT@[114; 131) 123 EXPR_STMT@[114; 131)
124 LAMBDA_EXPR@[114; 130) 124 LAMBDA_EXPR@[114; 130)
@@ -134,7 +134,7 @@ SOURCE_FILE@[0; 134)
134 BLOCK@[128; 130) 134 BLOCK@[128; 130)
135 L_CURLY@[128; 129) "{" 135 L_CURLY@[128; 129) "{"
136 R_CURLY@[129; 130) "}" 136 R_CURLY@[129; 130) "}"
137 SEMI@[130; 131) ";" 137 SEMICOLON@[130; 131) ";"
138 WHITESPACE@[131; 132) "\n" 138 WHITESPACE@[131; 132) "\n"
139 R_CURLY@[132; 133) "}" 139 R_CURLY@[132; 133) "}"
140 WHITESPACE@[133; 134) "\n" 140 WHITESPACE@[133; 134) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast
index ba478528c..cc813038c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 49)
25 ARG_LIST@[20; 22) 25 ARG_LIST@[20; 22)
26 L_PAREN@[20; 21) "(" 26 L_PAREN@[20; 21) "("
27 R_PAREN@[21; 22) ")" 27 R_PAREN@[21; 22) ")"
28 SEMI@[22; 23) ";" 28 SEMICOLON@[22; 23) ";"
29 WHITESPACE@[23; 28) "\n " 29 WHITESPACE@[23; 28) "\n "
30 EXPR_STMT@[28; 46) 30 EXPR_STMT@[28; 46)
31 METHOD_CALL_EXPR@[28; 45) 31 METHOD_CALL_EXPR@[28; 45)
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 49)
38 NAME_REF@[30; 33) 38 NAME_REF@[30; 33)
39 IDENT@[30; 33) "bar" 39 IDENT@[30; 33) "bar"
40 TYPE_ARG_LIST@[33; 38) 40 TYPE_ARG_LIST@[33; 38)
41 COLONCOLON@[33; 35) "::" 41 COLON2@[33; 35) "::"
42 L_ANGLE@[35; 36) "<" 42 L_ANGLE@[35; 36) "<"
43 TYPE_ARG@[36; 37) 43 TYPE_ARG@[36; 37)
44 PATH_TYPE@[36; 37) 44 PATH_TYPE@[36; 37)
@@ -57,7 +57,7 @@ SOURCE_FILE@[0; 49)
57 INT_NUMBER@[42; 43) "2" 57 INT_NUMBER@[42; 43) "2"
58 COMMA@[43; 44) "," 58 COMMA@[43; 44) ","
59 R_PAREN@[44; 45) ")" 59 R_PAREN@[44; 45) ")"
60 SEMI@[45; 46) ";" 60 SEMICOLON@[45; 46) ";"
61 WHITESPACE@[46; 47) "\n" 61 WHITESPACE@[46; 47) "\n"
62 R_CURLY@[47; 48) "}" 62 R_CURLY@[47; 48) "}"
63 WHITESPACE@[48; 49) "\n" 63 WHITESPACE@[48; 49) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast
index 6f685ca8d..27c3f398e 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 40)
16 TUPLE_EXPR@[15; 17) 16 TUPLE_EXPR@[15; 17)
17 L_PAREN@[15; 16) "(" 17 L_PAREN@[15; 16) "("
18 R_PAREN@[16; 17) ")" 18 R_PAREN@[16; 17) ")"
19 SEMI@[17; 18) ";" 19 SEMICOLON@[17; 18) ";"
20 WHITESPACE@[18; 23) "\n " 20 WHITESPACE@[18; 23) "\n "
21 EXPR_STMT@[23; 27) 21 EXPR_STMT@[23; 27)
22 PAREN_EXPR@[23; 26) 22 PAREN_EXPR@[23; 26)
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 40)
24 LITERAL@[24; 25) 24 LITERAL@[24; 25)
25 INT_NUMBER@[24; 25) "1" 25 INT_NUMBER@[24; 25) "1"
26 R_PAREN@[25; 26) ")" 26 R_PAREN@[25; 26) ")"
27 SEMI@[26; 27) ";" 27 SEMICOLON@[26; 27) ";"
28 WHITESPACE@[27; 32) "\n " 28 WHITESPACE@[27; 32) "\n "
29 EXPR_STMT@[32; 37) 29 EXPR_STMT@[32; 37)
30 TUPLE_EXPR@[32; 36) 30 TUPLE_EXPR@[32; 36)
@@ -33,7 +33,7 @@ SOURCE_FILE@[0; 40)
33 INT_NUMBER@[33; 34) "1" 33 INT_NUMBER@[33; 34) "1"
34 COMMA@[34; 35) "," 34 COMMA@[34; 35) ","
35 R_PAREN@[35; 36) ")" 35 R_PAREN@[35; 36) ")"
36 SEMI@[36; 37) ";" 36 SEMICOLON@[36; 37) ";"
37 WHITESPACE@[37; 38) "\n" 37 WHITESPACE@[37; 38) "\n"
38 R_CURLY@[38; 39) "}" 38 R_CURLY@[38; 39) "}"
39 WHITESPACE@[39; 40) "\n" 39 WHITESPACE@[39; 40) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast
index 7dbcd3927..d4f5737d5 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0110_use_path.rast
@@ -5,10 +5,10 @@ SOURCE_FILE@[0; 154)
5 USE_TREE@[4; 16) 5 USE_TREE@[4; 16)
6 PATH@[4; 16) 6 PATH@[4; 16)
7 PATH_SEGMENT@[4; 16) 7 PATH_SEGMENT@[4; 16)
8 COLONCOLON@[4; 6) "::" 8 COLON2@[4; 6) "::"
9 NAME_REF@[6; 16) 9 NAME_REF@[6; 16)
10 IDENT@[6; 16) "crate_name" 10 IDENT@[6; 16) "crate_name"
11 SEMI@[16; 17) ";" 11 SEMICOLON@[16; 17) ";"
12 WHITESPACE@[17; 18) " " 12 WHITESPACE@[17; 18) " "
13 COMMENT@[18; 45) "// Rust 2018 - All fl ..." 13 COMMENT@[18; 45) "// Rust 2018 - All fl ..."
14 WHITESPACE@[45; 46) "\n" 14 WHITESPACE@[45; 46) "\n"
@@ -20,7 +20,7 @@ SOURCE_FILE@[0; 154)
20 PATH_SEGMENT@[50; 60) 20 PATH_SEGMENT@[50; 60)
21 NAME_REF@[50; 60) 21 NAME_REF@[50; 60)
22 IDENT@[50; 60) "crate_name" 22 IDENT@[50; 60) "crate_name"
23 SEMI@[60; 61) ";" 23 SEMICOLON@[60; 61) ";"
24 WHITESPACE@[61; 62) " " 24 WHITESPACE@[61; 62) " "
25 COMMENT@[62; 91) "// Rust 2018 - Anchor ..." 25 COMMENT@[62; 91) "// Rust 2018 - Anchor ..."
26 WHITESPACE@[91; 92) "\n" 26 WHITESPACE@[91; 92) "\n"
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 154)
32 PATH_SEGMENT@[96; 123) 32 PATH_SEGMENT@[96; 123)
33 NAME_REF@[96; 123) 33 NAME_REF@[96; 123)
34 IDENT@[96; 123) "item_in_scope_or_crat ..." 34 IDENT@[96; 123) "item_in_scope_or_crat ..."
35 SEMI@[123; 124) ";" 35 SEMICOLON@[123; 124) ";"
36 WHITESPACE@[124; 125) " " 36 WHITESPACE@[124; 125) " "
37 COMMENT@[125; 153) "// Rust 2018 - Unifor ..." 37 COMMENT@[125; 153) "// Rust 2018 - Unifor ..."
38 WHITESPACE@[153; 154) "\n" 38 WHITESPACE@[153; 154) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
index 4680c267e..88e72d057 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
@@ -28,7 +28,7 @@ SOURCE_FILE@[0; 94)
28 COMMA@[25; 26) "," 28 COMMA@[25; 26) ","
29 WHITESPACE@[26; 27) " " 29 WHITESPACE@[26; 27) " "
30 DOT_DOT_PAT@[27; 29) 30 DOT_DOT_PAT@[27; 29)
31 DOTDOT@[27; 29) ".." 31 DOT2@[27; 29) ".."
32 R_PAREN@[29; 30) ")" 32 R_PAREN@[29; 30) ")"
33 WHITESPACE@[30; 31) " " 33 WHITESPACE@[30; 31) " "
34 EQ@[31; 32) "=" 34 EQ@[31; 32) "="
@@ -36,7 +36,7 @@ SOURCE_FILE@[0; 94)
36 TUPLE_EXPR@[33; 35) 36 TUPLE_EXPR@[33; 35)
37 L_PAREN@[33; 34) "(" 37 L_PAREN@[33; 34) "("
38 R_PAREN@[34; 35) ")" 38 R_PAREN@[34; 35) ")"
39 SEMI@[35; 36) ";" 39 SEMICOLON@[35; 36) ";"
40 WHITESPACE@[36; 41) "\n " 40 WHITESPACE@[36; 41) "\n "
41 LET_STMT@[41; 55) 41 LET_STMT@[41; 55)
42 LET_KW@[41; 44) "let" 42 LET_KW@[41; 44) "let"
@@ -54,7 +54,7 @@ SOURCE_FILE@[0; 94)
54 TUPLE_EXPR@[52; 54) 54 TUPLE_EXPR@[52; 54)
55 L_PAREN@[52; 53) "(" 55 L_PAREN@[52; 53) "("
56 R_PAREN@[53; 54) ")" 56 R_PAREN@[53; 54) ")"
57 SEMI@[54; 55) ";" 57 SEMICOLON@[54; 55) ";"
58 WHITESPACE@[55; 60) "\n " 58 WHITESPACE@[55; 60) "\n "
59 LET_STMT@[60; 74) 59 LET_STMT@[60; 74)
60 LET_KW@[60; 63) "let" 60 LET_KW@[60; 63) "let"
@@ -62,7 +62,7 @@ SOURCE_FILE@[0; 94)
62 TUPLE_PAT@[64; 68) 62 TUPLE_PAT@[64; 68)
63 L_PAREN@[64; 65) "(" 63 L_PAREN@[64; 65) "("
64 DOT_DOT_PAT@[65; 67) 64 DOT_DOT_PAT@[65; 67)
65 DOTDOT@[65; 67) ".." 65 DOT2@[65; 67) ".."
66 R_PAREN@[67; 68) ")" 66 R_PAREN@[67; 68) ")"
67 WHITESPACE@[68; 69) " " 67 WHITESPACE@[68; 69) " "
68 EQ@[69; 70) "=" 68 EQ@[69; 70) "="
@@ -70,7 +70,7 @@ SOURCE_FILE@[0; 94)
70 TUPLE_EXPR@[71; 73) 70 TUPLE_EXPR@[71; 73)
71 L_PAREN@[71; 72) "(" 71 L_PAREN@[71; 72) "("
72 R_PAREN@[72; 73) ")" 72 R_PAREN@[72; 73) ")"
73 SEMI@[73; 74) ";" 73 SEMICOLON@[73; 74) ";"
74 WHITESPACE@[74; 79) "\n " 74 WHITESPACE@[74; 79) "\n "
75 LET_STMT@[79; 91) 75 LET_STMT@[79; 91)
76 LET_KW@[79; 82) "let" 76 LET_KW@[79; 82) "let"
@@ -84,7 +84,7 @@ SOURCE_FILE@[0; 94)
84 TUPLE_EXPR@[88; 90) 84 TUPLE_EXPR@[88; 90)
85 L_PAREN@[88; 89) "(" 85 L_PAREN@[88; 89) "("
86 R_PAREN@[89; 90) ")" 86 R_PAREN@[89; 90) ")"
87 SEMI@[90; 91) ";" 87 SEMICOLON@[90; 91) ";"
88 WHITESPACE@[91; 92) "\n" 88 WHITESPACE@[91; 92) "\n"
89 R_CURLY@[92; 93) "}" 89 R_CURLY@[92; 93) "}"
90 WHITESPACE@[93; 94) "\n" 90 WHITESPACE@[93; 94) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast
index ad1d47b0e..5e8f625dc 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 146)
24 TUPLE_EXPR@[24; 26) 24 TUPLE_EXPR@[24; 26)
25 L_PAREN@[24; 25) "(" 25 L_PAREN@[24; 25) "("
26 R_PAREN@[25; 26) ")" 26 R_PAREN@[25; 26) ")"
27 SEMI@[26; 27) ";" 27 SEMICOLON@[26; 27) ";"
28 WHITESPACE@[27; 32) "\n " 28 WHITESPACE@[27; 32) "\n "
29 LET_STMT@[32; 47) 29 LET_STMT@[32; 47)
30 LET_KW@[32; 35) "let" 30 LET_KW@[32; 35) "let"
@@ -40,7 +40,7 @@ SOURCE_FILE@[0; 146)
40 TUPLE_EXPR@[44; 46) 40 TUPLE_EXPR@[44; 46)
41 L_PAREN@[44; 45) "(" 41 L_PAREN@[44; 45) "("
42 R_PAREN@[45; 46) ")" 42 R_PAREN@[45; 46) ")"
43 SEMI@[46; 47) ";" 43 SEMICOLON@[46; 47) ";"
44 WHITESPACE@[47; 52) "\n " 44 WHITESPACE@[47; 52) "\n "
45 LET_STMT@[52; 67) 45 LET_STMT@[52; 67)
46 LET_KW@[52; 55) "let" 46 LET_KW@[52; 55) "let"
@@ -56,7 +56,7 @@ SOURCE_FILE@[0; 146)
56 TUPLE_EXPR@[64; 66) 56 TUPLE_EXPR@[64; 66)
57 L_PAREN@[64; 65) "(" 57 L_PAREN@[64; 65) "("
58 R_PAREN@[65; 66) ")" 58 R_PAREN@[65; 66) ")"
59 SEMI@[66; 67) ";" 59 SEMICOLON@[66; 67) ";"
60 WHITESPACE@[67; 72) "\n " 60 WHITESPACE@[67; 72) "\n "
61 LET_STMT@[72; 91) 61 LET_STMT@[72; 91)
62 LET_KW@[72; 75) "let" 62 LET_KW@[72; 75) "let"
@@ -74,7 +74,7 @@ SOURCE_FILE@[0; 146)
74 TUPLE_EXPR@[88; 90) 74 TUPLE_EXPR@[88; 90)
75 L_PAREN@[88; 89) "(" 75 L_PAREN@[88; 89) "("
76 R_PAREN@[89; 90) ")" 76 R_PAREN@[89; 90) ")"
77 SEMI@[90; 91) ";" 77 SEMICOLON@[90; 91) ";"
78 WHITESPACE@[91; 96) "\n " 78 WHITESPACE@[91; 96) "\n "
79 LET_STMT@[96; 111) 79 LET_STMT@[96; 111)
80 LET_KW@[96; 99) "let" 80 LET_KW@[96; 99) "let"
@@ -93,7 +93,7 @@ SOURCE_FILE@[0; 146)
93 TUPLE_EXPR@[108; 110) 93 TUPLE_EXPR@[108; 110)
94 L_PAREN@[108; 109) "(" 94 L_PAREN@[108; 109) "("
95 R_PAREN@[109; 110) ")" 95 R_PAREN@[109; 110) ")"
96 SEMI@[110; 111) ";" 96 SEMICOLON@[110; 111) ";"
97 WHITESPACE@[111; 116) "\n " 97 WHITESPACE@[111; 116) "\n "
98 LET_STMT@[116; 143) 98 LET_STMT@[116; 143)
99 LET_KW@[116; 119) "let" 99 LET_KW@[116; 119) "let"
@@ -122,7 +122,7 @@ SOURCE_FILE@[0; 146)
122 TUPLE_EXPR@[140; 142) 122 TUPLE_EXPR@[140; 142)
123 L_PAREN@[140; 141) "(" 123 L_PAREN@[140; 141) "("
124 R_PAREN@[141; 142) ")" 124 R_PAREN@[141; 142) ")"
125 SEMI@[142; 143) ";" 125 SEMICOLON@[142; 143) ";"
126 WHITESPACE@[143; 144) "\n" 126 WHITESPACE@[143; 144) "\n"
127 R_CURLY@[144; 145) "}" 127 R_CURLY@[144; 145) "}"
128 WHITESPACE@[145; 146) "\n" 128 WHITESPACE@[145; 146) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast
index 5db1ff2af..f2f649410 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast
@@ -11,9 +11,9 @@ SOURCE_FILE@[0; 50)
11 BLOCK@[8; 49) 11 BLOCK@[8; 49)
12 L_CURLY@[8; 9) "{" 12 L_CURLY@[8; 9) "{"
13 WHITESPACE@[9; 14) "\n " 13 WHITESPACE@[9; 14) "\n "
14 SEMI@[14; 15) ";" 14 SEMICOLON@[14; 15) ";"
15 SEMI@[15; 16) ";" 15 SEMICOLON@[15; 16) ";"
16 SEMI@[16; 17) ";" 16 SEMICOLON@[16; 17) ";"
17 EXPR_STMT@[17; 29) 17 EXPR_STMT@[17; 29)
18 CALL_EXPR@[17; 28) 18 CALL_EXPR@[17; 28)
19 PATH_EXPR@[17; 26) 19 PATH_EXPR@[17; 26)
@@ -24,22 +24,22 @@ SOURCE_FILE@[0; 50)
24 ARG_LIST@[26; 28) 24 ARG_LIST@[26; 28)
25 L_PAREN@[26; 27) "(" 25 L_PAREN@[26; 27) "("
26 R_PAREN@[27; 28) ")" 26 R_PAREN@[27; 28) ")"
27 SEMI@[28; 29) ";" 27 SEMICOLON@[28; 29) ";"
28 SEMI@[29; 30) ";" 28 SEMICOLON@[29; 30) ";"
29 SEMI@[30; 31) ";" 29 SEMICOLON@[30; 31) ";"
30 SEMI@[31; 32) ";" 30 SEMICOLON@[31; 32) ";"
31 EXPR_STMT@[32; 38) 31 EXPR_STMT@[32; 38)
32 BLOCK_EXPR@[32; 37) 32 BLOCK_EXPR@[32; 37)
33 BLOCK@[32; 37) 33 BLOCK@[32; 37)
34 L_CURLY@[32; 33) "{" 34 L_CURLY@[32; 33) "{"
35 SEMI@[33; 34) ";" 35 SEMICOLON@[33; 34) ";"
36 SEMI@[34; 35) ";" 36 SEMICOLON@[34; 35) ";"
37 SEMI@[35; 36) ";" 37 SEMICOLON@[35; 36) ";"
38 R_CURLY@[36; 37) "}" 38 R_CURLY@[36; 37) "}"
39 SEMI@[37; 38) ";" 39 SEMICOLON@[37; 38) ";"
40 SEMI@[38; 39) ";" 40 SEMICOLON@[38; 39) ";"
41 SEMI@[39; 40) ";" 41 SEMICOLON@[39; 40) ";"
42 SEMI@[40; 41) ";" 42 SEMICOLON@[40; 41) ";"
43 CALL_EXPR@[41; 47) 43 CALL_EXPR@[41; 47)
44 PATH_EXPR@[41; 43) 44 PATH_EXPR@[41; 43)
45 PATH@[41; 43) 45 PATH@[41; 43)
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast b/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast
index f5de01405..457c82e74 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0114_tuple_struct_where.rast
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 53)
38 PATH_SEGMENT@[27; 32) 38 PATH_SEGMENT@[27; 32)
39 NAME_REF@[27; 32) 39 NAME_REF@[27; 32)
40 IDENT@[27; 32) "Clone" 40 IDENT@[27; 32) "Clone"
41 SEMI@[32; 33) ";" 41 SEMICOLON@[32; 33) ";"
42 WHITESPACE@[33; 34) "\n" 42 WHITESPACE@[33; 34) "\n"
43 STRUCT_DEF@[34; 52) 43 STRUCT_DEF@[34; 52)
44 STRUCT_KW@[34; 40) "struct" 44 STRUCT_KW@[34; 40) "struct"
@@ -60,5 +60,5 @@ SOURCE_FILE@[0; 53)
60 NAME_REF@[49; 50) 60 NAME_REF@[49; 50)
61 IDENT@[49; 50) "T" 61 IDENT@[49; 50) "T"
62 R_PAREN@[50; 51) ")" 62 R_PAREN@[50; 51) ")"
63 SEMI@[51; 52) ";" 63 SEMICOLON@[51; 52) ";"
64 WHITESPACE@[52; 53) "\n" 64 WHITESPACE@[52; 53) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
index 8fe15d8e2..0b1552a9d 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
@@ -37,5 +37,5 @@ SOURCE_FILE@[0; 60)
37 COMMA@[55; 56) "," 37 COMMA@[55; 56) ","
38 WHITESPACE@[56; 57) "\n" 38 WHITESPACE@[56; 57) "\n"
39 R_PAREN@[57; 58) ")" 39 R_PAREN@[57; 58) ")"
40 SEMI@[58; 59) ";" 40 SEMICOLON@[58; 59) ";"
41 WHITESPACE@[59; 60) "\n" 41 WHITESPACE@[59; 60) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast
index 892dc813a..4f9e80e2e 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0117_macro_call_type.rast
@@ -12,11 +12,11 @@ SOURCE_FILE@[0; 41)
12 PATH_SEGMENT@[9; 12) 12 PATH_SEGMENT@[9; 12)
13 NAME_REF@[9; 12) 13 NAME_REF@[9; 12)
14 IDENT@[9; 12) "foo" 14 IDENT@[9; 12) "foo"
15 EXCL@[12; 13) "!" 15 BANG@[12; 13) "!"
16 TOKEN_TREE@[13; 15) 16 TOKEN_TREE@[13; 15)
17 L_PAREN@[13; 14) "(" 17 L_PAREN@[13; 14) "("
18 R_PAREN@[14; 15) ")" 18 R_PAREN@[14; 15) ")"
19 SEMI@[15; 16) ";" 19 SEMICOLON@[15; 16) ";"
20 WHITESPACE@[16; 17) "\n" 20 WHITESPACE@[16; 17) "\n"
21 TYPE_ALIAS_DEF@[17; 40) 21 TYPE_ALIAS_DEF@[17; 40)
22 TYPE_KW@[17; 21) "type" 22 TYPE_KW@[17; 21) "type"
@@ -31,13 +31,13 @@ SOURCE_FILE@[0; 41)
31 PATH@[26; 31) 31 PATH@[26; 31)
32 PATH_SEGMENT@[26; 31) 32 PATH_SEGMENT@[26; 31)
33 CRATE_KW@[26; 31) "crate" 33 CRATE_KW@[26; 31) "crate"
34 COLONCOLON@[31; 33) "::" 34 COLON2@[31; 33) "::"
35 PATH_SEGMENT@[33; 36) 35 PATH_SEGMENT@[33; 36)
36 NAME_REF@[33; 36) 36 NAME_REF@[33; 36)
37 IDENT@[33; 36) "foo" 37 IDENT@[33; 36) "foo"
38 EXCL@[36; 37) "!" 38 BANG@[36; 37) "!"
39 TOKEN_TREE@[37; 39) 39 TOKEN_TREE@[37; 39)
40 L_PAREN@[37; 38) "(" 40 L_PAREN@[37; 38) "("
41 R_PAREN@[38; 39) ")" 41 R_PAREN@[38; 39) ")"
42 SEMI@[39; 40) ";" 42 SEMICOLON@[39; 40) ";"
43 WHITESPACE@[40; 41) "\n" 43 WHITESPACE@[40; 41) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
index 5053ebde7..f9a4bc81b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 94)
24 WHITESPACE@[48; 54) "\n " 24 WHITESPACE@[48; 54) "\n "
25 ATTR@[54; 91) 25 ATTR@[54; 91)
26 POUND@[54; 55) "#" 26 POUND@[54; 55) "#"
27 EXCL@[55; 56) "!" 27 BANG@[55; 56) "!"
28 L_BRACK@[56; 57) "[" 28 L_BRACK@[56; 57) "["
29 PATH@[57; 60) 29 PATH@[57; 60)
30 PATH_SEGMENT@[57; 60) 30 PATH_SEGMENT@[57; 60)
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
index 640e0640f..7eec92e1b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 139)
24 WHITESPACE@[25; 34) "\n " 24 WHITESPACE@[25; 34) "\n "
25 ATTR@[34; 60) 25 ATTR@[34; 60)
26 POUND@[34; 35) "#" 26 POUND@[34; 35) "#"
27 EXCL@[35; 36) "!" 27 BANG@[35; 36) "!"
28 L_BRACK@[36; 37) "[" 28 L_BRACK@[36; 37) "["
29 PATH@[37; 40) 29 PATH@[37; 40)
30 PATH_SEGMENT@[37; 40) 30 PATH_SEGMENT@[37; 40)
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 139)
38 WHITESPACE@[60; 69) "\n " 38 WHITESPACE@[60; 69) "\n "
39 ATTR@[69; 86) 39 ATTR@[69; 86)
40 POUND@[69; 70) "#" 40 POUND@[69; 70) "#"
41 EXCL@[70; 71) "!" 41 BANG@[70; 71) "!"
42 L_BRACK@[71; 72) "[" 42 L_BRACK@[71; 72) "["
43 PATH@[72; 75) 43 PATH@[72; 75)
44 PATH_SEGMENT@[72; 75) 44 PATH_SEGMENT@[72; 75)
@@ -52,7 +52,7 @@ SOURCE_FILE@[0; 139)
52 WHITESPACE@[86; 95) "\n " 52 WHITESPACE@[86; 95) "\n "
53 ATTR@[95; 113) 53 ATTR@[95; 113)
54 POUND@[95; 96) "#" 54 POUND@[95; 96) "#"
55 EXCL@[96; 97) "!" 55 BANG@[96; 97) "!"
56 L_BRACK@[97; 98) "[" 56 L_BRACK@[97; 98) "["
57 PATH@[98; 101) 57 PATH@[98; 101)
58 PATH_SEGMENT@[98; 101) 58 PATH_SEGMENT@[98; 101)
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
index 6c3b17868..af8067b12 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0123_param_list_vararg.rast
@@ -33,7 +33,7 @@ SOURCE_FILE@[0; 57)
33 COMMA@[40; 41) "," 33 COMMA@[40; 41) ","
34 WHITESPACE@[41; 42) " " 34 WHITESPACE@[41; 42) " "
35 PARAM@[42; 45) 35 PARAM@[42; 45)
36 DOTDOTDOT@[42; 45) "..." 36 DOT3@[42; 45) "..."
37 R_PAREN@[45; 46) ")" 37 R_PAREN@[45; 46) ")"
38 WHITESPACE@[46; 47) " " 38 WHITESPACE@[46; 47) " "
39 RET_TYPE@[47; 53) 39 RET_TYPE@[47; 53)
@@ -44,7 +44,7 @@ SOURCE_FILE@[0; 57)
44 PATH_SEGMENT@[50; 53) 44 PATH_SEGMENT@[50; 53)
45 NAME_REF@[50; 53) 45 NAME_REF@[50; 53)
46 IDENT@[50; 53) "i32" 46 IDENT@[50; 53) "i32"
47 SEMI@[53; 54) ";" 47 SEMICOLON@[53; 54) ";"
48 WHITESPACE@[54; 55) " " 48 WHITESPACE@[54; 55) " "
49 R_CURLY@[55; 56) "}" 49 R_CURLY@[55; 56) "}"
50 WHITESPACE@[56; 57) "\n" 50 WHITESPACE@[56; 57) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast
index 6a9f3bf72..f1f4de976 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast
@@ -19,14 +19,14 @@ SOURCE_FILE@[0; 27)
19 PATH@[11; 16) 19 PATH@[11; 16)
20 PATH_SEGMENT@[11; 16) 20 PATH_SEGMENT@[11; 16)
21 CRATE_KW@[11; 16) "crate" 21 CRATE_KW@[11; 16) "crate"
22 COLONCOLON@[16; 18) "::" 22 COLON2@[16; 18) "::"
23 PATH_SEGMENT@[18; 21) 23 PATH_SEGMENT@[18; 21)
24 NAME_REF@[18; 21) 24 NAME_REF@[18; 21)
25 IDENT@[18; 21) "foo" 25 IDENT@[18; 21) "foo"
26 ARG_LIST@[21; 23) 26 ARG_LIST@[21; 23)
27 L_PAREN@[21; 22) "(" 27 L_PAREN@[21; 22) "("
28 R_PAREN@[22; 23) ")" 28 R_PAREN@[22; 23) ")"
29 SEMI@[23; 24) ";" 29 SEMICOLON@[23; 24) ";"
30 WHITESPACE@[24; 25) " " 30 WHITESPACE@[24; 25) " "
31 R_CURLY@[25; 26) "}" 31 R_CURLY@[25; 26) "}"
32 WHITESPACE@[26; 27) "\n" 32 WHITESPACE@[26; 27) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast b/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
index 5c311d18a..3b462871a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
@@ -31,7 +31,7 @@ SOURCE_FILE@[0; 82)
31 ARG_LIST@[23; 25) 31 ARG_LIST@[23; 25)
32 L_PAREN@[23; 24) "(" 32 L_PAREN@[23; 24) "("
33 R_PAREN@[24; 25) ")" 33 R_PAREN@[24; 25) ")"
34 SEMI@[25; 26) ";" 34 SEMICOLON@[25; 26) ";"
35 WHITESPACE@[26; 31) "\n " 35 WHITESPACE@[26; 31) "\n "
36 EXPR_STMT@[31; 42) 36 EXPR_STMT@[31; 42)
37 ATTR@[31; 35) 37 ATTR@[31; 35)
@@ -48,7 +48,7 @@ SOURCE_FILE@[0; 82)
48 PATH_SEGMENT@[36; 39) 48 PATH_SEGMENT@[36; 39)
49 NAME_REF@[36; 39) 49 NAME_REF@[36; 39)
50 IDENT@[36; 39) "bar" 50 IDENT@[36; 39) "bar"
51 EXCL@[39; 40) "!" 51 BANG@[39; 40) "!"
52 TOKEN_TREE@[40; 42) 52 TOKEN_TREE@[40; 42)
53 L_CURLY@[40; 41) "{" 53 L_CURLY@[40; 41) "{"
54 R_CURLY@[41; 42) "}" 54 R_CURLY@[41; 42) "}"
@@ -93,7 +93,7 @@ SOURCE_FILE@[0; 82)
93 TUPLE_EXPR@[76; 78) 93 TUPLE_EXPR@[76; 78)
94 L_PAREN@[76; 77) "(" 94 L_PAREN@[76; 77) "("
95 R_PAREN@[77; 78) ")" 95 R_PAREN@[77; 78) ")"
96 SEMI@[78; 79) ";" 96 SEMICOLON@[78; 79) ";"
97 WHITESPACE@[79; 80) "\n" 97 WHITESPACE@[79; 80) "\n"
98 R_CURLY@[80; 81) "}" 98 R_CURLY@[80; 81) "}"
99 WHITESPACE@[81; 82) "\n" 99 WHITESPACE@[81; 82) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
index 21f49690a..9bc6be62d 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 47)
32 PATH_SEGMENT@[22; 25) 32 PATH_SEGMENT@[22; 25)
33 NAME_REF@[22; 25) 33 NAME_REF@[22; 25)
34 IDENT@[22; 25) "bar" 34 IDENT@[22; 25) "bar"
35 EXCL@[25; 26) "!" 35 BANG@[25; 26) "!"
36 TOKEN_TREE@[26; 28) 36 TOKEN_TREE@[26; 28)
37 L_PAREN@[26; 27) "(" 37 L_PAREN@[26; 27) "("
38 R_PAREN@[27; 28) ")" 38 R_PAREN@[27; 28) ")"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast
index 36d8f4a5f..31481d2f9 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 33)
21 PATH_SEGMENT@[20; 21) 21 PATH_SEGMENT@[20; 21)
22 NAME_REF@[20; 21) 22 NAME_REF@[20; 21)
23 IDENT@[20; 21) "m" 23 IDENT@[20; 21) "m"
24 EXCL@[21; 22) "!" 24 BANG@[21; 22) "!"
25 TOKEN_TREE@[22; 25) 25 TOKEN_TREE@[22; 25)
26 L_PAREN@[22; 23) "(" 26 L_PAREN@[22; 23) "("
27 IDENT@[23; 24) "x" 27 IDENT@[23; 24) "x"
@@ -31,7 +31,7 @@ SOURCE_FILE@[0; 33)
31 WHITESPACE@[27; 28) " " 31 WHITESPACE@[27; 28) " "
32 LITERAL@[28; 29) 32 LITERAL@[28; 29)
33 INT_NUMBER@[28; 29) "0" 33 INT_NUMBER@[28; 29) "0"
34 SEMI@[29; 30) ";" 34 SEMICOLON@[29; 30) ";"
35 WHITESPACE@[30; 31) "\n" 35 WHITESPACE@[30; 31) "\n"
36 R_CURLY@[31; 32) "}" 36 R_CURLY@[31; 32) "}"
37 WHITESPACE@[32; 33) "\n" 37 WHITESPACE@[32; 33) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast b/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast
index 17739dfbd..1f2690c00 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast
@@ -18,7 +18,7 @@ SOURCE_FILE@[0; 135)
18 BIND_PAT@[19; 20) 18 BIND_PAT@[19; 20)
19 NAME@[19; 20) 19 NAME@[19; 20)
20 IDENT@[19; 20) "a" 20 IDENT@[19; 20) "a"
21 SEMI@[20; 21) ";" 21 SEMICOLON@[20; 21) ";"
22 WHITESPACE@[21; 26) "\n " 22 WHITESPACE@[21; 26) "\n "
23 LET_STMT@[26; 37) 23 LET_STMT@[26; 37)
24 LET_KW@[26; 29) "let" 24 LET_KW@[26; 29) "let"
@@ -33,7 +33,7 @@ SOURCE_FILE@[0; 135)
33 PATH_SEGMENT@[33; 36) 33 PATH_SEGMENT@[33; 36)
34 NAME_REF@[33; 36) 34 NAME_REF@[33; 36)
35 IDENT@[33; 36) "i32" 35 IDENT@[33; 36) "i32"
36 SEMI@[36; 37) ";" 36 SEMICOLON@[36; 37) ";"
37 WHITESPACE@[37; 42) "\n " 37 WHITESPACE@[37; 42) "\n "
38 LET_STMT@[42; 53) 38 LET_STMT@[42; 53)
39 LET_KW@[42; 45) "let" 39 LET_KW@[42; 45) "let"
@@ -46,7 +46,7 @@ SOURCE_FILE@[0; 135)
46 WHITESPACE@[49; 50) " " 46 WHITESPACE@[49; 50) " "
47 LITERAL@[50; 52) 47 LITERAL@[50; 52)
48 INT_NUMBER@[50; 52) "92" 48 INT_NUMBER@[50; 52) "92"
49 SEMI@[52; 53) ";" 49 SEMICOLON@[52; 53) ";"
50 WHITESPACE@[53; 58) "\n " 50 WHITESPACE@[53; 58) "\n "
51 LET_STMT@[58; 74) 51 LET_STMT@[58; 74)
52 LET_KW@[58; 61) "let" 52 LET_KW@[58; 61) "let"
@@ -66,7 +66,7 @@ SOURCE_FILE@[0; 135)
66 WHITESPACE@[70; 71) " " 66 WHITESPACE@[70; 71) " "
67 LITERAL@[71; 73) 67 LITERAL@[71; 73)
68 INT_NUMBER@[71; 73) "92" 68 INT_NUMBER@[71; 73) "92"
69 SEMI@[73; 74) ";" 69 SEMICOLON@[73; 74) ";"
70 WHITESPACE@[74; 79) "\n " 70 WHITESPACE@[74; 79) "\n "
71 LET_STMT@[79; 88) 71 LET_STMT@[79; 88)
72 LET_KW@[79; 82) "let" 72 LET_KW@[79; 82) "let"
@@ -77,8 +77,8 @@ SOURCE_FILE@[0; 135)
77 COLON@[84; 85) ":" 77 COLON@[84; 85) ":"
78 WHITESPACE@[85; 86) " " 78 WHITESPACE@[85; 86) " "
79 NEVER_TYPE@[86; 87) 79 NEVER_TYPE@[86; 87)
80 EXCL@[86; 87) "!" 80 BANG@[86; 87) "!"
81 SEMI@[87; 88) ";" 81 SEMICOLON@[87; 88) ";"
82 WHITESPACE@[88; 93) "\n " 82 WHITESPACE@[88; 93) "\n "
83 LET_STMT@[93; 107) 83 LET_STMT@[93; 107)
84 LET_KW@[93; 96) "let" 84 LET_KW@[93; 96) "let"
@@ -88,7 +88,7 @@ SOURCE_FILE@[0; 135)
88 COLON@[98; 99) ":" 88 COLON@[98; 99) ":"
89 WHITESPACE@[99; 100) " " 89 WHITESPACE@[99; 100) " "
90 NEVER_TYPE@[100; 101) 90 NEVER_TYPE@[100; 101)
91 EXCL@[100; 101) "!" 91 BANG@[100; 101) "!"
92 WHITESPACE@[101; 102) " " 92 WHITESPACE@[101; 102) " "
93 EQ@[102; 103) "=" 93 EQ@[102; 103) "="
94 WHITESPACE@[103; 104) " " 94 WHITESPACE@[103; 104) " "
@@ -96,7 +96,7 @@ SOURCE_FILE@[0; 135)
96 BLOCK@[104; 106) 96 BLOCK@[104; 106)
97 L_CURLY@[104; 105) "{" 97 L_CURLY@[104; 105) "{"
98 R_CURLY@[105; 106) "}" 98 R_CURLY@[105; 106) "}"
99 SEMI@[106; 107) ";" 99 SEMICOLON@[106; 107) ";"
100 WHITESPACE@[107; 112) "\n " 100 WHITESPACE@[107; 112) "\n "
101 LET_STMT@[112; 132) 101 LET_STMT@[112; 132)
102 LET_KW@[112; 115) "let" 102 LET_KW@[112; 115) "let"
@@ -123,7 +123,7 @@ SOURCE_FILE@[0; 135)
123 BLOCK@[129; 131) 123 BLOCK@[129; 131)
124 L_CURLY@[129; 130) "{" 124 L_CURLY@[129; 130) "{"
125 R_CURLY@[130; 131) "}" 125 R_CURLY@[130; 131) "}"
126 SEMI@[131; 132) ";" 126 SEMICOLON@[131; 132) ";"
127 WHITESPACE@[132; 133) "\n" 127 WHITESPACE@[132; 133) "\n"
128 R_CURLY@[133; 134) "}" 128 R_CURLY@[133; 134) "}"
129 WHITESPACE@[134; 135) "\n" 129 WHITESPACE@[134; 135) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast
index d6df1aba2..b96991035 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 33)
27 BLOCK@[27; 29) 27 BLOCK@[27; 29)
28 L_CURLY@[27; 28) "{" 28 L_CURLY@[27; 28) "{"
29 R_CURLY@[28; 29) "}" 29 R_CURLY@[28; 29) "}"
30 SEMI@[29; 30) ";" 30 SEMICOLON@[29; 30) ";"
31 WHITESPACE@[30; 31) "\n" 31 WHITESPACE@[30; 31) "\n"
32 R_CURLY@[31; 32) "}" 32 R_CURLY@[31; 32) "}"
33 WHITESPACE@[32; 33) "\n" 33 WHITESPACE@[32; 33) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast
index 6bfac985a..ed3d8fb0b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0131_existential_type.rast
@@ -27,5 +27,5 @@ SOURCE_FILE@[0; 37)
27 PATH_SEGMENT@[30; 35) 27 PATH_SEGMENT@[30; 35)
28 NAME_REF@[30; 35) 28 NAME_REF@[30; 35)
29 IDENT@[30; 35) "usize" 29 IDENT@[30; 35) "usize"
30 SEMI@[35; 36) ";" 30 SEMICOLON@[35; 36) ";"
31 WHITESPACE@[36; 37) "\n" 31 WHITESPACE@[36; 37) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast
index 12294210e..c392a7d84 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast
@@ -26,7 +26,7 @@ SOURCE_FILE@[0; 106)
26 WHITESPACE@[26; 27) " " 26 WHITESPACE@[26; 27) " "
27 LITERAL@[27; 31) 27 LITERAL@[27; 31)
28 INT_NUMBER@[27; 31) "1i32" 28 INT_NUMBER@[27; 31) "1i32"
29 SEMI@[31; 32) ";" 29 SEMICOLON@[31; 32) ";"
30 WHITESPACE@[32; 37) "\n " 30 WHITESPACE@[32; 37) "\n "
31 LET_STMT@[37; 66) 31 LET_STMT@[37; 66)
32 LET_KW@[37; 40) "let" 32 LET_KW@[37; 40) "let"
@@ -52,7 +52,7 @@ SOURCE_FILE@[0; 106)
52 LITERAL@[60; 64) 52 LITERAL@[60; 64)
53 INT_NUMBER@[60; 64) "2i32" 53 INT_NUMBER@[60; 64) "2i32"
54 R_PAREN@[64; 65) ")" 54 R_PAREN@[64; 65) ")"
55 SEMI@[65; 66) ";" 55 SEMICOLON@[65; 66) ";"
56 WHITESPACE@[66; 71) "\n " 56 WHITESPACE@[66; 71) "\n "
57 LET_STMT@[71; 103) 57 LET_STMT@[71; 103)
58 LET_KW@[71; 74) "let" 58 LET_KW@[71; 74) "let"
@@ -84,7 +84,7 @@ SOURCE_FILE@[0; 106)
84 LITERAL@[97; 101) 84 LITERAL@[97; 101)
85 INT_NUMBER@[97; 101) "2i32" 85 INT_NUMBER@[97; 101) "2i32"
86 R_PAREN@[101; 102) ")" 86 R_PAREN@[101; 102) ")"
87 SEMI@[102; 103) ";" 87 SEMICOLON@[102; 103) ";"
88 WHITESPACE@[103; 104) "\n" 88 WHITESPACE@[103; 104) "\n"
89 R_CURLY@[104; 105) "}" 89 R_CURLY@[104; 105) "}"
90 WHITESPACE@[105; 106) "\n" 90 WHITESPACE@[105; 106) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast
index e1734224b..cff03fcf3 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 69)
34 PATH_SEGMENT@[38; 41) 34 PATH_SEGMENT@[38; 41)
35 NAME_REF@[38; 41) 35 NAME_REF@[38; 41)
36 IDENT@[38; 41) "Bar" 36 IDENT@[38; 41) "Bar"
37 SEMI@[41; 42) ";" 37 SEMICOLON@[41; 42) ";"
38 WHITESPACE@[42; 47) "\n " 38 WHITESPACE@[42; 47) "\n "
39 FN_DEF@[47; 66) 39 FN_DEF@[47; 66)
40 DEFAULT_KW@[47; 54) "default" 40 DEFAULT_KW@[47; 54) "default"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
index 14655d332..f66f32370 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 111)
32 COMMA@[68; 69) "," 32 COMMA@[68; 69) ","
33 WHITESPACE@[69; 74) "\n " 33 WHITESPACE@[69; 74) "\n "
34 R_CURLY@[74; 75) "}" 34 R_CURLY@[74; 75) "}"
35 SEMI@[75; 76) ";" 35 SEMICOLON@[75; 76) ";"
36 WHITESPACE@[76; 81) "\n " 36 WHITESPACE@[76; 81) "\n "
37 FN_DEF@[81; 90) 37 FN_DEF@[81; 90)
38 FN_KW@[81; 83) "fn" 38 FN_KW@[81; 83) "fn"
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 111)
47 BLOCK@[88; 90) 47 BLOCK@[88; 90)
48 L_CURLY@[88; 89) "{" 48 L_CURLY@[88; 89) "{"
49 R_CURLY@[89; 90) "}" 49 R_CURLY@[89; 90) "}"
50 SEMI@[90; 91) ";" 50 SEMICOLON@[90; 91) ";"
51 WHITESPACE@[91; 96) "\n " 51 WHITESPACE@[91; 96) "\n "
52 STRUCT_DEF@[96; 107) 52 STRUCT_DEF@[96; 107)
53 STRUCT_KW@[96; 102) "struct" 53 STRUCT_KW@[96; 102) "struct"
@@ -58,7 +58,7 @@ SOURCE_FILE@[0; 111)
58 RECORD_FIELD_DEF_LIST@[105; 107) 58 RECORD_FIELD_DEF_LIST@[105; 107)
59 L_CURLY@[105; 106) "{" 59 L_CURLY@[105; 106) "{"
60 R_CURLY@[106; 107) "}" 60 R_CURLY@[106; 107) "}"
61 SEMI@[107; 108) ";" 61 SEMICOLON@[107; 108) ";"
62 WHITESPACE@[108; 109) "\n" 62 WHITESPACE@[108; 109) "\n"
63 R_CURLY@[109; 110) "}" 63 R_CURLY@[109; 110) "}"
64 WHITESPACE@[110; 111) "\n" 64 WHITESPACE@[110; 111) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast
index a6ac0dbd8..4946e6325 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 67)
21 IDENT@[15; 16) "x" 21 IDENT@[15; 16) "x"
22 DOT@[16; 17) "." 22 DOT@[16; 17) "."
23 AWAIT_KW@[17; 22) "await" 23 AWAIT_KW@[17; 22) "await"
24 SEMI@[22; 23) ";" 24 SEMICOLON@[22; 23) ";"
25 WHITESPACE@[23; 28) "\n " 25 WHITESPACE@[23; 28) "\n "
26 EXPR_STMT@[28; 38) 26 EXPR_STMT@[28; 38)
27 AWAIT_EXPR@[28; 37) 27 AWAIT_EXPR@[28; 37)
@@ -36,7 +36,7 @@ SOURCE_FILE@[0; 67)
36 INT_NUMBER@[30; 31) "0" 36 INT_NUMBER@[30; 31) "0"
37 DOT@[31; 32) "." 37 DOT@[31; 32) "."
38 AWAIT_KW@[32; 37) "await" 38 AWAIT_KW@[32; 37) "await"
39 SEMI@[37; 38) ";" 39 SEMICOLON@[37; 38) ";"
40 WHITESPACE@[38; 43) "\n " 40 WHITESPACE@[38; 43) "\n "
41 EXPR_STMT@[43; 64) 41 EXPR_STMT@[43; 64)
42 METHOD_CALL_EXPR@[43; 63) 42 METHOD_CALL_EXPR@[43; 63)
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 67)
64 ARG_LIST@[61; 63) 64 ARG_LIST@[61; 63)
65 L_PAREN@[61; 62) "(" 65 L_PAREN@[61; 62) "("
66 R_PAREN@[62; 63) ")" 66 R_PAREN@[62; 63) ")"
67 SEMI@[63; 64) ";" 67 SEMICOLON@[63; 64) ";"
68 WHITESPACE@[64; 65) "\n" 68 WHITESPACE@[64; 65) "\n"
69 R_CURLY@[65; 66) "}" 69 R_CURLY@[65; 66) "}"
70 WHITESPACE@[66; 67) "\n" 70 WHITESPACE@[66; 67) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast
index df4c04149..ca1d69f64 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast
@@ -38,7 +38,7 @@ SOURCE_FILE@[0; 52)
38 LITERAL@[31; 32) 38 LITERAL@[31; 32)
39 INT_NUMBER@[31; 32) "5" 39 INT_NUMBER@[31; 32) "5"
40 R_CURLY@[32; 33) "}" 40 R_CURLY@[32; 33) "}"
41 SEMI@[33; 34) ";" 41 SEMICOLON@[33; 34) ";"
42 WHITESPACE@[34; 38) "\n " 42 WHITESPACE@[34; 38) "\n "
43 EXPR_STMT@[38; 49) 43 EXPR_STMT@[38; 49)
44 BIN_EXPR@[38; 48) 44 BIN_EXPR@[38; 48)
@@ -60,7 +60,7 @@ SOURCE_FILE@[0; 52)
60 WHITESPACE@[45; 46) " " 60 WHITESPACE@[45; 46) " "
61 LITERAL@[46; 48) 61 LITERAL@[46; 48)
62 INT_NUMBER@[46; 48) "10" 62 INT_NUMBER@[46; 48) "10"
63 SEMI@[48; 49) ";" 63 SEMICOLON@[48; 49) ";"
64 WHITESPACE@[49; 50) "\n" 64 WHITESPACE@[49; 50) "\n"
65 R_CURLY@[50; 51) "}" 65 R_CURLY@[50; 51) "}"
66 WHITESPACE@[51; 52) "\n" 66 WHITESPACE@[51; 52) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast b/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast
index eec1cba1e..6d01140d2 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 51)
25 LITERAL@[23; 24) 25 LITERAL@[23; 24)
26 INT_NUMBER@[23; 24) "0" 26 INT_NUMBER@[23; 24) "0"
27 WHITESPACE@[24; 25) " " 27 WHITESPACE@[24; 25) " "
28 DOTDOT@[25; 27) ".." 28 DOT2@[25; 27) ".."
29 WHITESPACE@[27; 28) " " 29 WHITESPACE@[27; 28) " "
30 BLOCK_EXPR@[28; 48) 30 BLOCK_EXPR@[28; 48)
31 BLOCK@[28; 48) 31 BLOCK@[28; 48)
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 51)
34 EXPR_STMT@[37; 43) 34 EXPR_STMT@[37; 43)
35 BREAK_EXPR@[37; 42) 35 BREAK_EXPR@[37; 42)
36 BREAK_KW@[37; 42) "break" 36 BREAK_KW@[37; 42) "break"
37 SEMI@[42; 43) ";" 37 SEMICOLON@[42; 43) ";"
38 WHITESPACE@[43; 47) "\n " 38 WHITESPACE@[43; 47) "\n "
39 R_CURLY@[47; 48) "}" 39 R_CURLY@[47; 48) "}"
40 WHITESPACE@[48; 49) "\n" 40 WHITESPACE@[48; 49) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast
index 4d2048711..f75673070 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 118)
27 TUPLE_EXPR@[28; 30) 27 TUPLE_EXPR@[28; 30)
28 L_PAREN@[28; 29) "(" 28 L_PAREN@[28; 29) "("
29 R_PAREN@[29; 30) ")" 29 R_PAREN@[29; 30) ")"
30 SEMI@[30; 31) ";" 30 SEMICOLON@[30; 31) ";"
31 WHITESPACE@[31; 36) "\n " 31 WHITESPACE@[31; 36) "\n "
32 LET_STMT@[36; 87) 32 LET_STMT@[36; 87)
33 LET_KW@[36; 39) "let" 33 LET_KW@[36; 39) "let"
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 118)
83 TUPLE_EXPR@[84; 86) 83 TUPLE_EXPR@[84; 86)
84 L_PAREN@[84; 85) "(" 84 L_PAREN@[84; 85) "("
85 R_PAREN@[85; 86) ")" 85 R_PAREN@[85; 86) ")"
86 SEMI@[86; 87) ";" 86 SEMICOLON@[86; 87) ";"
87 WHITESPACE@[87; 92) "\n " 87 WHITESPACE@[87; 92) "\n "
88 LET_STMT@[92; 115) 88 LET_STMT@[92; 115)
89 LET_KW@[92; 95) "let" 89 LET_KW@[92; 95) "let"
@@ -104,7 +104,7 @@ SOURCE_FILE@[0; 118)
104 TUPLE_EXPR@[112; 114) 104 TUPLE_EXPR@[112; 114)
105 L_PAREN@[112; 113) "(" 105 L_PAREN@[112; 113) "("
106 R_PAREN@[113; 114) ")" 106 R_PAREN@[113; 114) ")"
107 SEMI@[114; 115) ";" 107 SEMICOLON@[114; 115) ";"
108 WHITESPACE@[115; 116) "\n" 108 WHITESPACE@[115; 116) "\n"
109 R_CURLY@[116; 117) "}" 109 R_CURLY@[116; 117) "}"
110 WHITESPACE@[117; 118) "\n" 110 WHITESPACE@[117; 118) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
index 325b1bd08..60186a992 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
@@ -16,14 +16,14 @@ SOURCE_FILE@[0; 555)
16 LET_KW@[16; 19) "let" 16 LET_KW@[16; 19) "let"
17 WHITESPACE@[19; 20) " " 17 WHITESPACE@[19; 20) " "
18 DOT_DOT_PAT@[20; 22) 18 DOT_DOT_PAT@[20; 22)
19 DOTDOT@[20; 22) ".." 19 DOT2@[20; 22) ".."
20 WHITESPACE@[22; 23) " " 20 WHITESPACE@[22; 23) " "
21 EQ@[23; 24) "=" 21 EQ@[23; 24) "="
22 WHITESPACE@[24; 25) " " 22 WHITESPACE@[24; 25) " "
23 TUPLE_EXPR@[25; 27) 23 TUPLE_EXPR@[25; 27)
24 L_PAREN@[25; 26) "(" 24 L_PAREN@[25; 26) "("
25 R_PAREN@[26; 27) ")" 25 R_PAREN@[26; 27) ")"
26 SEMI@[27; 28) ";" 26 SEMICOLON@[27; 28) ";"
27 WHITESPACE@[28; 33) "\n " 27 WHITESPACE@[28; 33) "\n "
28 COMMENT@[33; 35) "//" 28 COMMENT@[33; 35) "//"
29 WHITESPACE@[35; 40) "\n " 29 WHITESPACE@[35; 40) "\n "
@@ -42,7 +42,7 @@ SOURCE_FILE@[0; 555)
42 COMMA@[67; 68) "," 42 COMMA@[67; 68) ","
43 WHITESPACE@[68; 69) " " 43 WHITESPACE@[68; 69) " "
44 DOT_DOT_PAT@[69; 71) 44 DOT_DOT_PAT@[69; 71)
45 DOTDOT@[69; 71) ".." 45 DOT2@[69; 71) ".."
46 R_PAREN@[71; 72) ")" 46 R_PAREN@[71; 72) ")"
47 WHITESPACE@[72; 73) " " 47 WHITESPACE@[72; 73) " "
48 EQ@[73; 74) "=" 48 EQ@[73; 74) "="
@@ -50,7 +50,7 @@ SOURCE_FILE@[0; 555)
50 TUPLE_EXPR@[75; 77) 50 TUPLE_EXPR@[75; 77)
51 L_PAREN@[75; 76) "(" 51 L_PAREN@[75; 76) "("
52 R_PAREN@[76; 77) ")" 52 R_PAREN@[76; 77) ")"
53 SEMI@[77; 78) ";" 53 SEMICOLON@[77; 78) ";"
54 WHITESPACE@[78; 83) "\n " 54 WHITESPACE@[78; 83) "\n "
55 LET_STMT@[83; 101) 55 LET_STMT@[83; 101)
56 LET_KW@[83; 86) "let" 56 LET_KW@[83; 86) "let"
@@ -63,7 +63,7 @@ SOURCE_FILE@[0; 555)
63 COMMA@[89; 90) "," 63 COMMA@[89; 90) ","
64 WHITESPACE@[90; 91) " " 64 WHITESPACE@[90; 91) " "
65 DOT_DOT_PAT@[91; 93) 65 DOT_DOT_PAT@[91; 93)
66 DOTDOT@[91; 93) ".." 66 DOT2@[91; 93) ".."
67 COMMA@[93; 94) "," 67 COMMA@[93; 94) ","
68 R_PAREN@[94; 95) ")" 68 R_PAREN@[94; 95) ")"
69 WHITESPACE@[95; 96) " " 69 WHITESPACE@[95; 96) " "
@@ -72,7 +72,7 @@ SOURCE_FILE@[0; 555)
72 TUPLE_EXPR@[98; 100) 72 TUPLE_EXPR@[98; 100)
73 L_PAREN@[98; 99) "(" 73 L_PAREN@[98; 99) "("
74 R_PAREN@[99; 100) ")" 74 R_PAREN@[99; 100) ")"
75 SEMI@[100; 101) ";" 75 SEMICOLON@[100; 101) ";"
76 WHITESPACE@[101; 106) "\n " 76 WHITESPACE@[101; 106) "\n "
77 LET_STMT@[106; 128) 77 LET_STMT@[106; 128)
78 LET_KW@[106; 109) "let" 78 LET_KW@[106; 109) "let"
@@ -89,7 +89,7 @@ SOURCE_FILE@[0; 555)
89 COMMA@[117; 118) "," 89 COMMA@[117; 118) ","
90 WHITESPACE@[118; 119) " " 90 WHITESPACE@[118; 119) " "
91 DOT_DOT_PAT@[119; 121) 91 DOT_DOT_PAT@[119; 121)
92 DOTDOT@[119; 121) ".." 92 DOT2@[119; 121) ".."
93 R_PAREN@[121; 122) ")" 93 R_PAREN@[121; 122) ")"
94 WHITESPACE@[122; 123) " " 94 WHITESPACE@[122; 123) " "
95 EQ@[123; 124) "=" 95 EQ@[123; 124) "="
@@ -97,7 +97,7 @@ SOURCE_FILE@[0; 555)
97 TUPLE_EXPR@[125; 127) 97 TUPLE_EXPR@[125; 127)
98 L_PAREN@[125; 126) "(" 98 L_PAREN@[125; 126) "("
99 R_PAREN@[126; 127) ")" 99 R_PAREN@[126; 127) ")"
100 SEMI@[127; 128) ";" 100 SEMICOLON@[127; 128) ";"
101 WHITESPACE@[128; 133) "\n " 101 WHITESPACE@[128; 133) "\n "
102 LET_STMT@[133; 156) 102 LET_STMT@[133; 156)
103 LET_KW@[133; 136) "let" 103 LET_KW@[133; 136) "let"
@@ -114,7 +114,7 @@ SOURCE_FILE@[0; 555)
114 COMMA@[144; 145) "," 114 COMMA@[144; 145) ","
115 WHITESPACE@[145; 146) " " 115 WHITESPACE@[145; 146) " "
116 DOT_DOT_PAT@[146; 148) 116 DOT_DOT_PAT@[146; 148)
117 DOTDOT@[146; 148) ".." 117 DOT2@[146; 148) ".."
118 COMMA@[148; 149) "," 118 COMMA@[148; 149) ","
119 R_PAREN@[149; 150) ")" 119 R_PAREN@[149; 150) ")"
120 WHITESPACE@[150; 151) " " 120 WHITESPACE@[150; 151) " "
@@ -123,7 +123,7 @@ SOURCE_FILE@[0; 555)
123 TUPLE_EXPR@[153; 155) 123 TUPLE_EXPR@[153; 155)
124 L_PAREN@[153; 154) "(" 124 L_PAREN@[153; 154) "("
125 R_PAREN@[154; 155) ")" 125 R_PAREN@[154; 155) ")"
126 SEMI@[155; 156) ";" 126 SEMICOLON@[155; 156) ";"
127 WHITESPACE@[156; 161) "\n " 127 WHITESPACE@[156; 161) "\n "
128 LET_STMT@[161; 179) 128 LET_STMT@[161; 179)
129 LET_KW@[161; 164) "let" 129 LET_KW@[161; 164) "let"
@@ -131,11 +131,11 @@ SOURCE_FILE@[0; 555)
131 TUPLE_PAT@[165; 173) 131 TUPLE_PAT@[165; 173)
132 L_PAREN@[165; 166) "(" 132 L_PAREN@[165; 166) "("
133 DOT_DOT_PAT@[166; 168) 133 DOT_DOT_PAT@[166; 168)
134 DOTDOT@[166; 168) ".." 134 DOT2@[166; 168) ".."
135 COMMA@[168; 169) "," 135 COMMA@[168; 169) ","
136 WHITESPACE@[169; 170) " " 136 WHITESPACE@[169; 170) " "
137 DOT_DOT_PAT@[170; 172) 137 DOT_DOT_PAT@[170; 172)
138 DOTDOT@[170; 172) ".." 138 DOT2@[170; 172) ".."
139 R_PAREN@[172; 173) ")" 139 R_PAREN@[172; 173) ")"
140 WHITESPACE@[173; 174) " " 140 WHITESPACE@[173; 174) " "
141 EQ@[174; 175) "=" 141 EQ@[174; 175) "="
@@ -143,7 +143,7 @@ SOURCE_FILE@[0; 555)
143 TUPLE_EXPR@[176; 178) 143 TUPLE_EXPR@[176; 178)
144 L_PAREN@[176; 177) "(" 144 L_PAREN@[176; 177) "("
145 R_PAREN@[177; 178) ")" 145 R_PAREN@[177; 178) ")"
146 SEMI@[178; 179) ";" 146 SEMICOLON@[178; 179) ";"
147 WHITESPACE@[179; 184) "\n " 147 WHITESPACE@[179; 184) "\n "
148 LET_STMT@[184; 207) 148 LET_STMT@[184; 207)
149 LET_KW@[184; 187) "let" 149 LET_KW@[184; 187) "let"
@@ -155,11 +155,11 @@ SOURCE_FILE@[0; 555)
155 IDENT@[188; 193) "Tuple" 155 IDENT@[188; 193) "Tuple"
156 L_PAREN@[193; 194) "(" 156 L_PAREN@[193; 194) "("
157 DOT_DOT_PAT@[194; 196) 157 DOT_DOT_PAT@[194; 196)
158 DOTDOT@[194; 196) ".." 158 DOT2@[194; 196) ".."
159 COMMA@[196; 197) "," 159 COMMA@[196; 197) ","
160 WHITESPACE@[197; 198) " " 160 WHITESPACE@[197; 198) " "
161 DOT_DOT_PAT@[198; 200) 161 DOT_DOT_PAT@[198; 200)
162 DOTDOT@[198; 200) ".." 162 DOT2@[198; 200) ".."
163 R_PAREN@[200; 201) ")" 163 R_PAREN@[200; 201) ")"
164 WHITESPACE@[201; 202) " " 164 WHITESPACE@[201; 202) " "
165 EQ@[202; 203) "=" 165 EQ@[202; 203) "="
@@ -167,7 +167,7 @@ SOURCE_FILE@[0; 555)
167 TUPLE_EXPR@[204; 206) 167 TUPLE_EXPR@[204; 206)
168 L_PAREN@[204; 205) "(" 168 L_PAREN@[204; 205) "("
169 R_PAREN@[205; 206) ")" 169 R_PAREN@[205; 206) ")"
170 SEMI@[206; 207) ";" 170 SEMICOLON@[206; 207) ";"
171 WHITESPACE@[207; 212) "\n " 171 WHITESPACE@[207; 212) "\n "
172 LET_STMT@[212; 233) 172 LET_STMT@[212; 233)
173 LET_KW@[212; 215) "let" 173 LET_KW@[212; 215) "let"
@@ -175,7 +175,7 @@ SOURCE_FILE@[0; 555)
175 TUPLE_PAT@[216; 227) 175 TUPLE_PAT@[216; 227)
176 L_PAREN@[216; 217) "(" 176 L_PAREN@[216; 217) "("
177 DOT_DOT_PAT@[217; 219) 177 DOT_DOT_PAT@[217; 219)
178 DOTDOT@[217; 219) ".." 178 DOT2@[217; 219) ".."
179 COMMA@[219; 220) "," 179 COMMA@[219; 220) ","
180 WHITESPACE@[220; 221) " " 180 WHITESPACE@[220; 221) " "
181 BIND_PAT@[221; 222) 181 BIND_PAT@[221; 222)
@@ -184,7 +184,7 @@ SOURCE_FILE@[0; 555)
184 COMMA@[222; 223) "," 184 COMMA@[222; 223) ","
185 WHITESPACE@[223; 224) " " 185 WHITESPACE@[223; 224) " "
186 DOT_DOT_PAT@[224; 226) 186 DOT_DOT_PAT@[224; 226)
187 DOTDOT@[224; 226) ".." 187 DOT2@[224; 226) ".."
188 R_PAREN@[226; 227) ")" 188 R_PAREN@[226; 227) ")"
189 WHITESPACE@[227; 228) " " 189 WHITESPACE@[227; 228) " "
190 EQ@[228; 229) "=" 190 EQ@[228; 229) "="
@@ -192,7 +192,7 @@ SOURCE_FILE@[0; 555)
192 TUPLE_EXPR@[230; 232) 192 TUPLE_EXPR@[230; 232)
193 L_PAREN@[230; 231) "(" 193 L_PAREN@[230; 231) "("
194 R_PAREN@[231; 232) ")" 194 R_PAREN@[231; 232) ")"
195 SEMI@[232; 233) ";" 195 SEMICOLON@[232; 233) ";"
196 WHITESPACE@[233; 238) "\n " 196 WHITESPACE@[233; 238) "\n "
197 LET_STMT@[238; 264) 197 LET_STMT@[238; 264)
198 LET_KW@[238; 241) "let" 198 LET_KW@[238; 241) "let"
@@ -204,7 +204,7 @@ SOURCE_FILE@[0; 555)
204 IDENT@[242; 247) "Tuple" 204 IDENT@[242; 247) "Tuple"
205 L_PAREN@[247; 248) "(" 205 L_PAREN@[247; 248) "("
206 DOT_DOT_PAT@[248; 250) 206 DOT_DOT_PAT@[248; 250)
207 DOTDOT@[248; 250) ".." 207 DOT2@[248; 250) ".."
208 COMMA@[250; 251) "," 208 COMMA@[250; 251) ","
209 WHITESPACE@[251; 252) " " 209 WHITESPACE@[251; 252) " "
210 BIND_PAT@[252; 253) 210 BIND_PAT@[252; 253)
@@ -213,7 +213,7 @@ SOURCE_FILE@[0; 555)
213 COMMA@[253; 254) "," 213 COMMA@[253; 254) ","
214 WHITESPACE@[254; 255) " " 214 WHITESPACE@[254; 255) " "
215 DOT_DOT_PAT@[255; 257) 215 DOT_DOT_PAT@[255; 257)
216 DOTDOT@[255; 257) ".." 216 DOT2@[255; 257) ".."
217 R_PAREN@[257; 258) ")" 217 R_PAREN@[257; 258) ")"
218 WHITESPACE@[258; 259) " " 218 WHITESPACE@[258; 259) " "
219 EQ@[259; 260) "=" 219 EQ@[259; 260) "="
@@ -221,7 +221,7 @@ SOURCE_FILE@[0; 555)
221 TUPLE_EXPR@[261; 263) 221 TUPLE_EXPR@[261; 263)
222 L_PAREN@[261; 262) "(" 222 L_PAREN@[261; 262) "("
223 R_PAREN@[262; 263) ")" 223 R_PAREN@[262; 263) ")"
224 SEMI@[263; 264) ";" 224 SEMICOLON@[263; 264) ";"
225 WHITESPACE@[264; 269) "\n " 225 WHITESPACE@[264; 269) "\n "
226 COMMENT@[269; 271) "//" 226 COMMENT@[269; 271) "//"
227 WHITESPACE@[271; 276) "\n " 227 WHITESPACE@[271; 276) "\n "
@@ -235,7 +235,7 @@ SOURCE_FILE@[0; 555)
235 SLICE_PAT@[301; 305) 235 SLICE_PAT@[301; 305)
236 L_BRACK@[301; 302) "[" 236 L_BRACK@[301; 302) "["
237 DOT_DOT_PAT@[302; 304) 237 DOT_DOT_PAT@[302; 304)
238 DOTDOT@[302; 304) ".." 238 DOT2@[302; 304) ".."
239 R_BRACK@[304; 305) "]" 239 R_BRACK@[304; 305) "]"
240 WHITESPACE@[305; 306) " " 240 WHITESPACE@[305; 306) " "
241 EQ@[306; 307) "=" 241 EQ@[306; 307) "="
@@ -243,7 +243,7 @@ SOURCE_FILE@[0; 555)
243 TUPLE_EXPR@[308; 310) 243 TUPLE_EXPR@[308; 310)
244 L_PAREN@[308; 309) "(" 244 L_PAREN@[308; 309) "("
245 R_PAREN@[309; 310) ")" 245 R_PAREN@[309; 310) ")"
246 SEMI@[310; 311) ";" 246 SEMICOLON@[310; 311) ";"
247 WHITESPACE@[311; 316) "\n " 247 WHITESPACE@[311; 316) "\n "
248 LET_STMT@[316; 336) 248 LET_STMT@[316; 336)
249 LET_KW@[316; 319) "let" 249 LET_KW@[316; 319) "let"
@@ -256,7 +256,7 @@ SOURCE_FILE@[0; 555)
256 COMMA@[325; 326) "," 256 COMMA@[325; 326) ","
257 WHITESPACE@[326; 327) " " 257 WHITESPACE@[326; 327) " "
258 DOT_DOT_PAT@[327; 329) 258 DOT_DOT_PAT@[327; 329)
259 DOTDOT@[327; 329) ".." 259 DOT2@[327; 329) ".."
260 R_BRACK@[329; 330) "]" 260 R_BRACK@[329; 330) "]"
261 WHITESPACE@[330; 331) " " 261 WHITESPACE@[330; 331) " "
262 EQ@[331; 332) "=" 262 EQ@[331; 332) "="
@@ -264,7 +264,7 @@ SOURCE_FILE@[0; 555)
264 TUPLE_EXPR@[333; 335) 264 TUPLE_EXPR@[333; 335)
265 L_PAREN@[333; 334) "(" 265 L_PAREN@[333; 334) "("
266 R_PAREN@[334; 335) ")" 266 R_PAREN@[334; 335) ")"
267 SEMI@[335; 336) ";" 267 SEMICOLON@[335; 336) ";"
268 WHITESPACE@[336; 341) "\n " 268 WHITESPACE@[336; 341) "\n "
269 LET_STMT@[341; 368) 269 LET_STMT@[341; 368)
270 LET_KW@[341; 344) "let" 270 LET_KW@[341; 344) "let"
@@ -283,7 +283,7 @@ SOURCE_FILE@[0; 555)
283 AT@[357; 358) "@" 283 AT@[357; 358) "@"
284 WHITESPACE@[358; 359) " " 284 WHITESPACE@[358; 359) " "
285 DOT_DOT_PAT@[359; 361) 285 DOT_DOT_PAT@[359; 361)
286 DOTDOT@[359; 361) ".." 286 DOT2@[359; 361) ".."
287 R_BRACK@[361; 362) "]" 287 R_BRACK@[361; 362) "]"
288 WHITESPACE@[362; 363) " " 288 WHITESPACE@[362; 363) " "
289 EQ@[363; 364) "=" 289 EQ@[363; 364) "="
@@ -291,7 +291,7 @@ SOURCE_FILE@[0; 555)
291 TUPLE_EXPR@[365; 367) 291 TUPLE_EXPR@[365; 367)
292 L_PAREN@[365; 366) "(" 292 L_PAREN@[365; 366) "("
293 R_PAREN@[366; 367) ")" 293 R_PAREN@[366; 367) ")"
294 SEMI@[367; 368) ";" 294 SEMICOLON@[367; 368) ";"
295 WHITESPACE@[368; 373) "\n " 295 WHITESPACE@[368; 373) "\n "
296 LET_STMT@[373; 399) 296 LET_STMT@[373; 399)
297 LET_KW@[373; 376) "let" 297 LET_KW@[373; 376) "let"
@@ -304,7 +304,7 @@ SOURCE_FILE@[0; 555)
304 COMMA@[382; 383) "," 304 COMMA@[382; 383) ","
305 WHITESPACE@[383; 384) " " 305 WHITESPACE@[383; 384) " "
306 DOT_DOT_PAT@[384; 386) 306 DOT_DOT_PAT@[384; 386)
307 DOTDOT@[384; 386) ".." 307 DOT2@[384; 386) ".."
308 COMMA@[386; 387) "," 308 COMMA@[386; 387) ","
309 WHITESPACE@[387; 388) " " 309 WHITESPACE@[387; 388) " "
310 BIND_PAT@[388; 392) 310 BIND_PAT@[388; 392)
@@ -317,7 +317,7 @@ SOURCE_FILE@[0; 555)
317 TUPLE_EXPR@[396; 398) 317 TUPLE_EXPR@[396; 398)
318 L_PAREN@[396; 397) "(" 318 L_PAREN@[396; 397) "("
319 R_PAREN@[397; 398) ")" 319 R_PAREN@[397; 398) ")"
320 SEMI@[398; 399) ";" 320 SEMICOLON@[398; 399) ";"
321 WHITESPACE@[399; 404) "\n " 321 WHITESPACE@[399; 404) "\n "
322 LET_STMT@[404; 436) 322 LET_STMT@[404; 436)
323 LET_KW@[404; 407) "let" 323 LET_KW@[404; 407) "let"
@@ -336,7 +336,7 @@ SOURCE_FILE@[0; 555)
336 AT@[419; 420) "@" 336 AT@[419; 420) "@"
337 WHITESPACE@[420; 421) " " 337 WHITESPACE@[420; 421) " "
338 DOT_DOT_PAT@[421; 423) 338 DOT_DOT_PAT@[421; 423)
339 DOTDOT@[421; 423) ".." 339 DOT2@[421; 423) ".."
340 COMMA@[423; 424) "," 340 COMMA@[423; 424) ","
341 WHITESPACE@[424; 425) " " 341 WHITESPACE@[424; 425) " "
342 BIND_PAT@[425; 429) 342 BIND_PAT@[425; 429)
@@ -349,7 +349,7 @@ SOURCE_FILE@[0; 555)
349 TUPLE_EXPR@[433; 435) 349 TUPLE_EXPR@[433; 435)
350 L_PAREN@[433; 434) "(" 350 L_PAREN@[433; 434) "("
351 R_PAREN@[434; 435) ")" 351 R_PAREN@[434; 435) ")"
352 SEMI@[435; 436) ";" 352 SEMICOLON@[435; 436) ";"
353 WHITESPACE@[436; 441) "\n " 353 WHITESPACE@[436; 441) "\n "
354 LET_STMT@[441; 471) 354 LET_STMT@[441; 471)
355 LET_KW@[441; 444) "let" 355 LET_KW@[441; 444) "let"
@@ -362,11 +362,11 @@ SOURCE_FILE@[0; 555)
362 COMMA@[450; 451) "," 362 COMMA@[450; 451) ","
363 WHITESPACE@[451; 452) " " 363 WHITESPACE@[451; 452) " "
364 DOT_DOT_PAT@[452; 454) 364 DOT_DOT_PAT@[452; 454)
365 DOTDOT@[452; 454) ".." 365 DOT2@[452; 454) ".."
366 COMMA@[454; 455) "," 366 COMMA@[454; 455) ","
367 WHITESPACE@[455; 456) " " 367 WHITESPACE@[455; 456) " "
368 DOT_DOT_PAT@[456; 458) 368 DOT_DOT_PAT@[456; 458)
369 DOTDOT@[456; 458) ".." 369 DOT2@[456; 458) ".."
370 COMMA@[458; 459) "," 370 COMMA@[458; 459) ","
371 WHITESPACE@[459; 460) " " 371 WHITESPACE@[459; 460) " "
372 BIND_PAT@[460; 464) 372 BIND_PAT@[460; 464)
@@ -379,7 +379,7 @@ SOURCE_FILE@[0; 555)
379 TUPLE_EXPR@[468; 470) 379 TUPLE_EXPR@[468; 470)
380 L_PAREN@[468; 469) "(" 380 L_PAREN@[468; 469) "("
381 R_PAREN@[469; 470) ")" 381 R_PAREN@[469; 470) ")"
382 SEMI@[470; 471) ";" 382 SEMICOLON@[470; 471) ";"
383 WHITESPACE@[471; 476) "\n " 383 WHITESPACE@[471; 476) "\n "
384 LET_STMT@[476; 512) 384 LET_STMT@[476; 512)
385 LET_KW@[476; 479) "let" 385 LET_KW@[476; 479) "let"
@@ -392,7 +392,7 @@ SOURCE_FILE@[0; 555)
392 COMMA@[485; 486) "," 392 COMMA@[485; 486) ","
393 WHITESPACE@[486; 487) " " 393 WHITESPACE@[486; 487) " "
394 DOT_DOT_PAT@[487; 489) 394 DOT_DOT_PAT@[487; 489)
395 DOTDOT@[487; 489) ".." 395 DOT2@[487; 489) ".."
396 COMMA@[489; 490) "," 396 COMMA@[489; 490) ","
397 WHITESPACE@[490; 491) " " 397 WHITESPACE@[490; 491) " "
398 BIND_PAT@[491; 494) 398 BIND_PAT@[491; 494)
@@ -407,7 +407,7 @@ SOURCE_FILE@[0; 555)
407 AT@[501; 502) "@" 407 AT@[501; 502) "@"
408 WHITESPACE@[502; 503) " " 408 WHITESPACE@[502; 503) " "
409 DOT_DOT_PAT@[503; 505) 409 DOT_DOT_PAT@[503; 505)
410 DOTDOT@[503; 505) ".." 410 DOT2@[503; 505) ".."
411 R_BRACK@[505; 506) "]" 411 R_BRACK@[505; 506) "]"
412 WHITESPACE@[506; 507) " " 412 WHITESPACE@[506; 507) " "
413 EQ@[507; 508) "=" 413 EQ@[507; 508) "="
@@ -415,7 +415,7 @@ SOURCE_FILE@[0; 555)
415 TUPLE_EXPR@[509; 511) 415 TUPLE_EXPR@[509; 511)
416 L_PAREN@[509; 510) "(" 416 L_PAREN@[509; 510) "("
417 R_PAREN@[510; 511) ")" 417 R_PAREN@[510; 511) ")"
418 SEMI@[511; 512) ";" 418 SEMICOLON@[511; 512) ";"
419 WHITESPACE@[512; 517) "\n " 419 WHITESPACE@[512; 517) "\n "
420 LET_STMT@[517; 552) 420 LET_STMT@[517; 552)
421 LET_KW@[517; 520) "let" 421 LET_KW@[517; 520) "let"
@@ -428,7 +428,7 @@ SOURCE_FILE@[0; 555)
428 COMMA@[526; 527) "," 428 COMMA@[526; 527) ","
429 WHITESPACE@[527; 528) " " 429 WHITESPACE@[527; 528) " "
430 DOT_DOT_PAT@[528; 530) 430 DOT_DOT_PAT@[528; 530)
431 DOTDOT@[528; 530) ".." 431 DOT2@[528; 530) ".."
432 COMMA@[530; 531) "," 432 COMMA@[530; 531) ","
433 WHITESPACE@[531; 532) " " 433 WHITESPACE@[531; 532) " "
434 BIND_PAT@[532; 535) 434 BIND_PAT@[532; 535)
@@ -437,7 +437,7 @@ SOURCE_FILE@[0; 555)
437 COMMA@[535; 536) "," 437 COMMA@[535; 536) ","
438 WHITESPACE@[536; 537) " " 438 WHITESPACE@[536; 537) " "
439 DOT_DOT_PAT@[537; 539) 439 DOT_DOT_PAT@[537; 539)
440 DOTDOT@[537; 539) ".." 440 DOT2@[537; 539) ".."
441 COMMA@[539; 540) "," 441 COMMA@[539; 540) ","
442 WHITESPACE@[540; 541) " " 442 WHITESPACE@[540; 541) " "
443 BIND_PAT@[541; 545) 443 BIND_PAT@[541; 545)
@@ -450,7 +450,7 @@ SOURCE_FILE@[0; 555)
450 TUPLE_EXPR@[549; 551) 450 TUPLE_EXPR@[549; 551)
451 L_PAREN@[549; 550) "(" 451 L_PAREN@[549; 550) "("
452 R_PAREN@[550; 551) ")" 452 R_PAREN@[550; 551) ")"
453 SEMI@[551; 552) ";" 453 SEMICOLON@[551; 552) ";"
454 WHITESPACE@[552; 553) "\n" 454 WHITESPACE@[552; 553) "\n"
455 R_CURLY@[553; 554) "}" 455 R_CURLY@[553; 554) "}"
456 WHITESPACE@[554; 555) "\n" 456 WHITESPACE@[554; 555) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast
index 06fbdfabf..0d786f597 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 63)
39 TUPLE_EXPR@[32; 34) 39 TUPLE_EXPR@[32; 34)
40 L_PAREN@[32; 33) "(" 40 L_PAREN@[32; 33) "("
41 R_PAREN@[33; 34) ")" 41 R_PAREN@[33; 34) ")"
42 SEMI@[34; 35) ";" 42 SEMICOLON@[34; 35) ";"
43 WHITESPACE@[35; 40) "\n " 43 WHITESPACE@[35; 40) "\n "
44 LET_STMT@[40; 60) 44 LET_STMT@[40; 60)
45 LET_KW@[40; 43) "let" 45 LET_KW@[40; 43) "let"
@@ -69,7 +69,7 @@ SOURCE_FILE@[0; 63)
69 TUPLE_EXPR@[57; 59) 69 TUPLE_EXPR@[57; 59)
70 L_PAREN@[57; 58) "(" 70 L_PAREN@[57; 58) "("
71 R_PAREN@[58; 59) ")" 71 R_PAREN@[58; 59) ")"
72 SEMI@[59; 60) ";" 72 SEMICOLON@[59; 60) ";"
73 WHITESPACE@[60; 61) "\n" 73 WHITESPACE@[60; 61) "\n"
74 R_CURLY@[61; 62) "}" 74 R_CURLY@[61; 62) "}"
75 WHITESPACE@[62; 63) "\n" 75 WHITESPACE@[62; 63) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
index 9e3767fb7..d2f6d8fde 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast
@@ -37,7 +37,7 @@ SOURCE_FILE@[0; 43)
37 PATH_SEGMENT@[36; 39) 37 PATH_SEGMENT@[36; 39)
38 NAME_REF@[36; 39) 38 NAME_REF@[36; 39)
39 IDENT@[36; 39) "i32" 39 IDENT@[36; 39) "i32"
40 SEMI@[39; 40) ";" 40 SEMICOLON@[39; 40) ";"
41 WHITESPACE@[40; 41) "\n" 41 WHITESPACE@[40; 41) "\n"
42 R_CURLY@[41; 42) "}" 42 R_CURLY@[41; 42) "}"
43 WHITESPACE@[42; 43) "\n" 43 WHITESPACE@[42; 43) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast
index f81de7bac..21161f7bf 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0147_const_param.rast
@@ -19,5 +19,5 @@ SOURCE_FILE@[0; 24)
19 NAME_REF@[18; 21) 19 NAME_REF@[18; 21)
20 IDENT@[18; 21) "u32" 20 IDENT@[18; 21) "u32"
21 R_ANGLE@[21; 22) ">" 21 R_ANGLE@[21; 22) ">"
22 SEMI@[22; 23) ";" 22 SEMICOLON@[22; 23) ";"
23 WHITESPACE@[23; 24) "\n" 23 WHITESPACE@[23; 24) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
index 78e296f88..1f297e479 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0150_array_attrs.rast
@@ -43,5 +43,5 @@ SOURCE_FILE@[0; 40)
43 WHITESPACE@[35; 36) " " 43 WHITESPACE@[35; 36) " "
44 INT_NUMBER@[36; 37) "2" 44 INT_NUMBER@[36; 37) "2"
45 R_BRACK@[37; 38) "]" 45 R_BRACK@[37; 38) "]"
46 SEMI@[38; 39) ";" 46 SEMICOLON@[38; 39) ";"
47 WHITESPACE@[39; 40) "\n" 47 WHITESPACE@[39; 40) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast b/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast
index de1536ef0..167c0fffa 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0151_trait_alias.rast
@@ -29,7 +29,7 @@ SOURCE_FILE@[0; 83)
29 NAME_REF@[15; 16) 29 NAME_REF@[15; 16)
30 IDENT@[15; 16) "U" 30 IDENT@[15; 16) "U"
31 R_ANGLE@[16; 17) ">" 31 R_ANGLE@[16; 17) ">"
32 SEMI@[17; 18) ";" 32 SEMICOLON@[17; 18) ";"
33 WHITESPACE@[18; 19) "\n" 33 WHITESPACE@[18; 19) "\n"
34 TRAIT_DEF@[19; 51) 34 TRAIT_DEF@[19; 51)
35 TRAIT_KW@[19; 24) "trait" 35 TRAIT_KW@[19; 24) "trait"
@@ -80,7 +80,7 @@ SOURCE_FILE@[0; 83)
80 PATH_SEGMENT@[46; 50) 80 PATH_SEGMENT@[46; 50)
81 NAME_REF@[46; 50) 81 NAME_REF@[46; 50)
82 IDENT@[46; 50) "Copy" 82 IDENT@[46; 50) "Copy"
83 SEMI@[50; 51) ";" 83 SEMICOLON@[50; 51) ";"
84 WHITESPACE@[51; 52) "\n" 84 WHITESPACE@[51; 52) "\n"
85 TRAIT_DEF@[52; 82) 85 TRAIT_DEF@[52; 82)
86 TRAIT_KW@[52; 57) "trait" 86 TRAIT_KW@[52; 57) "trait"
@@ -124,5 +124,5 @@ SOURCE_FILE@[0; 83)
124 NAME_REF@[79; 80) 124 NAME_REF@[79; 80)
125 IDENT@[79; 80) "U" 125 IDENT@[79; 80) "U"
126 R_ANGLE@[80; 81) ">" 126 R_ANGLE@[80; 81) ">"
127 SEMI@[81; 82) ";" 127 SEMICOLON@[81; 82) ";"
128 WHITESPACE@[82; 83) "\n" 128 WHITESPACE@[82; 83) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
index cb686854a..ee1bd361d 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast
@@ -18,12 +18,12 @@ SOURCE_FILE@[0; 55)
18 PATH_SEGMENT@[14; 17) 18 PATH_SEGMENT@[14; 17)
19 NAME_REF@[14; 17) 19 NAME_REF@[14; 17)
20 IDENT@[14; 17) "Bar" 20 IDENT@[14; 17) "Bar"
21 COLONCOLON@[17; 19) "::" 21 COLON2@[17; 19) "::"
22 PATH_SEGMENT@[19; 22) 22 PATH_SEGMENT@[19; 22)
23 NAME_REF@[19; 22) 23 NAME_REF@[19; 22)
24 IDENT@[19; 22) "Baz" 24 IDENT@[19; 22) "Baz"
25 R_PAREN@[22; 23) ")" 25 R_PAREN@[22; 23) ")"
26 SEMI@[23; 24) ";" 26 SEMICOLON@[23; 24) ";"
27 WHITESPACE@[24; 25) "\n" 27 WHITESPACE@[24; 25) "\n"
28 TYPE_ALIAS_DEF@[25; 54) 28 TYPE_ALIAS_DEF@[25; 54)
29 TYPE_KW@[25; 29) "type" 29 TYPE_KW@[25; 29) "type"
@@ -49,10 +49,10 @@ SOURCE_FILE@[0; 55)
49 PATH_SEGMENT@[44; 47) 49 PATH_SEGMENT@[44; 47)
50 NAME_REF@[44; 47) 50 NAME_REF@[44; 47)
51 IDENT@[44; 47) "Bar" 51 IDENT@[44; 47) "Bar"
52 COLONCOLON@[47; 49) "::" 52 COLON2@[47; 49) "::"
53 PATH_SEGMENT@[49; 52) 53 PATH_SEGMENT@[49; 52)
54 NAME_REF@[49; 52) 54 NAME_REF@[49; 52)
55 IDENT@[49; 52) "Baz" 55 IDENT@[49; 52) "Baz"
56 R_PAREN@[52; 53) ")" 56 R_PAREN@[52; 53) ")"
57 SEMI@[53; 54) ";" 57 SEMICOLON@[53; 54) ";"
58 WHITESPACE@[54; 55) "\n" 58 WHITESPACE@[54; 55) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast
index 98727ae98..a5f8b6480 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast
@@ -55,7 +55,7 @@ SOURCE_FILE@[0; 63)
55 PATH_SEGMENT@[46; 49) 55 PATH_SEGMENT@[46; 49)
56 NAME_REF@[46; 49) 56 NAME_REF@[46; 49)
57 IDENT@[46; 49) "Qux" 57 IDENT@[46; 49) "Qux"
58 COLONCOLON@[49; 51) "::" 58 COLON2@[49; 51) "::"
59 PATH_SEGMENT@[51; 55) 59 PATH_SEGMENT@[51; 55)
60 NAME_REF@[51; 55) 60 NAME_REF@[51; 55)
61 IDENT@[51; 55) "Quux" 61 IDENT@[51; 55) "Quux"
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 63)
64 TUPLE_EXPR@[57; 59) 64 TUPLE_EXPR@[57; 59)
65 L_PAREN@[57; 58) "(" 65 L_PAREN@[57; 58) "("
66 R_PAREN@[58; 59) ")" 66 R_PAREN@[58; 59) ")"
67 SEMI@[59; 60) ";" 67 SEMICOLON@[59; 60) ";"
68 WHITESPACE@[60; 61) "\n" 68 WHITESPACE@[60; 61) "\n"
69 R_CURLY@[61; 62) "}" 69 R_CURLY@[61; 62) "}"
70 WHITESPACE@[62; 63) "\n" 70 WHITESPACE@[62; 63) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
index 52d8f21a4..e0081a9f2 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast
@@ -22,5 +22,5 @@ SOURCE_FILE@[0; 23)
22 NAME_REF@[17; 20) 22 NAME_REF@[17; 20)
23 IDENT@[17; 20) "bar" 23 IDENT@[17; 20) "bar"
24 R_PAREN@[20; 21) ")" 24 R_PAREN@[20; 21) ")"
25 SEMI@[21; 22) ";" 25 SEMICOLON@[21; 22) ";"
26 WHITESPACE@[22; 23) "\n" 26 WHITESPACE@[22; 23) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast b/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast
index d568a1d45..548be2698 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 28)
32 AMP@[22; 23) "&" 32 AMP@[22; 23) "&"
33 LITERAL@[23; 24) 33 LITERAL@[23; 24)
34 INT_NUMBER@[23; 24) "2" 34 INT_NUMBER@[23; 24) "2"
35 SEMI@[24; 25) ";" 35 SEMICOLON@[24; 25) ";"
36 WHITESPACE@[25; 26) "\n" 36 WHITESPACE@[25; 26) "\n"
37 R_CURLY@[26; 27) "}" 37 R_CURLY@[26; 27) "}"
38 WHITESPACE@[27; 28) "\n" 38 WHITESPACE@[27; 28) "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast
index ba8779094..a7a547fce 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 34)
39 ARG_LIST@[28; 30) 39 ARG_LIST@[28; 30)
40 L_PAREN@[28; 29) "(" 40 L_PAREN@[28; 29) "("
41 R_PAREN@[29; 30) ")" 41 R_PAREN@[29; 30) ")"
42 SEMI@[30; 31) ";" 42 SEMICOLON@[30; 31) ";"
43 WHITESPACE@[31; 32) " " 43 WHITESPACE@[31; 32) " "
44 R_CURLY@[32; 33) "}" 44 R_CURLY@[32; 33) "}"
45 WHITESPACE@[33; 34) "\n" 45 WHITESPACE@[33; 34) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast
index d72b72561..308b5680f 100644
--- a/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0006_inner_attributes.rast
@@ -1,7 +1,7 @@
1SOURCE_FILE@[0; 236) 1SOURCE_FILE@[0; 236)
2 ATTR@[0; 8) 2 ATTR@[0; 8)
3 POUND@[0; 1) "#" 3 POUND@[0; 1) "#"
4 EXCL@[1; 2) "!" 4 BANG@[1; 2) "!"
5 L_BRACK@[2; 3) "[" 5 L_BRACK@[2; 3) "["
6 PATH@[3; 7) 6 PATH@[3; 7)
7 PATH_SEGMENT@[3; 7) 7 PATH_SEGMENT@[3; 7)
@@ -11,7 +11,7 @@ SOURCE_FILE@[0; 236)
11 WHITESPACE@[8; 9) "\n" 11 WHITESPACE@[8; 9) "\n"
12 ATTR@[9; 23) 12 ATTR@[9; 23)
13 POUND@[9; 10) "#" 13 POUND@[9; 10) "#"
14 EXCL@[10; 11) "!" 14 BANG@[10; 11) "!"
15 L_BRACK@[11; 12) "[" 15 L_BRACK@[11; 12) "["
16 PATH@[12; 16) 16 PATH@[12; 16)
17 PATH_SEGMENT@[12; 16) 17 PATH_SEGMENT@[12; 16)
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 236)
25 WHITESPACE@[23; 24) "\n" 25 WHITESPACE@[23; 24) "\n"
26 ATTR@[24; 39) 26 ATTR@[24; 39)
27 POUND@[24; 25) "#" 27 POUND@[24; 25) "#"
28 EXCL@[25; 26) "!" 28 BANG@[25; 26) "!"
29 L_BRACK@[26; 27) "[" 29 L_BRACK@[26; 27) "["
30 PATH@[27; 31) 30 PATH@[27; 31)
31 PATH_SEGMENT@[27; 31) 31 PATH_SEGMENT@[27; 31)
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 236)
39 WHITESPACE@[39; 40) "\n" 39 WHITESPACE@[39; 40) "\n"
40 ATTR@[40; 116) 40 ATTR@[40; 116)
41 POUND@[40; 41) "#" 41 POUND@[40; 41) "#"
42 EXCL@[41; 42) "!" 42 BANG@[41; 42) "!"
43 L_BRACK@[42; 43) "[" 43 L_BRACK@[42; 43) "["
44 PATH@[43; 47) 44 PATH@[43; 47)
45 PATH_SEGMENT@[43; 47) 45 PATH_SEGMENT@[43; 47)
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 236)
83 WHITESPACE@[116; 117) "\n" 83 WHITESPACE@[116; 117) "\n"
84 ATTR@[117; 130) 84 ATTR@[117; 130)
85 POUND@[117; 118) "#" 85 POUND@[117; 118) "#"
86 EXCL@[118; 119) "!" 86 BANG@[118; 119) "!"
87 L_BRACK@[119; 120) "[" 87 L_BRACK@[119; 120) "["
88 PATH@[120; 124) 88 PATH@[120; 124)
89 PATH_SEGMENT@[120; 124) 89 PATH_SEGMENT@[120; 124)
@@ -97,7 +97,7 @@ SOURCE_FILE@[0; 236)
97 WHITESPACE@[130; 131) "\n" 97 WHITESPACE@[130; 131) "\n"
98 ATTR@[131; 155) 98 ATTR@[131; 155)
99 POUND@[131; 132) "#" 99 POUND@[131; 132) "#"
100 EXCL@[132; 133) "!" 100 BANG@[132; 133) "!"
101 L_BRACK@[133; 134) "[" 101 L_BRACK@[133; 134) "["
102 PATH@[134; 138) 102 PATH@[134; 138)
103 PATH_SEGMENT@[134; 138) 103 PATH_SEGMENT@[134; 138)
@@ -115,7 +115,7 @@ SOURCE_FILE@[0; 236)
115 WHITESPACE@[155; 156) "\n" 115 WHITESPACE@[155; 156) "\n"
116 ATTR@[156; 173) 116 ATTR@[156; 173)
117 POUND@[156; 157) "#" 117 POUND@[156; 157) "#"
118 EXCL@[157; 158) "!" 118 BANG@[157; 158) "!"
119 L_BRACK@[158; 159) "[" 119 L_BRACK@[158; 159) "["
120 PATH@[159; 166) 120 PATH@[159; 166)
121 PATH_SEGMENT@[159; 166) 121 PATH_SEGMENT@[159; 166)
@@ -129,7 +129,7 @@ SOURCE_FILE@[0; 236)
129 WHITESPACE@[173; 174) "\n" 129 WHITESPACE@[173; 174) "\n"
130 ATTR@[174; 191) 130 ATTR@[174; 191)
131 POUND@[174; 175) "#" 131 POUND@[174; 175) "#"
132 EXCL@[175; 176) "!" 132 BANG@[175; 176) "!"
133 L_BRACK@[176; 177) "[" 133 L_BRACK@[176; 177) "["
134 PATH@[177; 181) 134 PATH@[177; 181)
135 PATH_SEGMENT@[177; 181) 135 PATH_SEGMENT@[177; 181)
@@ -143,7 +143,7 @@ SOURCE_FILE@[0; 236)
143 WHITESPACE@[191; 192) "\n" 143 WHITESPACE@[191; 192) "\n"
144 ATTR@[192; 214) 144 ATTR@[192; 214)
145 POUND@[192; 193) "#" 145 POUND@[192; 193) "#"
146 EXCL@[193; 194) "!" 146 BANG@[193; 194) "!"
147 L_BRACK@[194; 195) "[" 147 L_BRACK@[194; 195) "["
148 PATH@[195; 199) 148 PATH@[195; 199)
149 PATH_SEGMENT@[195; 199) 149 PATH_SEGMENT@[195; 199)
@@ -164,7 +164,7 @@ SOURCE_FILE@[0; 236)
164 WHITESPACE@[214; 215) "\n" 164 WHITESPACE@[214; 215) "\n"
165 ATTR@[215; 236) 165 ATTR@[215; 236)
166 POUND@[215; 216) "#" 166 POUND@[215; 216) "#"
167 EXCL@[216; 217) "!" 167 BANG@[216; 217) "!"
168 L_BRACK@[217; 218) "[" 168 L_BRACK@[217; 218) "["
169 PATH@[218; 222) 169 PATH@[218; 222)
170 PATH_SEGMENT@[218; 222) 170 PATH_SEGMENT@[218; 222)
diff --git a/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast b/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast
index 1ffa36c7e..4856b4f81 100644
--- a/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0007_extern_crate.rast
@@ -6,7 +6,7 @@ SOURCE_FILE@[0; 69)
6 WHITESPACE@[12; 13) " " 6 WHITESPACE@[12; 13) " "
7 NAME_REF@[13; 16) 7 NAME_REF@[13; 16)
8 IDENT@[13; 16) "foo" 8 IDENT@[13; 16) "foo"
9 SEMI@[16; 17) ";" 9 SEMICOLON@[16; 17) ";"
10 WHITESPACE@[17; 18) "\n" 10 WHITESPACE@[17; 18) "\n"
11 EXTERN_CRATE_ITEM@[18; 42) 11 EXTERN_CRATE_ITEM@[18; 42)
12 EXTERN_KW@[18; 24) "extern" 12 EXTERN_KW@[18; 24) "extern"
@@ -21,7 +21,7 @@ SOURCE_FILE@[0; 69)
21 WHITESPACE@[37; 38) " " 21 WHITESPACE@[37; 38) " "
22 NAME@[38; 41) 22 NAME@[38; 41)
23 IDENT@[38; 41) "bar" 23 IDENT@[38; 41) "bar"
24 SEMI@[41; 42) ";" 24 SEMICOLON@[41; 42) ";"
25 WHITESPACE@[42; 43) "\n" 25 WHITESPACE@[42; 43) "\n"
26 EXTERN_CRATE_ITEM@[43; 68) 26 EXTERN_CRATE_ITEM@[43; 68)
27 EXTERN_KW@[43; 49) "extern" 27 EXTERN_KW@[43; 49) "extern"
@@ -36,5 +36,5 @@ SOURCE_FILE@[0; 69)
36 WHITESPACE@[63; 64) " " 36 WHITESPACE@[63; 64) " "
37 NAME@[64; 67) 37 NAME@[64; 67)
38 IDENT@[64; 67) "baz" 38 IDENT@[64; 67) "baz"
39 SEMI@[67; 68) ";" 39 SEMICOLON@[67; 68) ";"
40 WHITESPACE@[68; 69) "\n" 40 WHITESPACE@[68; 69) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast
index 061019a73..1c18edd4e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast
@@ -4,7 +4,7 @@ SOURCE_FILE@[0; 118)
4 WHITESPACE@[3; 4) " " 4 WHITESPACE@[3; 4) " "
5 NAME@[4; 5) 5 NAME@[4; 5)
6 IDENT@[4; 5) "a" 6 IDENT@[4; 5) "a"
7 SEMI@[5; 6) ";" 7 SEMICOLON@[5; 6) ";"
8 WHITESPACE@[6; 8) "\n\n" 8 WHITESPACE@[6; 8) "\n\n"
9 MODULE@[8; 17) 9 MODULE@[8; 17)
10 MOD_KW@[8; 11) "mod" 10 MOD_KW@[8; 11) "mod"
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 118)
64 WHITESPACE@[74; 79) "\n " 64 WHITESPACE@[74; 79) "\n "
65 ATTR@[79; 87) 65 ATTR@[79; 87)
66 POUND@[79; 80) "#" 66 POUND@[79; 80) "#"
67 EXCL@[80; 81) "!" 67 BANG@[80; 81) "!"
68 L_BRACK@[81; 82) "[" 68 L_BRACK@[81; 82) "["
69 PATH@[82; 86) 69 PATH@[82; 86)
70 PATH_SEGMENT@[82; 86) 70 PATH_SEGMENT@[82; 86)
@@ -77,7 +77,7 @@ SOURCE_FILE@[0; 118)
77 WHITESPACE@[95; 96) " " 77 WHITESPACE@[95; 96) " "
78 NAME@[96; 97) 78 NAME@[96; 97)
79 IDENT@[96; 97) "e" 79 IDENT@[96; 97) "e"
80 SEMI@[97; 98) ";" 80 SEMICOLON@[97; 98) ";"
81 WHITESPACE@[98; 103) "\n " 81 WHITESPACE@[98; 103) "\n "
82 MODULE@[103; 116) 82 MODULE@[103; 116)
83 MOD_KW@[103; 106) "mod" 83 MOD_KW@[103; 106) "mod"
diff --git a/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast b/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast
index 41db9dbb7..62a8ae433 100644
--- a/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0009_use_item.rast
@@ -7,7 +7,7 @@ SOURCE_FILE@[0; 19)
7 PATH_SEGMENT@[4; 7) 7 PATH_SEGMENT@[4; 7)
8 NAME_REF@[4; 7) 8 NAME_REF@[4; 7)
9 IDENT@[4; 7) "foo" 9 IDENT@[4; 7) "foo"
10 SEMI@[7; 8) ";" 10 SEMICOLON@[7; 8) ";"
11 WHITESPACE@[8; 9) "\n" 11 WHITESPACE@[8; 9) "\n"
12 USE_ITEM@[9; 19) 12 USE_ITEM@[9; 19)
13 USE_KW@[9; 12) "use" 13 USE_KW@[9; 12) "use"
@@ -15,7 +15,7 @@ SOURCE_FILE@[0; 19)
15 USE_TREE@[13; 18) 15 USE_TREE@[13; 18)
16 PATH@[13; 18) 16 PATH@[13; 18)
17 PATH_SEGMENT@[13; 18) 17 PATH_SEGMENT@[13; 18)
18 COLONCOLON@[13; 15) "::" 18 COLON2@[13; 15) "::"
19 NAME_REF@[15; 18) 19 NAME_REF@[15; 18)
20 IDENT@[15; 18) "bar" 20 IDENT@[15; 18) "bar"
21 SEMI@[18; 19) ";" 21 SEMICOLON@[18; 19) ";"
diff --git a/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast b/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast
index 09871b84d..f2689e1ed 100644
--- a/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0010_use_path_segments.rast
@@ -7,18 +7,18 @@ SOURCE_FILE@[0; 40)
7 PATH@[4; 14) 7 PATH@[4; 14)
8 PATH@[4; 9) 8 PATH@[4; 9)
9 PATH_SEGMENT@[4; 9) 9 PATH_SEGMENT@[4; 9)
10 COLONCOLON@[4; 6) "::" 10 COLON2@[4; 6) "::"
11 NAME_REF@[6; 9) 11 NAME_REF@[6; 9)
12 IDENT@[6; 9) "foo" 12 IDENT@[6; 9) "foo"
13 COLONCOLON@[9; 11) "::" 13 COLON2@[9; 11) "::"
14 PATH_SEGMENT@[11; 14) 14 PATH_SEGMENT@[11; 14)
15 NAME_REF@[11; 14) 15 NAME_REF@[11; 14)
16 IDENT@[11; 14) "bar" 16 IDENT@[11; 14) "bar"
17 COLONCOLON@[14; 16) "::" 17 COLON2@[14; 16) "::"
18 PATH_SEGMENT@[16; 19) 18 PATH_SEGMENT@[16; 19)
19 NAME_REF@[16; 19) 19 NAME_REF@[16; 19)
20 IDENT@[16; 19) "baz" 20 IDENT@[16; 19) "baz"
21 SEMI@[19; 20) ";" 21 SEMICOLON@[19; 20) ";"
22 WHITESPACE@[20; 21) "\n" 22 WHITESPACE@[20; 21) "\n"
23 USE_ITEM@[21; 39) 23 USE_ITEM@[21; 39)
24 USE_KW@[21; 24) "use" 24 USE_KW@[21; 24) "use"
@@ -30,13 +30,13 @@ SOURCE_FILE@[0; 40)
30 PATH_SEGMENT@[25; 28) 30 PATH_SEGMENT@[25; 28)
31 NAME_REF@[25; 28) 31 NAME_REF@[25; 28)
32 IDENT@[25; 28) "foo" 32 IDENT@[25; 28) "foo"
33 COLONCOLON@[28; 30) "::" 33 COLON2@[28; 30) "::"
34 PATH_SEGMENT@[30; 33) 34 PATH_SEGMENT@[30; 33)
35 NAME_REF@[30; 33) 35 NAME_REF@[30; 33)
36 IDENT@[30; 33) "bar" 36 IDENT@[30; 33) "bar"
37 COLONCOLON@[33; 35) "::" 37 COLON2@[33; 35) "::"
38 PATH_SEGMENT@[35; 38) 38 PATH_SEGMENT@[35; 38)
39 NAME_REF@[35; 38) 39 NAME_REF@[35; 38)
40 IDENT@[35; 38) "baz" 40 IDENT@[35; 38) "baz"
41 SEMI@[38; 39) ";" 41 SEMICOLON@[38; 39) ";"
42 WHITESPACE@[39; 40) "\n" 42 WHITESPACE@[39; 40) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast
index f7aa8afe4..4426d586a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast
@@ -54,5 +54,5 @@ SOURCE_FILE@[0; 60)
54 WHITESPACE@[56; 57) " " 54 WHITESPACE@[56; 57) " "
55 NAME@[57; 58) 55 NAME@[57; 58)
56 IDENT@[57; 58) "b" 56 IDENT@[57; 58) "b"
57 SEMI@[58; 59) ";" 57 SEMICOLON@[58; 59) ";"
58 WHITESPACE@[59; 60) "\n" 58 WHITESPACE@[59; 60) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast b/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast
index 68e692fd0..c76cf9fe9 100644
--- a/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast
@@ -82,11 +82,11 @@ SOURCE_FILE@[0; 98)
82 PATH_SEGMENT@[73; 76) 82 PATH_SEGMENT@[73; 76)
83 NAME_REF@[73; 76) 83 NAME_REF@[73; 76)
84 IDENT@[73; 76) "foo" 84 IDENT@[73; 76) "foo"
85 COLONCOLON@[76; 78) "::" 85 COLON2@[76; 78) "::"
86 PATH_SEGMENT@[78; 81) 86 PATH_SEGMENT@[78; 81)
87 NAME_REF@[78; 81) 87 NAME_REF@[78; 81)
88 IDENT@[78; 81) "bar" 88 IDENT@[78; 81) "bar"
89 COLONCOLON@[81; 83) "::" 89 COLON2@[81; 83) "::"
90 PATH_SEGMENT@[83; 86) 90 PATH_SEGMENT@[83; 86)
91 NAME_REF@[83; 86) 91 NAME_REF@[83; 86)
92 IDENT@[83; 86) "baz" 92 IDENT@[83; 86) "baz"
diff --git a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast
index 50730e958..552cb3daf 100644
--- a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast
@@ -7,11 +7,11 @@ SOURCE_FILE@[0; 65)
7 PATH@[4; 8) 7 PATH@[4; 8)
8 PATH_SEGMENT@[4; 8) 8 PATH_SEGMENT@[4; 8)
9 SELF_KW@[4; 8) "self" 9 SELF_KW@[4; 8) "self"
10 COLONCOLON@[8; 10) "::" 10 COLON2@[8; 10) "::"
11 PATH_SEGMENT@[10; 13) 11 PATH_SEGMENT@[10; 13)
12 NAME_REF@[10; 13) 12 NAME_REF@[10; 13)
13 IDENT@[10; 13) "foo" 13 IDENT@[10; 13) "foo"
14 SEMI@[13; 14) ";" 14 SEMICOLON@[13; 14) ";"
15 WHITESPACE@[14; 15) "\n" 15 WHITESPACE@[14; 15) "\n"
16 USE_ITEM@[15; 37) 16 USE_ITEM@[15; 37)
17 USE_KW@[15; 18) "use" 17 USE_KW@[15; 18) "use"
@@ -22,14 +22,14 @@ SOURCE_FILE@[0; 65)
22 PATH@[19; 24) 22 PATH@[19; 24)
23 PATH_SEGMENT@[19; 24) 23 PATH_SEGMENT@[19; 24)
24 SUPER_KW@[19; 24) "super" 24 SUPER_KW@[19; 24) "super"
25 COLONCOLON@[24; 26) "::" 25 COLON2@[24; 26) "::"
26 PATH_SEGMENT@[26; 31) 26 PATH_SEGMENT@[26; 31)
27 SUPER_KW@[26; 31) "super" 27 SUPER_KW@[26; 31) "super"
28 COLONCOLON@[31; 33) "::" 28 COLON2@[31; 33) "::"
29 PATH_SEGMENT@[33; 36) 29 PATH_SEGMENT@[33; 36)
30 NAME_REF@[33; 36) 30 NAME_REF@[33; 36)
31 IDENT@[33; 36) "bar" 31 IDENT@[33; 36) "bar"
32 SEMI@[36; 37) ";" 32 SEMICOLON@[36; 37) ";"
33 WHITESPACE@[37; 38) "\n" 33 WHITESPACE@[37; 38) "\n"
34 USE_ITEM@[38; 64) 34 USE_ITEM@[38; 64)
35 USE_KW@[38; 41) "use" 35 USE_KW@[38; 41) "use"
@@ -40,18 +40,18 @@ SOURCE_FILE@[0; 65)
40 PATH@[42; 51) 40 PATH@[42; 51)
41 PATH@[42; 48) 41 PATH@[42; 48)
42 PATH_SEGMENT@[42; 48) 42 PATH_SEGMENT@[42; 48)
43 COLONCOLON@[42; 44) "::" 43 COLON2@[42; 44) "::"
44 SELF_KW@[44; 48) "self" 44 SELF_KW@[44; 48) "self"
45 COLONCOLON@[48; 50) "::" 45 COLON2@[48; 50) "::"
46 PATH_SEGMENT@[50; 51) 46 PATH_SEGMENT@[50; 51)
47 NAME_REF@[50; 51) 47 NAME_REF@[50; 51)
48 IDENT@[50; 51) "a" 48 IDENT@[50; 51) "a"
49 COLONCOLON@[51; 53) "::" 49 COLON2@[51; 53) "::"
50 PATH_SEGMENT@[53; 58) 50 PATH_SEGMENT@[53; 58)
51 SUPER_KW@[53; 58) "super" 51 SUPER_KW@[53; 58) "super"
52 COLONCOLON@[58; 60) "::" 52 COLON2@[58; 60) "::"
53 PATH_SEGMENT@[60; 63) 53 PATH_SEGMENT@[60; 63)
54 NAME_REF@[60; 63) 54 NAME_REF@[60; 63)
55 IDENT@[60; 63) "bar" 55 IDENT@[60; 63) "bar"
56 SEMI@[63; 64) ";" 56 SEMICOLON@[63; 64) ";"
57 WHITESPACE@[64; 65) "\n" 57 WHITESPACE@[64; 65) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast b/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast
index 3fe34d001..49a68e881 100644
--- a/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0014_use_tree.rast
@@ -4,25 +4,25 @@ SOURCE_FILE@[0; 81)
4 WHITESPACE@[3; 4) " " 4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 5) 5 USE_TREE@[4; 5)
6 STAR@[4; 5) "*" 6 STAR@[4; 5) "*"
7 SEMI@[5; 6) ";" 7 SEMICOLON@[5; 6) ";"
8 WHITESPACE@[6; 7) "\n" 8 WHITESPACE@[6; 7) "\n"
9 USE_ITEM@[7; 15) 9 USE_ITEM@[7; 15)
10 USE_KW@[7; 10) "use" 10 USE_KW@[7; 10) "use"
11 WHITESPACE@[10; 11) " " 11 WHITESPACE@[10; 11) " "
12 USE_TREE@[11; 14) 12 USE_TREE@[11; 14)
13 COLONCOLON@[11; 13) "::" 13 COLON2@[11; 13) "::"
14 STAR@[13; 14) "*" 14 STAR@[13; 14) "*"
15 SEMI@[14; 15) ";" 15 SEMICOLON@[14; 15) ";"
16 WHITESPACE@[15; 16) "\n" 16 WHITESPACE@[15; 16) "\n"
17 USE_ITEM@[16; 25) 17 USE_ITEM@[16; 25)
18 USE_KW@[16; 19) "use" 18 USE_KW@[16; 19) "use"
19 WHITESPACE@[19; 20) " " 19 WHITESPACE@[19; 20) " "
20 USE_TREE@[20; 24) 20 USE_TREE@[20; 24)
21 COLONCOLON@[20; 22) "::" 21 COLON2@[20; 22) "::"
22 USE_TREE_LIST@[22; 24) 22 USE_TREE_LIST@[22; 24)
23 L_CURLY@[22; 23) "{" 23 L_CURLY@[22; 23) "{"
24 R_CURLY@[23; 24) "}" 24 R_CURLY@[23; 24) "}"
25 SEMI@[24; 25) ";" 25 SEMICOLON@[24; 25) ";"
26 WHITESPACE@[25; 26) "\n" 26 WHITESPACE@[25; 26) "\n"
27 USE_ITEM@[26; 33) 27 USE_ITEM@[26; 33)
28 USE_KW@[26; 29) "use" 28 USE_KW@[26; 29) "use"
@@ -31,7 +31,7 @@ SOURCE_FILE@[0; 81)
31 USE_TREE_LIST@[30; 32) 31 USE_TREE_LIST@[30; 32)
32 L_CURLY@[30; 31) "{" 32 L_CURLY@[30; 31) "{"
33 R_CURLY@[31; 32) "}" 33 R_CURLY@[31; 32) "}"
34 SEMI@[32; 33) ";" 34 SEMICOLON@[32; 33) ";"
35 WHITESPACE@[33; 34) "\n" 35 WHITESPACE@[33; 34) "\n"
36 USE_ITEM@[34; 45) 36 USE_ITEM@[34; 45)
37 USE_KW@[34; 37) "use" 37 USE_KW@[34; 37) "use"
@@ -41,9 +41,9 @@ SOURCE_FILE@[0; 81)
41 PATH_SEGMENT@[38; 41) 41 PATH_SEGMENT@[38; 41)
42 NAME_REF@[38; 41) 42 NAME_REF@[38; 41)
43 IDENT@[38; 41) "foo" 43 IDENT@[38; 41) "foo"
44 COLONCOLON@[41; 43) "::" 44 COLON2@[41; 43) "::"
45 STAR@[43; 44) "*" 45 STAR@[43; 44) "*"
46 SEMI@[44; 45) ";" 46 SEMICOLON@[44; 45) ";"
47 WHITESPACE@[45; 46) "\n" 47 WHITESPACE@[45; 46) "\n"
48 USE_ITEM@[46; 58) 48 USE_ITEM@[46; 58)
49 USE_KW@[46; 49) "use" 49 USE_KW@[46; 49) "use"
@@ -53,11 +53,11 @@ SOURCE_FILE@[0; 81)
53 PATH_SEGMENT@[50; 53) 53 PATH_SEGMENT@[50; 53)
54 NAME_REF@[50; 53) 54 NAME_REF@[50; 53)
55 IDENT@[50; 53) "foo" 55 IDENT@[50; 53) "foo"
56 COLONCOLON@[53; 55) "::" 56 COLON2@[53; 55) "::"
57 USE_TREE_LIST@[55; 57) 57 USE_TREE_LIST@[55; 57)
58 L_CURLY@[55; 56) "{" 58 L_CURLY@[55; 56) "{"
59 R_CURLY@[56; 57) "}" 59 R_CURLY@[56; 57) "}"
60 SEMI@[57; 58) ";" 60 SEMICOLON@[57; 58) ";"
61 WHITESPACE@[58; 59) "\n" 61 WHITESPACE@[58; 59) "\n"
62 USE_ITEM@[59; 80) 62 USE_ITEM@[59; 80)
63 USE_KW@[59; 62) "use" 63 USE_KW@[59; 62) "use"
@@ -65,10 +65,10 @@ SOURCE_FILE@[0; 81)
65 USE_TREE@[63; 79) 65 USE_TREE@[63; 79)
66 PATH@[63; 68) 66 PATH@[63; 68)
67 PATH_SEGMENT@[63; 68) 67 PATH_SEGMENT@[63; 68)
68 COLONCOLON@[63; 65) "::" 68 COLON2@[63; 65) "::"
69 NAME_REF@[65; 68) 69 NAME_REF@[65; 68)
70 IDENT@[65; 68) "foo" 70 IDENT@[65; 68) "foo"
71 COLONCOLON@[68; 70) "::" 71 COLON2@[68; 70) "::"
72 USE_TREE_LIST@[70; 79) 72 USE_TREE_LIST@[70; 79)
73 L_CURLY@[70; 71) "{" 73 L_CURLY@[70; 71) "{"
74 USE_TREE@[71; 72) 74 USE_TREE@[71; 72)
@@ -91,5 +91,5 @@ SOURCE_FILE@[0; 81)
91 NAME_REF@[77; 78) 91 NAME_REF@[77; 78)
92 IDENT@[77; 78) "c" 92 IDENT@[77; 78) "c"
93 R_CURLY@[78; 79) "}" 93 R_CURLY@[78; 79) "}"
94 SEMI@[79; 80) ";" 94 SEMICOLON@[79; 80) ";"
95 WHITESPACE@[80; 81) "\n" 95 WHITESPACE@[80; 81) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast b/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast
index e63f14253..719ac98ef 100644
--- a/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0015_use_tree.rast
@@ -13,7 +13,7 @@ SOURCE_FILE@[0; 55)
13 WHITESPACE@[10; 11) " " 13 WHITESPACE@[10; 11) " "
14 NAME@[11; 14) 14 NAME@[11; 14)
15 IDENT@[11; 14) "bar" 15 IDENT@[11; 14) "bar"
16 SEMI@[14; 15) ";" 16 SEMICOLON@[14; 15) ";"
17 WHITESPACE@[15; 16) "\n" 17 WHITESPACE@[15; 16) "\n"
18 USE_ITEM@[16; 54) 18 USE_ITEM@[16; 54)
19 USE_KW@[16; 19) "use" 19 USE_KW@[16; 19) "use"
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 55)
23 PATH_SEGMENT@[20; 23) 23 PATH_SEGMENT@[20; 23)
24 NAME_REF@[20; 23) 24 NAME_REF@[20; 23)
25 IDENT@[20; 23) "foo" 25 IDENT@[20; 23) "foo"
26 COLONCOLON@[23; 25) "::" 26 COLON2@[23; 25) "::"
27 USE_TREE_LIST@[25; 53) 27 USE_TREE_LIST@[25; 53)
28 L_CURLY@[25; 26) "{" 28 L_CURLY@[25; 26) "{"
29 USE_TREE@[26; 32) 29 USE_TREE@[26; 32)
@@ -44,14 +44,14 @@ SOURCE_FILE@[0; 55)
44 COMMA@[35; 36) "," 44 COMMA@[35; 36) ","
45 WHITESPACE@[36; 37) " " 45 WHITESPACE@[36; 37) " "
46 USE_TREE@[37; 40) 46 USE_TREE@[37; 40)
47 COLONCOLON@[37; 39) "::" 47 COLON2@[37; 39) "::"
48 STAR@[39; 40) "*" 48 STAR@[39; 40) "*"
49 COMMA@[40; 41) "," 49 COMMA@[40; 41) ","
50 WHITESPACE@[41; 42) " " 50 WHITESPACE@[41; 42) " "
51 USE_TREE@[42; 52) 51 USE_TREE@[42; 52)
52 PATH@[42; 47) 52 PATH@[42; 47)
53 PATH_SEGMENT@[42; 47) 53 PATH_SEGMENT@[42; 47)
54 COLONCOLON@[42; 44) "::" 54 COLON2@[42; 44) "::"
55 NAME_REF@[44; 47) 55 NAME_REF@[44; 47)
56 IDENT@[44; 47) "foo" 56 IDENT@[44; 47) "foo"
57 WHITESPACE@[47; 48) " " 57 WHITESPACE@[47; 48) " "
@@ -61,5 +61,5 @@ SOURCE_FILE@[0; 55)
61 NAME@[51; 52) 61 NAME@[51; 52)
62 IDENT@[51; 52) "x" 62 IDENT@[51; 52) "x"
63 R_CURLY@[52; 53) "}" 63 R_CURLY@[52; 53) "}"
64 SEMI@[53; 54) ";" 64 SEMICOLON@[53; 54) ";"
65 WHITESPACE@[54; 55) "\n" 65 WHITESPACE@[54; 55) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast b/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast
index 3fbd14d7b..f4739451e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0016_struct_flavors.rast
@@ -4,7 +4,7 @@ SOURCE_FILE@[0; 97)
4 WHITESPACE@[6; 7) " " 4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8) 5 NAME@[7; 8)
6 IDENT@[7; 8) "A" 6 IDENT@[7; 8) "A"
7 SEMI@[8; 9) ";" 7 SEMICOLON@[8; 9) ";"
8 WHITESPACE@[9; 10) "\n" 8 WHITESPACE@[9; 10) "\n"
9 STRUCT_DEF@[10; 21) 9 STRUCT_DEF@[10; 21)
10 STRUCT_KW@[10; 16) "struct" 10 STRUCT_KW@[10; 16) "struct"
@@ -24,7 +24,7 @@ SOURCE_FILE@[0; 97)
24 TUPLE_FIELD_DEF_LIST@[30; 32) 24 TUPLE_FIELD_DEF_LIST@[30; 32)
25 L_PAREN@[30; 31) "(" 25 L_PAREN@[30; 31) "("
26 R_PAREN@[31; 32) ")" 26 R_PAREN@[31; 32) ")"
27 SEMI@[32; 33) ";" 27 SEMICOLON@[32; 33) ";"
28 WHITESPACE@[33; 35) "\n\n" 28 WHITESPACE@[33; 35) "\n\n"
29 STRUCT_DEF@[35; 74) 29 STRUCT_DEF@[35; 74)
30 STRUCT_KW@[35; 41) "struct" 30 STRUCT_KW@[35; 41) "struct"
@@ -89,5 +89,5 @@ SOURCE_FILE@[0; 97)
89 IDENT@[92; 93) "y" 89 IDENT@[92; 93) "y"
90 COMMA@[93; 94) "," 90 COMMA@[93; 94) ","
91 R_PAREN@[94; 95) ")" 91 R_PAREN@[94; 95) ")"
92 SEMI@[95; 96) ";" 92 SEMICOLON@[95; 96) ";"
93 WHITESPACE@[96; 97) "\n" 93 WHITESPACE@[96; 97) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast b/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast
index 1e4e58dd3..5e859ef29 100644
--- a/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0018_struct_type_params.rast
@@ -10,7 +10,7 @@ SOURCE_FILE@[0; 290)
10 NAME@[10; 11) 10 NAME@[10; 11)
11 IDENT@[10; 11) "T" 11 IDENT@[10; 11) "T"
12 R_ANGLE@[11; 12) ">" 12 R_ANGLE@[11; 12) ">"
13 SEMI@[12; 13) ";" 13 SEMICOLON@[12; 13) ";"
14 WHITESPACE@[13; 14) "\n" 14 WHITESPACE@[13; 14) "\n"
15 STRUCT_DEF@[14; 32) 15 STRUCT_DEF@[14; 32)
16 STRUCT_KW@[14; 20) "struct" 16 STRUCT_KW@[14; 20) "struct"
@@ -32,7 +32,7 @@ SOURCE_FILE@[0; 290)
32 NAME_REF@[27; 30) 32 NAME_REF@[27; 30)
33 IDENT@[27; 30) "u32" 33 IDENT@[27; 30) "u32"
34 R_PAREN@[30; 31) ")" 34 R_PAREN@[30; 31) ")"
35 SEMI@[31; 32) ";" 35 SEMICOLON@[31; 32) ";"
36 WHITESPACE@[32; 33) "\n" 36 WHITESPACE@[32; 33) "\n"
37 STRUCT_DEF@[33; 56) 37 STRUCT_DEF@[33; 56)
38 STRUCT_KW@[33; 39) "struct" 38 STRUCT_KW@[33; 39) "struct"
@@ -70,7 +70,7 @@ SOURCE_FILE@[0; 290)
70 TYPE_PARAM_LIST@[67; 69) 70 TYPE_PARAM_LIST@[67; 69)
71 L_ANGLE@[67; 68) "<" 71 L_ANGLE@[67; 68) "<"
72 R_ANGLE@[68; 69) ">" 72 R_ANGLE@[68; 69) ">"
73 SEMI@[69; 70) ";" 73 SEMICOLON@[69; 70) ";"
74 WHITESPACE@[70; 71) "\n" 74 WHITESPACE@[70; 71) "\n"
75 STRUCT_DEF@[71; 85) 75 STRUCT_DEF@[71; 85)
76 STRUCT_KW@[71; 77) "struct" 76 STRUCT_KW@[71; 77) "struct"
@@ -82,7 +82,7 @@ SOURCE_FILE@[0; 290)
82 LIFETIME_PARAM@[81; 83) 82 LIFETIME_PARAM@[81; 83)
83 LIFETIME@[81; 83) "\'a" 83 LIFETIME@[81; 83) "\'a"
84 R_ANGLE@[83; 84) ">" 84 R_ANGLE@[83; 84) ">"
85 SEMI@[84; 85) ";" 85 SEMICOLON@[84; 85) ";"
86 WHITESPACE@[85; 86) "\n" 86 WHITESPACE@[85; 86) "\n"
87 STRUCT_DEF@[86; 101) 87 STRUCT_DEF@[86; 101)
88 STRUCT_KW@[86; 92) "struct" 88 STRUCT_KW@[86; 92) "struct"
@@ -95,7 +95,7 @@ SOURCE_FILE@[0; 290)
95 LIFETIME@[96; 98) "\'a" 95 LIFETIME@[96; 98) "\'a"
96 COLON@[98; 99) ":" 96 COLON@[98; 99) ":"
97 R_ANGLE@[99; 100) ">" 97 R_ANGLE@[99; 100) ">"
98 SEMI@[100; 101) ";" 98 SEMICOLON@[100; 101) ";"
99 WHITESPACE@[101; 102) "\n" 99 WHITESPACE@[101; 102) "\n"
100 STRUCT_DEF@[102; 120) 100 STRUCT_DEF@[102; 120)
101 STRUCT_KW@[102; 108) "struct" 101 STRUCT_KW@[102; 108) "struct"
@@ -110,7 +110,7 @@ SOURCE_FILE@[0; 290)
110 WHITESPACE@[115; 116) " " 110 WHITESPACE@[115; 116) " "
111 LIFETIME@[116; 118) "\'b" 111 LIFETIME@[116; 118) "\'b"
112 R_ANGLE@[118; 119) ">" 112 R_ANGLE@[118; 119) ">"
113 SEMI@[119; 120) ";" 113 SEMICOLON@[119; 120) ";"
114 WHITESPACE@[120; 121) "\n" 114 WHITESPACE@[120; 121) "\n"
115 STRUCT_DEF@[121; 142) 115 STRUCT_DEF@[121; 142)
116 STRUCT_KW@[121; 127) "struct" 116 STRUCT_KW@[121; 127) "struct"
@@ -128,7 +128,7 @@ SOURCE_FILE@[0; 290)
128 PLUS@[138; 139) "+" 128 PLUS@[138; 139) "+"
129 WHITESPACE@[139; 140) " " 129 WHITESPACE@[139; 140) " "
130 R_ANGLE@[140; 141) ">" 130 R_ANGLE@[140; 141) ">"
131 SEMI@[141; 142) ";" 131 SEMICOLON@[141; 142) ";"
132 WHITESPACE@[142; 143) "\n" 132 WHITESPACE@[142; 143) "\n"
133 STRUCT_DEF@[143; 166) 133 STRUCT_DEF@[143; 166)
134 STRUCT_KW@[143; 149) "struct" 134 STRUCT_KW@[143; 149) "struct"
@@ -147,7 +147,7 @@ SOURCE_FILE@[0; 290)
147 WHITESPACE@[161; 162) " " 147 WHITESPACE@[161; 162) " "
148 LIFETIME@[162; 164) "\'c" 148 LIFETIME@[162; 164) "\'c"
149 R_ANGLE@[164; 165) ">" 149 R_ANGLE@[164; 165) ">"
150 SEMI@[165; 166) ";" 150 SEMICOLON@[165; 166) ";"
151 WHITESPACE@[166; 167) "\n" 151 WHITESPACE@[166; 167) "\n"
152 STRUCT_DEF@[167; 183) 152 STRUCT_DEF@[167; 183)
153 STRUCT_KW@[167; 173) "struct" 153 STRUCT_KW@[167; 173) "struct"
@@ -160,7 +160,7 @@ SOURCE_FILE@[0; 290)
160 LIFETIME@[178; 180) "\'a" 160 LIFETIME@[178; 180) "\'a"
161 COMMA@[180; 181) "," 161 COMMA@[180; 181) ","
162 R_ANGLE@[181; 182) ">" 162 R_ANGLE@[181; 182) ">"
163 SEMI@[182; 183) ";" 163 SEMICOLON@[182; 183) ";"
164 WHITESPACE@[183; 184) "\n" 164 WHITESPACE@[183; 184) "\n"
165 STRUCT_DEF@[184; 203) 165 STRUCT_DEF@[184; 203)
166 STRUCT_KW@[184; 190) "struct" 166 STRUCT_KW@[184; 190) "struct"
@@ -176,7 +176,7 @@ SOURCE_FILE@[0; 290)
176 LIFETIME_PARAM@[199; 201) 176 LIFETIME_PARAM@[199; 201)
177 LIFETIME@[199; 201) "\'b" 177 LIFETIME@[199; 201) "\'b"
178 R_ANGLE@[201; 202) ">" 178 R_ANGLE@[201; 202) ">"
179 SEMI@[202; 203) ";" 179 SEMICOLON@[202; 203) ";"
180 WHITESPACE@[203; 204) "\n" 180 WHITESPACE@[203; 204) "\n"
181 STRUCT_DEF@[204; 233) 181 STRUCT_DEF@[204; 233)
182 STRUCT_KW@[204; 210) "struct" 182 STRUCT_KW@[204; 210) "struct"
@@ -200,7 +200,7 @@ SOURCE_FILE@[0; 290)
200 LIFETIME@[228; 230) "\'c" 200 LIFETIME@[228; 230) "\'c"
201 COMMA@[230; 231) "," 201 COMMA@[230; 231) ","
202 R_ANGLE@[231; 232) ">" 202 R_ANGLE@[231; 232) ">"
203 SEMI@[232; 233) ";" 203 SEMICOLON@[232; 233) ";"
204 WHITESPACE@[233; 235) "\n\n" 204 WHITESPACE@[233; 235) "\n\n"
205 STRUCT_DEF@[235; 249) 205 STRUCT_DEF@[235; 249)
206 STRUCT_KW@[235; 241) "struct" 206 STRUCT_KW@[235; 241) "struct"
@@ -213,7 +213,7 @@ SOURCE_FILE@[0; 290)
213 NAME@[246; 247) 213 NAME@[246; 247)
214 IDENT@[246; 247) "T" 214 IDENT@[246; 247) "T"
215 R_ANGLE@[247; 248) ">" 215 R_ANGLE@[247; 248) ">"
216 SEMI@[248; 249) ";" 216 SEMICOLON@[248; 249) ";"
217 WHITESPACE@[249; 250) "\n" 217 WHITESPACE@[249; 250) "\n"
218 STRUCT_DEF@[250; 267) 218 STRUCT_DEF@[250; 267)
219 STRUCT_KW@[250; 256) "struct" 219 STRUCT_KW@[250; 256) "struct"
@@ -231,7 +231,7 @@ SOURCE_FILE@[0; 290)
231 NAME@[264; 265) 231 NAME@[264; 265)
232 IDENT@[264; 265) "U" 232 IDENT@[264; 265) "U"
233 R_ANGLE@[265; 266) ">" 233 R_ANGLE@[265; 266) ">"
234 SEMI@[266; 267) ";" 234 SEMICOLON@[266; 267) ";"
235 WHITESPACE@[267; 268) "\n" 235 WHITESPACE@[267; 268) "\n"
236 STRUCT_DEF@[268; 289) 236 STRUCT_DEF@[268; 289)
237 STRUCT_KW@[268; 274) "struct" 237 STRUCT_KW@[268; 274) "struct"
@@ -253,5 +253,5 @@ SOURCE_FILE@[0; 290)
253 NAME@[286; 287) 253 NAME@[286; 287)
254 IDENT@[286; 287) "U" 254 IDENT@[286; 287) "U"
255 R_ANGLE@[287; 288) ">" 255 R_ANGLE@[287; 288) ">"
256 SEMI@[288; 289) ";" 256 SEMICOLON@[288; 289) ";"
257 WHITESPACE@[289; 290) "\n" 257 WHITESPACE@[289; 290) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
index 18a5fd784..edacc4bd9 100644
--- a/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0020_type_param_bounds.rast
@@ -10,7 +10,7 @@ SOURCE_FILE@[0; 250)
10 NAME@[9; 10) 10 NAME@[9; 10)
11 IDENT@[9; 10) "T" 11 IDENT@[9; 10) "T"
12 R_ANGLE@[10; 11) ">" 12 R_ANGLE@[10; 11) ">"
13 SEMI@[11; 12) ";" 13 SEMICOLON@[11; 12) ";"
14 WHITESPACE@[12; 13) "\n" 14 WHITESPACE@[12; 13) "\n"
15 STRUCT_DEF@[13; 26) 15 STRUCT_DEF@[13; 26)
16 STRUCT_KW@[13; 19) "struct" 16 STRUCT_KW@[13; 19) "struct"
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 250)
25 COLON@[23; 24) ":" 25 COLON@[23; 24) ":"
26 TYPE_BOUND_LIST@[24; 24) 26 TYPE_BOUND_LIST@[24; 24)
27 R_ANGLE@[24; 25) ">" 27 R_ANGLE@[24; 25) ">"
28 SEMI@[25; 26) ";" 28 SEMICOLON@[25; 26) ";"
29 WHITESPACE@[26; 27) "\n" 29 WHITESPACE@[26; 27) "\n"
30 STRUCT_DEF@[27; 43) 30 STRUCT_DEF@[27; 43)
31 STRUCT_KW@[27; 33) "struct" 31 STRUCT_KW@[27; 33) "struct"
@@ -43,7 +43,7 @@ SOURCE_FILE@[0; 250)
43 TYPE_BOUND@[39; 41) 43 TYPE_BOUND@[39; 41)
44 LIFETIME@[39; 41) "\'a" 44 LIFETIME@[39; 41) "\'a"
45 R_ANGLE@[41; 42) ">" 45 R_ANGLE@[41; 42) ">"
46 SEMI@[42; 43) ";" 46 SEMICOLON@[42; 43) ";"
47 WHITESPACE@[43; 44) "\n" 47 WHITESPACE@[43; 44) "\n"
48 STRUCT_DEF@[44; 63) 48 STRUCT_DEF@[44; 63)
49 STRUCT_KW@[44; 50) "struct" 49 STRUCT_KW@[44; 50) "struct"
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 250)
64 PLUS@[59; 60) "+" 64 PLUS@[59; 60) "+"
65 WHITESPACE@[60; 61) " " 65 WHITESPACE@[60; 61) " "
66 R_ANGLE@[61; 62) ">" 66 R_ANGLE@[61; 62) ">"
67 SEMI@[62; 63) ";" 67 SEMICOLON@[62; 63) ";"
68 WHITESPACE@[63; 64) "\n" 68 WHITESPACE@[63; 64) "\n"
69 STRUCT_DEF@[64; 86) 69 STRUCT_DEF@[64; 86)
70 STRUCT_KW@[64; 70) "struct" 70 STRUCT_KW@[64; 70) "struct"
@@ -88,7 +88,7 @@ SOURCE_FILE@[0; 250)
88 LIFETIME@[81; 83) "\'d" 88 LIFETIME@[81; 83) "\'d"
89 WHITESPACE@[83; 84) " " 89 WHITESPACE@[83; 84) " "
90 R_ANGLE@[84; 85) ">" 90 R_ANGLE@[84; 85) ">"
91 SEMI@[85; 86) ";" 91 SEMICOLON@[85; 86) ";"
92 WHITESPACE@[86; 87) "\n" 92 WHITESPACE@[86; 87) "\n"
93 STRUCT_DEF@[87; 116) 93 STRUCT_DEF@[87; 116)
94 STRUCT_KW@[87; 93) "struct" 94 STRUCT_KW@[87; 93) "struct"
@@ -120,7 +120,7 @@ SOURCE_FILE@[0; 250)
120 NAME_REF@[109; 114) 120 NAME_REF@[109; 114)
121 IDENT@[109; 114) "Clone" 121 IDENT@[109; 114) "Clone"
122 R_ANGLE@[114; 115) ">" 122 R_ANGLE@[114; 115) ">"
123 SEMI@[115; 116) ";" 123 SEMICOLON@[115; 116) ";"
124 WHITESPACE@[116; 117) "\n" 124 WHITESPACE@[116; 117) "\n"
125 STRUCT_DEF@[117; 143) 125 STRUCT_DEF@[117; 143)
126 STRUCT_KW@[117; 123) "struct" 126 STRUCT_KW@[117; 123) "struct"
@@ -151,7 +151,7 @@ SOURCE_FILE@[0; 250)
151 NAME_REF@[137; 141) 151 NAME_REF@[137; 141)
152 IDENT@[137; 141) "Copy" 152 IDENT@[137; 141) "Copy"
153 R_ANGLE@[141; 142) ">" 153 R_ANGLE@[141; 142) ">"
154 SEMI@[142; 143) ";" 154 SEMICOLON@[142; 143) ";"
155 WHITESPACE@[143; 144) "\n" 155 WHITESPACE@[143; 144) "\n"
156 STRUCT_DEF@[144; 180) 156 STRUCT_DEF@[144; 180)
157 STRUCT_KW@[144; 150) "struct" 157 STRUCT_KW@[144; 150) "struct"
@@ -170,7 +170,7 @@ SOURCE_FILE@[0; 250)
170 PATH_TYPE@[156; 161) 170 PATH_TYPE@[156; 161)
171 PATH@[156; 161) 171 PATH@[156; 161)
172 PATH_SEGMENT@[156; 161) 172 PATH_SEGMENT@[156; 161)
173 COLONCOLON@[156; 158) "::" 173 COLON2@[156; 158) "::"
174 NAME_REF@[158; 161) 174 NAME_REF@[158; 161)
175 IDENT@[158; 161) "Foo" 175 IDENT@[158; 161) "Foo"
176 WHITESPACE@[161; 162) " " 176 WHITESPACE@[161; 162) " "
@@ -182,7 +182,7 @@ SOURCE_FILE@[0; 250)
182 PATH@[164; 168) 182 PATH@[164; 168)
183 PATH_SEGMENT@[164; 168) 183 PATH_SEGMENT@[164; 168)
184 SELF_KW@[164; 168) "self" 184 SELF_KW@[164; 168) "self"
185 COLONCOLON@[168; 170) "::" 185 COLON2@[168; 170) "::"
186 PATH_SEGMENT@[170; 173) 186 PATH_SEGMENT@[170; 173)
187 NAME_REF@[170; 173) 187 NAME_REF@[170; 173)
188 IDENT@[170; 173) "Bar" 188 IDENT@[170; 173) "Bar"
@@ -192,7 +192,7 @@ SOURCE_FILE@[0; 250)
192 TYPE_BOUND@[176; 178) 192 TYPE_BOUND@[176; 178)
193 LIFETIME@[176; 178) "\'a" 193 LIFETIME@[176; 178) "\'a"
194 R_ANGLE@[178; 179) ">" 194 R_ANGLE@[178; 179) ">"
195 SEMI@[179; 180) ";" 195 SEMICOLON@[179; 180) ";"
196 WHITESPACE@[180; 181) "\n" 196 WHITESPACE@[180; 181) "\n"
197 STRUCT_DEF@[181; 199) 197 STRUCT_DEF@[181; 199)
198 STRUCT_KW@[181; 187) "struct" 198 STRUCT_KW@[181; 187) "struct"
@@ -215,7 +215,7 @@ SOURCE_FILE@[0; 250)
215 TYPE_BOUND_LIST@[196; 196) 215 TYPE_BOUND_LIST@[196; 196)
216 COMMA@[196; 197) "," 216 COMMA@[196; 197) ","
217 R_ANGLE@[197; 198) ">" 217 R_ANGLE@[197; 198) ">"
218 SEMI@[198; 199) ";" 218 SEMICOLON@[198; 199) ";"
219 WHITESPACE@[199; 200) "\n" 219 WHITESPACE@[199; 200) "\n"
220 STRUCT_DEF@[200; 250) 220 STRUCT_DEF@[200; 250)
221 STRUCT_KW@[200; 206) "struct" 221 STRUCT_KW@[200; 206) "struct"
@@ -265,4 +265,4 @@ SOURCE_FILE@[0; 250)
265 NAME_REF@[243; 248) 265 NAME_REF@[243; 248)
266 IDENT@[243; 248) "Clone" 266 IDENT@[243; 248) "Clone"
267 R_ANGLE@[248; 249) ">" 267 R_ANGLE@[248; 249) ">"
268 SEMI@[249; 250) ";" 268 SEMICOLON@[249; 250) ";"
diff --git a/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast b/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast
index 5591f95eb..dadf24fa6 100644
--- a/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0023_static_items.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 47)
16 WHITESPACE@[17; 18) " " 16 WHITESPACE@[17; 18) " "
17 LITERAL@[18; 19) 17 LITERAL@[18; 19)
18 INT_NUMBER@[18; 19) "1" 18 INT_NUMBER@[18; 19) "1"
19 SEMI@[19; 20) ";" 19 SEMICOLON@[19; 20) ";"
20 WHITESPACE@[20; 21) "\n" 20 WHITESPACE@[20; 21) "\n"
21 STATIC_DEF@[21; 46) 21 STATIC_DEF@[21; 46)
22 STATIC_KW@[21; 27) "static" 22 STATIC_KW@[21; 27) "static"
@@ -37,5 +37,5 @@ SOURCE_FILE@[0; 47)
37 WHITESPACE@[42; 43) " " 37 WHITESPACE@[42; 43) " "
38 LITERAL@[43; 45) 38 LITERAL@[43; 45)
39 INT_NUMBER@[43; 45) "92" 39 INT_NUMBER@[43; 45) "92"
40 SEMI@[45; 46) ";" 40 SEMICOLON@[45; 46) ";"
41 WHITESPACE@[46; 47) "\n" 41 WHITESPACE@[46; 47) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast b/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast
index abe9f851b..262e31f7f 100644
--- a/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0024_const_item.rast
@@ -15,7 +15,7 @@ SOURCE_FILE@[0; 64)
15 WHITESPACE@[14; 15) " " 15 WHITESPACE@[14; 15) " "
16 LITERAL@[15; 16) 16 LITERAL@[15; 16)
17 INT_NUMBER@[15; 16) "0" 17 INT_NUMBER@[15; 16) "0"
18 SEMI@[16; 17) ";" 18 SEMICOLON@[16; 17) ";"
19 WHITESPACE@[17; 18) "\n" 19 WHITESPACE@[17; 18) "\n"
20 CONST_DEF@[18; 38) 20 CONST_DEF@[18; 38)
21 CONST_KW@[18; 23) "const" 21 CONST_KW@[18; 23) "const"
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 64)
34 WHITESPACE@[34; 35) " " 34 WHITESPACE@[34; 35) " "
35 LITERAL@[35; 37) 35 LITERAL@[35; 37)
36 INT_NUMBER@[35; 37) "92" 36 INT_NUMBER@[35; 37) "92"
37 SEMI@[37; 38) ";" 37 SEMICOLON@[37; 38) ";"
38 WHITESPACE@[38; 39) "\n" 38 WHITESPACE@[38; 39) "\n"
39 CONST_DEF@[39; 63) 39 CONST_DEF@[39; 63)
40 CONST_KW@[39; 44) "const" 40 CONST_KW@[39; 44) "const"
@@ -55,5 +55,5 @@ SOURCE_FILE@[0; 64)
55 WHITESPACE@[59; 60) " " 55 WHITESPACE@[59; 60) " "
56 LITERAL@[60; 62) 56 LITERAL@[60; 62)
57 INT_NUMBER@[60; 62) "62" 57 INT_NUMBER@[60; 62) "62"
58 SEMI@[62; 63) ";" 58 SEMICOLON@[62; 63) ";"
59 WHITESPACE@[63; 64) "\n" 59 WHITESPACE@[63; 64) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast
index afca1fba2..5542f7701 100644
--- a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast
@@ -53,7 +53,7 @@ SOURCE_FILE@[0; 248)
53 WHITESPACE@[52; 53) " " 53 WHITESPACE@[52; 53) " "
54 LITERAL@[53; 54) 54 LITERAL@[53; 54)
55 INT_NUMBER@[53; 54) "6" 55 INT_NUMBER@[53; 54) "6"
56 SEMI@[54; 55) ";" 56 SEMICOLON@[54; 55) ";"
57 WHITESPACE@[55; 60) "\n " 57 WHITESPACE@[55; 60) "\n "
58 EXPR_STMT@[60; 70) 58 EXPR_STMT@[60; 70)
59 BIN_EXPR@[60; 69) 59 BIN_EXPR@[60; 69)
@@ -70,7 +70,7 @@ SOURCE_FILE@[0; 248)
70 WHITESPACE@[67; 68) " " 70 WHITESPACE@[67; 68) " "
71 LITERAL@[68; 69) 71 LITERAL@[68; 69)
72 INT_NUMBER@[68; 69) "3" 72 INT_NUMBER@[68; 69) "3"
73 SEMI@[69; 70) ";" 73 SEMICOLON@[69; 70) ";"
74 WHITESPACE@[70; 75) "\n " 74 WHITESPACE@[70; 75) "\n "
75 EXPR_STMT@[75; 86) 75 EXPR_STMT@[75; 86)
76 BIN_EXPR@[75; 85) 76 BIN_EXPR@[75; 85)
@@ -87,7 +87,7 @@ SOURCE_FILE@[0; 248)
87 WHITESPACE@[83; 84) " " 87 WHITESPACE@[83; 84) " "
88 LITERAL@[84; 85) 88 LITERAL@[84; 85)
89 INT_NUMBER@[84; 85) "3" 89 INT_NUMBER@[84; 85) "3"
90 SEMI@[85; 86) ";" 90 SEMICOLON@[85; 86) ";"
91 WHITESPACE@[86; 91) "\n " 91 WHITESPACE@[86; 91) "\n "
92 EXPR_STMT@[91; 102) 92 EXPR_STMT@[91; 102)
93 BIN_EXPR@[91; 101) 93 BIN_EXPR@[91; 101)
@@ -104,7 +104,7 @@ SOURCE_FILE@[0; 248)
104 WHITESPACE@[99; 100) " " 104 WHITESPACE@[99; 100) " "
105 LITERAL@[100; 101) 105 LITERAL@[100; 101)
106 INT_NUMBER@[100; 101) "3" 106 INT_NUMBER@[100; 101) "3"
107 SEMI@[101; 102) ";" 107 SEMICOLON@[101; 102) ";"
108 WHITESPACE@[102; 107) "\n " 108 WHITESPACE@[102; 107) "\n "
109 EXPR_STMT@[107; 117) 109 EXPR_STMT@[107; 117)
110 BIN_EXPR@[107; 116) 110 BIN_EXPR@[107; 116)
@@ -121,7 +121,7 @@ SOURCE_FILE@[0; 248)
121 WHITESPACE@[114; 115) " " 121 WHITESPACE@[114; 115) " "
122 LITERAL@[115; 116) 122 LITERAL@[115; 116)
123 INT_NUMBER@[115; 116) "3" 123 INT_NUMBER@[115; 116) "3"
124 SEMI@[116; 117) ";" 124 SEMICOLON@[116; 117) ";"
125 WHITESPACE@[117; 122) "\n " 125 WHITESPACE@[117; 122) "\n "
126 EXPR_STMT@[122; 132) 126 EXPR_STMT@[122; 132)
127 BIN_EXPR@[122; 131) 127 BIN_EXPR@[122; 131)
@@ -138,14 +138,14 @@ SOURCE_FILE@[0; 248)
138 WHITESPACE@[129; 130) " " 138 WHITESPACE@[129; 130) " "
139 LITERAL@[130; 131) 139 LITERAL@[130; 131)
140 INT_NUMBER@[130; 131) "3" 140 INT_NUMBER@[130; 131) "3"
141 SEMI@[131; 132) ";" 141 SEMICOLON@[131; 132) ";"
142 WHITESPACE@[132; 137) "\n " 142 WHITESPACE@[132; 137) "\n "
143 EXPR_STMT@[137; 148) 143 EXPR_STMT@[137; 148)
144 BIN_EXPR@[137; 147) 144 BIN_EXPR@[137; 147)
145 LITERAL@[137; 138) 145 LITERAL@[137; 138)
146 INT_NUMBER@[137; 138) "1" 146 INT_NUMBER@[137; 138) "1"
147 WHITESPACE@[138; 139) " " 147 WHITESPACE@[138; 139) " "
148 EQEQ@[139; 141) "==" 148 EQ2@[139; 141) "=="
149 WHITESPACE@[141; 142) " " 149 WHITESPACE@[141; 142) " "
150 BIN_EXPR@[142; 147) 150 BIN_EXPR@[142; 147)
151 LITERAL@[142; 143) 151 LITERAL@[142; 143)
@@ -155,24 +155,24 @@ SOURCE_FILE@[0; 248)
155 WHITESPACE@[145; 146) " " 155 WHITESPACE@[145; 146) " "
156 LITERAL@[146; 147) 156 LITERAL@[146; 147)
157 INT_NUMBER@[146; 147) "3" 157 INT_NUMBER@[146; 147) "3"
158 SEMI@[147; 148) ";" 158 SEMICOLON@[147; 148) ";"
159 WHITESPACE@[148; 153) "\n " 159 WHITESPACE@[148; 153) "\n "
160 EXPR_STMT@[153; 165) 160 EXPR_STMT@[153; 165)
161 BIN_EXPR@[153; 164) 161 BIN_EXPR@[153; 164)
162 LITERAL@[153; 154) 162 LITERAL@[153; 154)
163 INT_NUMBER@[153; 154) "1" 163 INT_NUMBER@[153; 154) "1"
164 WHITESPACE@[154; 155) " " 164 WHITESPACE@[154; 155) " "
165 AMPAMP@[155; 157) "&&" 165 AMP2@[155; 157) "&&"
166 WHITESPACE@[157; 158) " " 166 WHITESPACE@[157; 158) " "
167 BIN_EXPR@[158; 164) 167 BIN_EXPR@[158; 164)
168 LITERAL@[158; 159) 168 LITERAL@[158; 159)
169 INT_NUMBER@[158; 159) "2" 169 INT_NUMBER@[158; 159) "2"
170 WHITESPACE@[159; 160) " " 170 WHITESPACE@[159; 160) " "
171 EQEQ@[160; 162) "==" 171 EQ2@[160; 162) "=="
172 WHITESPACE@[162; 163) " " 172 WHITESPACE@[162; 163) " "
173 LITERAL@[163; 164) 173 LITERAL@[163; 164)
174 INT_NUMBER@[163; 164) "3" 174 INT_NUMBER@[163; 164) "3"
175 SEMI@[164; 165) ";" 175 SEMICOLON@[164; 165) ";"
176 WHITESPACE@[165; 170) "\n " 176 WHITESPACE@[165; 170) "\n "
177 COMMENT@[170; 184) "//1 || 2 && 2;" 177 COMMENT@[170; 184) "//1 || 2 && 2;"
178 WHITESPACE@[184; 189) "\n " 178 WHITESPACE@[184; 189) "\n "
diff --git a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast
index 95dae4870..78056aa95 100644
--- a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast
@@ -14,7 +14,7 @@ SOURCE_FILE@[0; 153)
14 WHITESPACE@[10; 15) "\n " 14 WHITESPACE@[10; 15) "\n "
15 EXPR_STMT@[15; 23) 15 EXPR_STMT@[15; 23)
16 RANGE_EXPR@[15; 22) 16 RANGE_EXPR@[15; 22)
17 DOTDOT@[15; 17) ".." 17 DOT2@[15; 17) ".."
18 BIN_EXPR@[17; 22) 18 BIN_EXPR@[17; 22)
19 LITERAL@[17; 18) 19 LITERAL@[17; 18)
20 INT_NUMBER@[17; 18) "1" 20 INT_NUMBER@[17; 18) "1"
@@ -23,12 +23,12 @@ SOURCE_FILE@[0; 153)
23 WHITESPACE@[20; 21) " " 23 WHITESPACE@[20; 21) " "
24 LITERAL@[21; 22) 24 LITERAL@[21; 22)
25 INT_NUMBER@[21; 22) "1" 25 INT_NUMBER@[21; 22) "1"
26 SEMI@[22; 23) ";" 26 SEMICOLON@[22; 23) ";"
27 WHITESPACE@[23; 28) "\n " 27 WHITESPACE@[23; 28) "\n "
28 EXPR_STMT@[28; 36) 28 EXPR_STMT@[28; 36)
29 BIN_EXPR@[28; 35) 29 BIN_EXPR@[28; 35)
30 RANGE_EXPR@[28; 31) 30 RANGE_EXPR@[28; 31)
31 DOTDOT@[28; 30) ".." 31 DOT2@[28; 30) ".."
32 PATH_EXPR@[30; 31) 32 PATH_EXPR@[30; 31)
33 PATH@[30; 31) 33 PATH@[30; 31)
34 PATH_SEGMENT@[30; 31) 34 PATH_SEGMENT@[30; 31)
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 153)
39 WHITESPACE@[33; 34) " " 39 WHITESPACE@[33; 34) " "
40 LITERAL@[34; 35) 40 LITERAL@[34; 35)
41 INT_NUMBER@[34; 35) "2" 41 INT_NUMBER@[34; 35) "2"
42 SEMI@[35; 36) ";" 42 SEMICOLON@[35; 36) ";"
43 WHITESPACE@[36; 41) "\n " 43 WHITESPACE@[36; 41) "\n "
44 EXPR_STMT@[41; 59) 44 EXPR_STMT@[41; 59)
45 BIN_EXPR@[41; 58) 45 BIN_EXPR@[41; 58)
@@ -54,16 +54,16 @@ SOURCE_FILE@[0; 153)
54 RANGE_EXPR@[45; 58) 54 RANGE_EXPR@[45; 58)
55 LITERAL@[45; 50) 55 LITERAL@[45; 50)
56 FALSE_KW@[45; 50) "false" 56 FALSE_KW@[45; 50) "false"
57 DOTDOT@[50; 52) ".." 57 DOT2@[50; 52) ".."
58 BIN_EXPR@[52; 58) 58 BIN_EXPR@[52; 58)
59 LITERAL@[52; 53) 59 LITERAL@[52; 53)
60 INT_NUMBER@[52; 53) "1" 60 INT_NUMBER@[52; 53) "1"
61 WHITESPACE@[53; 54) " " 61 WHITESPACE@[53; 54) " "
62 EQEQ@[54; 56) "==" 62 EQ2@[54; 56) "=="
63 WHITESPACE@[56; 57) " " 63 WHITESPACE@[56; 57) " "
64 LITERAL@[57; 58) 64 LITERAL@[57; 58)
65 INT_NUMBER@[57; 58) "1" 65 INT_NUMBER@[57; 58) "1"
66 SEMI@[58; 59) ";" 66 SEMICOLON@[58; 59) ";"
67 WHITESPACE@[59; 64) "\n " 67 WHITESPACE@[59; 64) "\n "
68 LET_STMT@[64; 76) 68 LET_STMT@[64; 76)
69 LET_KW@[64; 67) "let" 69 LET_KW@[64; 67) "let"
@@ -77,12 +77,12 @@ SOURCE_FILE@[0; 153)
77 RANGE_EXPR@[72; 75) 77 RANGE_EXPR@[72; 75)
78 LITERAL@[72; 73) 78 LITERAL@[72; 73)
79 INT_NUMBER@[72; 73) "1" 79 INT_NUMBER@[72; 73) "1"
80 DOTDOT@[73; 75) ".." 80 DOT2@[73; 75) ".."
81 SEMI@[75; 76) ";" 81 SEMICOLON@[75; 76) ";"
82 WHITESPACE@[76; 86) "\n \n " 82 WHITESPACE@[76; 86) "\n \n "
83 EXPR_STMT@[86; 95) 83 EXPR_STMT@[86; 95)
84 RANGE_EXPR@[86; 94) 84 RANGE_EXPR@[86; 94)
85 DOTDOTEQ@[86; 89) "..=" 85 DOT2EQ@[86; 89) "..="
86 BIN_EXPR@[89; 94) 86 BIN_EXPR@[89; 94)
87 LITERAL@[89; 90) 87 LITERAL@[89; 90)
88 INT_NUMBER@[89; 90) "1" 88 INT_NUMBER@[89; 90) "1"
@@ -91,12 +91,12 @@ SOURCE_FILE@[0; 153)
91 WHITESPACE@[92; 93) " " 91 WHITESPACE@[92; 93) " "
92 LITERAL@[93; 94) 92 LITERAL@[93; 94)
93 INT_NUMBER@[93; 94) "1" 93 INT_NUMBER@[93; 94) "1"
94 SEMI@[94; 95) ";" 94 SEMICOLON@[94; 95) ";"
95 WHITESPACE@[95; 100) "\n " 95 WHITESPACE@[95; 100) "\n "
96 EXPR_STMT@[100; 109) 96 EXPR_STMT@[100; 109)
97 BIN_EXPR@[100; 108) 97 BIN_EXPR@[100; 108)
98 RANGE_EXPR@[100; 104) 98 RANGE_EXPR@[100; 104)
99 DOTDOTEQ@[100; 103) "..=" 99 DOT2EQ@[100; 103) "..="
100 PATH_EXPR@[103; 104) 100 PATH_EXPR@[103; 104)
101 PATH@[103; 104) 101 PATH@[103; 104)
102 PATH_SEGMENT@[103; 104) 102 PATH_SEGMENT@[103; 104)
@@ -107,7 +107,7 @@ SOURCE_FILE@[0; 153)
107 WHITESPACE@[106; 107) " " 107 WHITESPACE@[106; 107) " "
108 LITERAL@[107; 108) 108 LITERAL@[107; 108)
109 INT_NUMBER@[107; 108) "2" 109 INT_NUMBER@[107; 108) "2"
110 SEMI@[108; 109) ";" 110 SEMICOLON@[108; 109) ";"
111 WHITESPACE@[109; 114) "\n " 111 WHITESPACE@[109; 114) "\n "
112 EXPR_STMT@[114; 133) 112 EXPR_STMT@[114; 133)
113 BIN_EXPR@[114; 132) 113 BIN_EXPR@[114; 132)
@@ -122,16 +122,16 @@ SOURCE_FILE@[0; 153)
122 RANGE_EXPR@[118; 132) 122 RANGE_EXPR@[118; 132)
123 LITERAL@[118; 123) 123 LITERAL@[118; 123)
124 FALSE_KW@[118; 123) "false" 124 FALSE_KW@[118; 123) "false"
125 DOTDOTEQ@[123; 126) "..=" 125 DOT2EQ@[123; 126) "..="
126 BIN_EXPR@[126; 132) 126 BIN_EXPR@[126; 132)
127 LITERAL@[126; 127) 127 LITERAL@[126; 127)
128 INT_NUMBER@[126; 127) "1" 128 INT_NUMBER@[126; 127) "1"
129 WHITESPACE@[127; 128) " " 129 WHITESPACE@[127; 128) " "
130 EQEQ@[128; 130) "==" 130 EQ2@[128; 130) "=="
131 WHITESPACE@[130; 131) " " 131 WHITESPACE@[130; 131) " "
132 LITERAL@[131; 132) 132 LITERAL@[131; 132)
133 INT_NUMBER@[131; 132) "1" 133 INT_NUMBER@[131; 132) "1"
134 SEMI@[132; 133) ";" 134 SEMICOLON@[132; 133) ";"
135 WHITESPACE@[133; 138) "\n " 135 WHITESPACE@[133; 138) "\n "
136 LET_STMT@[138; 150) 136 LET_STMT@[138; 150)
137 LET_KW@[138; 141) "let" 137 LET_KW@[138; 141) "let"
@@ -145,8 +145,8 @@ SOURCE_FILE@[0; 153)
145 RANGE_EXPR@[146; 149) 145 RANGE_EXPR@[146; 149)
146 LITERAL@[146; 147) 146 LITERAL@[146; 147)
147 INT_NUMBER@[146; 147) "1" 147 INT_NUMBER@[146; 147) "1"
148 DOTDOT@[147; 149) ".." 148 DOT2@[147; 149) ".."
149 SEMI@[149; 150) ";" 149 SEMICOLON@[149; 150) ";"
150 WHITESPACE@[150; 151) "\n" 150 WHITESPACE@[150; 151) "\n"
151 R_CURLY@[151; 152) "}" 151 R_CURLY@[151; 152) "}"
152 WHITESPACE@[152; 153) "\n" 152 WHITESPACE@[152; 153) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast
index cdc9f05ae..4e583c6e8 100644
--- a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast
@@ -22,7 +22,7 @@ SOURCE_FILE@[0; 112)
22 WHITESPACE@[23; 24) " " 22 WHITESPACE@[23; 24) " "
23 LITERAL@[24; 30) 23 LITERAL@[24; 30)
24 CHAR@[24; 30) "\'c\'u32" 24 CHAR@[24; 30) "\'c\'u32"
25 SEMI@[30; 31) ";" 25 SEMICOLON@[30; 31) ";"
26 WHITESPACE@[31; 36) "\n " 26 WHITESPACE@[31; 36) "\n "
27 LET_STMT@[36; 60) 27 LET_STMT@[36; 60)
28 LET_KW@[36; 39) "let" 28 LET_KW@[36; 39) "let"
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 112)
34 WHITESPACE@[43; 44) " " 34 WHITESPACE@[43; 44) " "
35 LITERAL@[44; 59) 35 LITERAL@[44; 59)
36 STRING@[44; 59) "\"string\"invalid" 36 STRING@[44; 59) "\"string\"invalid"
37 SEMI@[59; 60) ";" 37 SEMICOLON@[59; 60) ";"
38 WHITESPACE@[60; 65) "\n " 38 WHITESPACE@[60; 65) "\n "
39 LET_STMT@[65; 83) 39 LET_STMT@[65; 83)
40 LET_KW@[65; 68) "let" 40 LET_KW@[65; 68) "let"
@@ -46,7 +46,7 @@ SOURCE_FILE@[0; 112)
46 WHITESPACE@[72; 73) " " 46 WHITESPACE@[72; 73) " "
47 LITERAL@[73; 82) 47 LITERAL@[73; 82)
48 BYTE@[73; 82) "b\'b\'_suff" 48 BYTE@[73; 82) "b\'b\'_suff"
49 SEMI@[82; 83) ";" 49 SEMICOLON@[82; 83) ";"
50 WHITESPACE@[83; 88) "\n " 50 WHITESPACE@[83; 88) "\n "
51 LET_STMT@[88; 109) 51 LET_STMT@[88; 109)
52 LET_KW@[88; 91) "let" 52 LET_KW@[88; 91) "let"
@@ -58,7 +58,7 @@ SOURCE_FILE@[0; 112)
58 WHITESPACE@[95; 96) " " 58 WHITESPACE@[95; 96) " "
59 LITERAL@[96; 108) 59 LITERAL@[96; 108)
60 BYTE_STRING@[96; 108) "b\"bs\"invalid" 60 BYTE_STRING@[96; 108) "b\"bs\"invalid"
61 SEMI@[108; 109) ";" 61 SEMICOLON@[108; 109) ";"
62 WHITESPACE@[109; 110) "\n" 62 WHITESPACE@[109; 110) "\n"
63 R_CURLY@[110; 111) "}" 63 R_CURLY@[110; 111) "}"
64 WHITESPACE@[111; 112) "\n" 64 WHITESPACE@[111; 112) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0030_traits.rast b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast
index ac314ae50..4131cd81a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0030_traits.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0030_traits.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 96)
16 PARAM_LIST@[31; 33) 16 PARAM_LIST@[31; 33)
17 L_PAREN@[31; 32) "(" 17 L_PAREN@[31; 32) "("
18 R_PAREN@[32; 33) ")" 18 R_PAREN@[32; 33) ")"
19 SEMI@[33; 34) ";" 19 SEMICOLON@[33; 34) ";"
20 WHITESPACE@[34; 35) "\n" 20 WHITESPACE@[34; 35) "\n"
21 R_CURLY@[35; 36) "}" 21 R_CURLY@[35; 36) "}"
22 WHITESPACE@[36; 38) "\n\n" 22 WHITESPACE@[36; 38) "\n\n"
@@ -49,13 +49,13 @@ SOURCE_FILE@[0; 96)
49 PATH_SEGMENT@[84; 87) 49 PATH_SEGMENT@[84; 87)
50 NAME_REF@[84; 87) 50 NAME_REF@[84; 87)
51 IDENT@[84; 87) "i32" 51 IDENT@[84; 87) "i32"
52 SEMI@[87; 88) ";" 52 SEMICOLON@[87; 88) ";"
53 WHITESPACE@[88; 89) " " 53 WHITESPACE@[88; 89) " "
54 LITERAL@[89; 90) 54 LITERAL@[89; 90)
55 INT_NUMBER@[89; 90) "1" 55 INT_NUMBER@[89; 90) "1"
56 R_BRACK@[90; 91) "]" 56 R_BRACK@[90; 91) "]"
57 R_PAREN@[91; 92) ")" 57 R_PAREN@[91; 92) ")"
58 SEMI@[92; 93) ";" 58 SEMICOLON@[92; 93) ";"
59 WHITESPACE@[93; 94) "\n" 59 WHITESPACE@[93; 94) "\n"
60 R_CURLY@[94; 95) "}" 60 R_CURLY@[94; 95) "}"
61 WHITESPACE@[95; 96) "\n" 61 WHITESPACE@[95; 96) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
index badbf76c5..23757df52 100644
--- a/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0031_extern.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 1598)
25 PATH_TYPE@[35; 42) 25 PATH_TYPE@[35; 42)
26 PATH@[35; 42) 26 PATH@[35; 42)
27 PATH_SEGMENT@[35; 42) 27 PATH_SEGMENT@[35; 42)
28 COLONCOLON@[35; 37) "::" 28 COLON2@[35; 37) "::"
29 NAME_REF@[37; 42) 29 NAME_REF@[37; 42)
30 IDENT@[37; 42) "c_int" 30 IDENT@[37; 42) "c_int"
31 COMMA@[42; 43) "," 31 COMMA@[42; 43) ","
@@ -39,7 +39,7 @@ SOURCE_FILE@[0; 1598)
39 PATH_TYPE@[48; 55) 39 PATH_TYPE@[48; 55)
40 PATH@[48; 55) 40 PATH@[48; 55)
41 PATH_SEGMENT@[48; 55) 41 PATH_SEGMENT@[48; 55)
42 COLONCOLON@[48; 50) "::" 42 COLON2@[48; 50) "::"
43 NAME_REF@[50; 55) 43 NAME_REF@[50; 55)
44 IDENT@[50; 55) "c_int" 44 IDENT@[50; 55) "c_int"
45 COMMA@[55; 56) "," 45 COMMA@[55; 56) ","
@@ -53,7 +53,7 @@ SOURCE_FILE@[0; 1598)
53 PATH_TYPE@[67; 74) 53 PATH_TYPE@[67; 74)
54 PATH@[67; 74) 54 PATH@[67; 74)
55 PATH_SEGMENT@[67; 74) 55 PATH_SEGMENT@[67; 74)
56 COLONCOLON@[67; 69) "::" 56 COLON2@[67; 69) "::"
57 NAME_REF@[69; 74) 57 NAME_REF@[69; 74)
58 IDENT@[69; 74) "c_int" 58 IDENT@[69; 74) "c_int"
59 R_PAREN@[74; 75) ")" 59 R_PAREN@[74; 75) ")"
@@ -64,10 +64,10 @@ SOURCE_FILE@[0; 1598)
64 PATH_TYPE@[79; 86) 64 PATH_TYPE@[79; 86)
65 PATH@[79; 86) 65 PATH@[79; 86)
66 PATH_SEGMENT@[79; 86) 66 PATH_SEGMENT@[79; 86)
67 COLONCOLON@[79; 81) "::" 67 COLON2@[79; 81) "::"
68 NAME_REF@[81; 86) 68 NAME_REF@[81; 86)
69 IDENT@[81; 86) "c_int" 69 IDENT@[81; 86) "c_int"
70 SEMI@[86; 87) ";" 70 SEMICOLON@[86; 87) ";"
71 WHITESPACE@[87; 92) "\n " 71 WHITESPACE@[87; 92) "\n "
72 FN_DEF@[92; 167) 72 FN_DEF@[92; 167)
73 VISIBILITY@[92; 95) 73 VISIBILITY@[92; 95)
@@ -88,7 +88,7 @@ SOURCE_FILE@[0; 1598)
88 PATH_TYPE@[108; 115) 88 PATH_TYPE@[108; 115)
89 PATH@[108; 115) 89 PATH@[108; 115)
90 PATH_SEGMENT@[108; 115) 90 PATH_SEGMENT@[108; 115)
91 COLONCOLON@[108; 110) "::" 91 COLON2@[108; 110) "::"
92 NAME_REF@[110; 115) 92 NAME_REF@[110; 115)
93 IDENT@[110; 115) "c_int" 93 IDENT@[110; 115) "c_int"
94 COMMA@[115; 116) "," 94 COMMA@[115; 116) ","
@@ -129,10 +129,10 @@ SOURCE_FILE@[0; 1598)
129 PATH_TYPE@[159; 166) 129 PATH_TYPE@[159; 166)
130 PATH@[159; 166) 130 PATH@[159; 166)
131 PATH_SEGMENT@[159; 166) 131 PATH_SEGMENT@[159; 166)
132 COLONCOLON@[159; 161) "::" 132 COLON2@[159; 161) "::"
133 NAME_REF@[161; 166) 133 NAME_REF@[161; 166)
134 IDENT@[161; 166) "c_int" 134 IDENT@[161; 166) "c_int"
135 SEMI@[166; 167) ";" 135 SEMICOLON@[166; 167) ";"
136 WHITESPACE@[167; 172) "\n " 136 WHITESPACE@[167; 172) "\n "
137 FN_DEF@[172; 276) 137 FN_DEF@[172; 276)
138 VISIBILITY@[172; 175) 138 VISIBILITY@[172; 175)
@@ -153,7 +153,7 @@ SOURCE_FILE@[0; 1598)
153 PATH_TYPE@[195; 202) 153 PATH_TYPE@[195; 202)
154 PATH@[195; 202) 154 PATH@[195; 202)
155 PATH_SEGMENT@[195; 202) 155 PATH_SEGMENT@[195; 202)
156 COLONCOLON@[195; 197) "::" 156 COLON2@[195; 197) "::"
157 NAME_REF@[197; 202) 157 NAME_REF@[197; 202)
158 IDENT@[197; 202) "c_int" 158 IDENT@[197; 202) "c_int"
159 COMMA@[202; 203) "," 159 COMMA@[202; 203) ","
@@ -194,10 +194,10 @@ SOURCE_FILE@[0; 1598)
194 PATH_TYPE@[268; 275) 194 PATH_TYPE@[268; 275)
195 PATH@[268; 275) 195 PATH@[268; 275)
196 PATH_SEGMENT@[268; 275) 196 PATH_SEGMENT@[268; 275)
197 COLONCOLON@[268; 270) "::" 197 COLON2@[268; 270) "::"
198 NAME_REF@[270; 275) 198 NAME_REF@[270; 275)
199 IDENT@[270; 275) "c_int" 199 IDENT@[270; 275) "c_int"
200 SEMI@[275; 276) ";" 200 SEMICOLON@[275; 276) ";"
201 WHITESPACE@[276; 281) "\n " 201 WHITESPACE@[276; 281) "\n "
202 FN_DEF@[281; 341) 202 FN_DEF@[281; 341)
203 VISIBILITY@[281; 284) 203 VISIBILITY@[281; 284)
@@ -218,7 +218,7 @@ SOURCE_FILE@[0; 1598)
218 PATH_TYPE@[303; 310) 218 PATH_TYPE@[303; 310)
219 PATH@[303; 310) 219 PATH@[303; 310)
220 PATH_SEGMENT@[303; 310) 220 PATH_SEGMENT@[303; 310)
221 COLONCOLON@[303; 305) "::" 221 COLON2@[303; 305) "::"
222 NAME_REF@[305; 310) 222 NAME_REF@[305; 310)
223 IDENT@[305; 310) "c_int" 223 IDENT@[305; 310) "c_int"
224 COMMA@[310; 311) "," 224 COMMA@[310; 311) ","
@@ -232,7 +232,7 @@ SOURCE_FILE@[0; 1598)
232 PATH_TYPE@[321; 328) 232 PATH_TYPE@[321; 328)
233 PATH@[321; 328) 233 PATH@[321; 328)
234 PATH_SEGMENT@[321; 328) 234 PATH_SEGMENT@[321; 328)
235 COLONCOLON@[321; 323) "::" 235 COLON2@[321; 323) "::"
236 NAME_REF@[323; 328) 236 NAME_REF@[323; 328)
237 IDENT@[323; 328) "c_int" 237 IDENT@[323; 328) "c_int"
238 R_PAREN@[328; 329) ")" 238 R_PAREN@[328; 329) ")"
@@ -243,10 +243,10 @@ SOURCE_FILE@[0; 1598)
243 PATH_TYPE@[333; 340) 243 PATH_TYPE@[333; 340)
244 PATH@[333; 340) 244 PATH@[333; 340)
245 PATH_SEGMENT@[333; 340) 245 PATH_SEGMENT@[333; 340)
246 COLONCOLON@[333; 335) "::" 246 COLON2@[333; 335) "::"
247 NAME_REF@[335; 340) 247 NAME_REF@[335; 340)
248 IDENT@[335; 340) "c_int" 248 IDENT@[335; 340) "c_int"
249 SEMI@[340; 341) ";" 249 SEMICOLON@[340; 341) ";"
250 WHITESPACE@[341; 346) "\n " 250 WHITESPACE@[341; 346) "\n "
251 FN_DEF@[346; 469) 251 FN_DEF@[346; 469)
252 VISIBILITY@[346; 349) 252 VISIBILITY@[346; 349)
@@ -267,7 +267,7 @@ SOURCE_FILE@[0; 1598)
267 PATH_TYPE@[373; 380) 267 PATH_TYPE@[373; 380)
268 PATH@[373; 380) 268 PATH@[373; 380)
269 PATH_SEGMENT@[373; 380) 269 PATH_SEGMENT@[373; 380)
270 COLONCOLON@[373; 375) "::" 270 COLON2@[373; 375) "::"
271 NAME_REF@[375; 380) 271 NAME_REF@[375; 380)
272 IDENT@[375; 380) "c_int" 272 IDENT@[375; 380) "c_int"
273 COMMA@[380; 381) "," 273 COMMA@[380; 381) ","
@@ -312,10 +312,10 @@ SOURCE_FILE@[0; 1598)
312 PATH_TYPE@[461; 468) 312 PATH_TYPE@[461; 468)
313 PATH@[461; 468) 313 PATH@[461; 468)
314 PATH_SEGMENT@[461; 468) 314 PATH_SEGMENT@[461; 468)
315 COLONCOLON@[461; 463) "::" 315 COLON2@[461; 463) "::"
316 NAME_REF@[463; 468) 316 NAME_REF@[463; 468)
317 IDENT@[463; 468) "c_int" 317 IDENT@[463; 468) "c_int"
318 SEMI@[468; 469) ";" 318 SEMICOLON@[468; 469) ";"
319 WHITESPACE@[469; 474) "\n " 319 WHITESPACE@[469; 474) "\n "
320 FN_DEF@[474; 691) 320 FN_DEF@[474; 691)
321 VISIBILITY@[474; 477) 321 VISIBILITY@[474; 477)
@@ -336,7 +336,7 @@ SOURCE_FILE@[0; 1598)
336 PATH_TYPE@[500; 507) 336 PATH_TYPE@[500; 507)
337 PATH@[500; 507) 337 PATH@[500; 507)
338 PATH_SEGMENT@[500; 507) 338 PATH_SEGMENT@[500; 507)
339 COLONCOLON@[500; 502) "::" 339 COLON2@[500; 502) "::"
340 NAME_REF@[502; 507) 340 NAME_REF@[502; 507)
341 IDENT@[502; 507) "c_int" 341 IDENT@[502; 507) "c_int"
342 COMMA@[507; 508) "," 342 COMMA@[507; 508) ","
@@ -350,7 +350,7 @@ SOURCE_FILE@[0; 1598)
350 PATH_TYPE@[538; 545) 350 PATH_TYPE@[538; 545)
351 PATH@[538; 545) 351 PATH@[538; 545)
352 PATH_SEGMENT@[538; 545) 352 PATH_SEGMENT@[538; 545)
353 COLONCOLON@[538; 540) "::" 353 COLON2@[538; 540) "::"
354 NAME_REF@[540; 545) 354 NAME_REF@[540; 545)
355 IDENT@[540; 545) "c_int" 355 IDENT@[540; 545) "c_int"
356 COMMA@[545; 546) "," 356 COMMA@[545; 546) ","
@@ -364,7 +364,7 @@ SOURCE_FILE@[0; 1598)
364 PATH_TYPE@[578; 585) 364 PATH_TYPE@[578; 585)
365 PATH@[578; 585) 365 PATH@[578; 585)
366 PATH_SEGMENT@[578; 585) 366 PATH_SEGMENT@[578; 585)
367 COLONCOLON@[578; 580) "::" 367 COLON2@[578; 580) "::"
368 NAME_REF@[580; 585) 368 NAME_REF@[580; 585)
369 IDENT@[580; 585) "c_int" 369 IDENT@[580; 585) "c_int"
370 COMMA@[585; 586) "," 370 COMMA@[585; 586) ","
@@ -382,7 +382,7 @@ SOURCE_FILE@[0; 1598)
382 PATH_TYPE@[622; 630) 382 PATH_TYPE@[622; 630)
383 PATH@[622; 630) 383 PATH@[622; 630)
384 PATH_SEGMENT@[622; 630) 384 PATH_SEGMENT@[622; 630)
385 COLONCOLON@[622; 624) "::" 385 COLON2@[622; 624) "::"
386 NAME_REF@[624; 630) 386 NAME_REF@[624; 630)
387 IDENT@[624; 630) "c_void" 387 IDENT@[624; 630) "c_void"
388 COMMA@[630; 631) "," 388 COMMA@[630; 631) ","
@@ -400,7 +400,7 @@ SOURCE_FILE@[0; 1598)
400 PATH_TYPE@[667; 678) 400 PATH_TYPE@[667; 678)
401 PATH@[667; 678) 401 PATH@[667; 678)
402 PATH_SEGMENT@[667; 678) 402 PATH_SEGMENT@[667; 678)
403 COLONCOLON@[667; 669) "::" 403 COLON2@[667; 669) "::"
404 NAME_REF@[669; 678) 404 NAME_REF@[669; 678)
405 IDENT@[669; 678) "socklen_t" 405 IDENT@[669; 678) "socklen_t"
406 R_PAREN@[678; 679) ")" 406 R_PAREN@[678; 679) ")"
@@ -411,10 +411,10 @@ SOURCE_FILE@[0; 1598)
411 PATH_TYPE@[683; 690) 411 PATH_TYPE@[683; 690)
412 PATH@[683; 690) 412 PATH@[683; 690)
413 PATH_SEGMENT@[683; 690) 413 PATH_SEGMENT@[683; 690)
414 COLONCOLON@[683; 685) "::" 414 COLON2@[683; 685) "::"
415 NAME_REF@[685; 690) 415 NAME_REF@[685; 690)
416 IDENT@[685; 690) "c_int" 416 IDENT@[685; 690) "c_int"
417 SEMI@[690; 691) ";" 417 SEMICOLON@[690; 691) ";"
418 WHITESPACE@[691; 696) "\n " 418 WHITESPACE@[691; 696) "\n "
419 FN_DEF@[696; 864) 419 FN_DEF@[696; 864)
420 VISIBILITY@[696; 699) 420 VISIBILITY@[696; 699)
@@ -435,7 +435,7 @@ SOURCE_FILE@[0; 1598)
435 PATH_TYPE@[722; 729) 435 PATH_TYPE@[722; 729)
436 PATH@[722; 729) 436 PATH@[722; 729)
437 PATH_SEGMENT@[722; 729) 437 PATH_SEGMENT@[722; 729)
438 COLONCOLON@[722; 724) "::" 438 COLON2@[722; 724) "::"
439 NAME_REF@[724; 729) 439 NAME_REF@[724; 729)
440 IDENT@[724; 729) "c_int" 440 IDENT@[724; 729) "c_int"
441 COMMA@[729; 730) "," 441 COMMA@[729; 730) ","
@@ -449,7 +449,7 @@ SOURCE_FILE@[0; 1598)
449 PATH_TYPE@[738; 745) 449 PATH_TYPE@[738; 745)
450 PATH@[738; 745) 450 PATH@[738; 745)
451 PATH_SEGMENT@[738; 745) 451 PATH_SEGMENT@[738; 745)
452 COLONCOLON@[738; 740) "::" 452 COLON2@[738; 740) "::"
453 NAME_REF@[740; 745) 453 NAME_REF@[740; 745)
454 IDENT@[740; 745) "c_int" 454 IDENT@[740; 745) "c_int"
455 COMMA@[745; 746) "," 455 COMMA@[745; 746) ","
@@ -463,7 +463,7 @@ SOURCE_FILE@[0; 1598)
463 PATH_TYPE@[753; 760) 463 PATH_TYPE@[753; 760)
464 PATH@[753; 760) 464 PATH@[753; 760)
465 PATH_SEGMENT@[753; 760) 465 PATH_SEGMENT@[753; 760)
466 COLONCOLON@[753; 755) "::" 466 COLON2@[753; 755) "::"
467 NAME_REF@[755; 760) 467 NAME_REF@[755; 760)
468 IDENT@[755; 760) "c_int" 468 IDENT@[755; 760) "c_int"
469 COMMA@[760; 761) "," 469 COMMA@[760; 761) ","
@@ -481,7 +481,7 @@ SOURCE_FILE@[0; 1598)
481 PATH_TYPE@[798; 806) 481 PATH_TYPE@[798; 806)
482 PATH@[798; 806) 482 PATH@[798; 806)
483 PATH_SEGMENT@[798; 806) 483 PATH_SEGMENT@[798; 806)
484 COLONCOLON@[798; 800) "::" 484 COLON2@[798; 800) "::"
485 NAME_REF@[800; 806) 485 NAME_REF@[800; 806)
486 IDENT@[800; 806) "c_void" 486 IDENT@[800; 806) "c_void"
487 COMMA@[806; 807) "," 487 COMMA@[806; 807) ","
@@ -505,10 +505,10 @@ SOURCE_FILE@[0; 1598)
505 PATH_TYPE@[856; 863) 505 PATH_TYPE@[856; 863)
506 PATH@[856; 863) 506 PATH@[856; 863)
507 PATH_SEGMENT@[856; 863) 507 PATH_SEGMENT@[856; 863)
508 COLONCOLON@[856; 858) "::" 508 COLON2@[856; 858) "::"
509 NAME_REF@[858; 863) 509 NAME_REF@[858; 863)
510 IDENT@[858; 863) "c_int" 510 IDENT@[858; 863) "c_int"
511 SEMI@[863; 864) ";" 511 SEMICOLON@[863; 864) ";"
512 WHITESPACE@[864; 869) "\n " 512 WHITESPACE@[864; 869) "\n "
513 FN_DEF@[869; 992) 513 FN_DEF@[869; 992)
514 VISIBILITY@[869; 872) 514 VISIBILITY@[869; 872)
@@ -529,7 +529,7 @@ SOURCE_FILE@[0; 1598)
529 PATH_TYPE@[896; 903) 529 PATH_TYPE@[896; 903)
530 PATH@[896; 903) 530 PATH@[896; 903)
531 PATH_SEGMENT@[896; 903) 531 PATH_SEGMENT@[896; 903)
532 COLONCOLON@[896; 898) "::" 532 COLON2@[896; 898) "::"
533 NAME_REF@[898; 903) 533 NAME_REF@[898; 903)
534 IDENT@[898; 903) "c_int" 534 IDENT@[898; 903) "c_int"
535 COMMA@[903; 904) "," 535 COMMA@[903; 904) ","
@@ -574,10 +574,10 @@ SOURCE_FILE@[0; 1598)
574 PATH_TYPE@[984; 991) 574 PATH_TYPE@[984; 991)
575 PATH@[984; 991) 575 PATH@[984; 991)
576 PATH_SEGMENT@[984; 991) 576 PATH_SEGMENT@[984; 991)
577 COLONCOLON@[984; 986) "::" 577 COLON2@[984; 986) "::"
578 NAME_REF@[986; 991) 578 NAME_REF@[986; 991)
579 IDENT@[986; 991) "c_int" 579 IDENT@[986; 991) "c_int"
580 SEMI@[991; 992) ";" 580 SEMICOLON@[991; 992) ";"
581 WHITESPACE@[992; 997) "\n " 581 WHITESPACE@[992; 997) "\n "
582 FN_DEF@[997; 1173) 582 FN_DEF@[997; 1173)
583 VISIBILITY@[997; 1000) 583 VISIBILITY@[997; 1000)
@@ -598,7 +598,7 @@ SOURCE_FILE@[0; 1598)
598 PATH_TYPE@[1019; 1026) 598 PATH_TYPE@[1019; 1026)
599 PATH@[1019; 1026) 599 PATH@[1019; 1026)
600 PATH_SEGMENT@[1019; 1026) 600 PATH_SEGMENT@[1019; 1026)
601 COLONCOLON@[1019; 1021) "::" 601 COLON2@[1019; 1021) "::"
602 NAME_REF@[1021; 1026) 602 NAME_REF@[1021; 1026)
603 IDENT@[1021; 1026) "c_int" 603 IDENT@[1021; 1026) "c_int"
604 COMMA@[1026; 1027) "," 604 COMMA@[1026; 1027) ","
@@ -616,7 +616,7 @@ SOURCE_FILE@[0; 1598)
616 PATH_TYPE@[1040; 1048) 616 PATH_TYPE@[1040; 1048)
617 PATH@[1040; 1048) 617 PATH@[1040; 1048)
618 PATH_SEGMENT@[1040; 1048) 618 PATH_SEGMENT@[1040; 1048)
619 COLONCOLON@[1040; 1042) "::" 619 COLON2@[1040; 1042) "::"
620 NAME_REF@[1042; 1048) 620 NAME_REF@[1042; 1048)
621 IDENT@[1042; 1048) "c_void" 621 IDENT@[1042; 1048) "c_void"
622 COMMA@[1048; 1049) "," 622 COMMA@[1048; 1049) ","
@@ -630,7 +630,7 @@ SOURCE_FILE@[0; 1598)
630 PATH_TYPE@[1055; 1063) 630 PATH_TYPE@[1055; 1063)
631 PATH@[1055; 1063) 631 PATH@[1055; 1063)
632 PATH_SEGMENT@[1055; 1063) 632 PATH_SEGMENT@[1055; 1063)
633 COLONCOLON@[1055; 1057) "::" 633 COLON2@[1055; 1057) "::"
634 NAME_REF@[1057; 1063) 634 NAME_REF@[1057; 1063)
635 IDENT@[1057; 1063) "size_t" 635 IDENT@[1057; 1063) "size_t"
636 COMMA@[1063; 1064) "," 636 COMMA@[1063; 1064) ","
@@ -644,7 +644,7 @@ SOURCE_FILE@[0; 1598)
644 PATH_TYPE@[1090; 1097) 644 PATH_TYPE@[1090; 1097)
645 PATH@[1090; 1097) 645 PATH@[1090; 1097)
646 PATH_SEGMENT@[1090; 1097) 646 PATH_SEGMENT@[1090; 1097)
647 COLONCOLON@[1090; 1092) "::" 647 COLON2@[1090; 1092) "::"
648 NAME_REF@[1092; 1097) 648 NAME_REF@[1092; 1097)
649 IDENT@[1092; 1097) "c_int" 649 IDENT@[1092; 1097) "c_int"
650 COMMA@[1097; 1098) "," 650 COMMA@[1097; 1098) ","
@@ -685,10 +685,10 @@ SOURCE_FILE@[0; 1598)
685 PATH_TYPE@[1163; 1172) 685 PATH_TYPE@[1163; 1172)
686 PATH@[1163; 1172) 686 PATH@[1163; 1172)
687 PATH_SEGMENT@[1163; 1172) 687 PATH_SEGMENT@[1163; 1172)
688 COLONCOLON@[1163; 1165) "::" 688 COLON2@[1163; 1165) "::"
689 NAME_REF@[1165; 1172) 689 NAME_REF@[1165; 1172)
690 IDENT@[1165; 1172) "ssize_t" 690 IDENT@[1165; 1172) "ssize_t"
691 SEMI@[1172; 1173) ";" 691 SEMICOLON@[1172; 1173) ";"
692 WHITESPACE@[1173; 1178) "\n " 692 WHITESPACE@[1173; 1178) "\n "
693 FN_DEF@[1178; 1289) 693 FN_DEF@[1178; 1289)
694 VISIBILITY@[1178; 1181) 694 VISIBILITY@[1178; 1181)
@@ -709,7 +709,7 @@ SOURCE_FILE@[0; 1598)
709 PATH_TYPE@[1198; 1205) 709 PATH_TYPE@[1198; 1205)
710 PATH@[1198; 1205) 710 PATH@[1198; 1205)
711 PATH_SEGMENT@[1198; 1205) 711 PATH_SEGMENT@[1198; 1205)
712 COLONCOLON@[1198; 1200) "::" 712 COLON2@[1198; 1200) "::"
713 NAME_REF@[1200; 1205) 713 NAME_REF@[1200; 1205)
714 IDENT@[1200; 1205) "c_int" 714 IDENT@[1200; 1205) "c_int"
715 COMMA@[1205; 1206) "," 715 COMMA@[1205; 1206) ","
@@ -727,7 +727,7 @@ SOURCE_FILE@[0; 1598)
727 PATH_TYPE@[1219; 1227) 727 PATH_TYPE@[1219; 1227)
728 PATH@[1219; 1227) 728 PATH@[1219; 1227)
729 PATH_SEGMENT@[1219; 1227) 729 PATH_SEGMENT@[1219; 1227)
730 COLONCOLON@[1219; 1221) "::" 730 COLON2@[1219; 1221) "::"
731 NAME_REF@[1221; 1227) 731 NAME_REF@[1221; 1227)
732 IDENT@[1221; 1227) "c_void" 732 IDENT@[1221; 1227) "c_void"
733 COMMA@[1227; 1228) "," 733 COMMA@[1227; 1228) ","
@@ -741,7 +741,7 @@ SOURCE_FILE@[0; 1598)
741 PATH_TYPE@[1234; 1242) 741 PATH_TYPE@[1234; 1242)
742 PATH@[1234; 1242) 742 PATH@[1234; 1242)
743 PATH_SEGMENT@[1234; 1242) 743 PATH_SEGMENT@[1234; 1242)
744 COLONCOLON@[1234; 1236) "::" 744 COLON2@[1234; 1236) "::"
745 NAME_REF@[1236; 1242) 745 NAME_REF@[1236; 1242)
746 IDENT@[1236; 1242) "size_t" 746 IDENT@[1236; 1242) "size_t"
747 COMMA@[1242; 1243) "," 747 COMMA@[1242; 1243) ","
@@ -755,7 +755,7 @@ SOURCE_FILE@[0; 1598)
755 PATH_TYPE@[1267; 1274) 755 PATH_TYPE@[1267; 1274)
756 PATH@[1267; 1274) 756 PATH@[1267; 1274)
757 PATH_SEGMENT@[1267; 1274) 757 PATH_SEGMENT@[1267; 1274)
758 COLONCOLON@[1267; 1269) "::" 758 COLON2@[1267; 1269) "::"
759 NAME_REF@[1269; 1274) 759 NAME_REF@[1269; 1274)
760 IDENT@[1269; 1274) "c_int" 760 IDENT@[1269; 1274) "c_int"
761 R_PAREN@[1274; 1275) ")" 761 R_PAREN@[1274; 1275) ")"
@@ -766,10 +766,10 @@ SOURCE_FILE@[0; 1598)
766 PATH_TYPE@[1279; 1288) 766 PATH_TYPE@[1279; 1288)
767 PATH@[1279; 1288) 767 PATH@[1279; 1288)
768 PATH_SEGMENT@[1279; 1288) 768 PATH_SEGMENT@[1279; 1288)
769 COLONCOLON@[1279; 1281) "::" 769 COLON2@[1279; 1281) "::"
770 NAME_REF@[1281; 1288) 770 NAME_REF@[1281; 1288)
771 IDENT@[1281; 1288) "ssize_t" 771 IDENT@[1281; 1288) "ssize_t"
772 SEMI@[1288; 1289) ";" 772 SEMICOLON@[1288; 1289) ";"
773 WHITESPACE@[1289; 1294) "\n " 773 WHITESPACE@[1289; 1294) "\n "
774 FN_DEF@[1294; 1481) 774 FN_DEF@[1294; 1481)
775 VISIBILITY@[1294; 1297) 775 VISIBILITY@[1294; 1297)
@@ -790,7 +790,7 @@ SOURCE_FILE@[0; 1598)
790 PATH_TYPE@[1318; 1325) 790 PATH_TYPE@[1318; 1325)
791 PATH@[1318; 1325) 791 PATH@[1318; 1325)
792 PATH_SEGMENT@[1318; 1325) 792 PATH_SEGMENT@[1318; 1325)
793 COLONCOLON@[1318; 1320) "::" 793 COLON2@[1318; 1320) "::"
794 NAME_REF@[1320; 1325) 794 NAME_REF@[1320; 1325)
795 IDENT@[1320; 1325) "c_int" 795 IDENT@[1320; 1325) "c_int"
796 COMMA@[1325; 1326) "," 796 COMMA@[1325; 1326) ","
@@ -808,7 +808,7 @@ SOURCE_FILE@[0; 1598)
808 PATH_TYPE@[1337; 1345) 808 PATH_TYPE@[1337; 1345)
809 PATH@[1337; 1345) 809 PATH@[1337; 1345)
810 PATH_SEGMENT@[1337; 1345) 810 PATH_SEGMENT@[1337; 1345)
811 COLONCOLON@[1337; 1339) "::" 811 COLON2@[1337; 1339) "::"
812 NAME_REF@[1339; 1345) 812 NAME_REF@[1339; 1345)
813 IDENT@[1339; 1345) "c_void" 813 IDENT@[1339; 1345) "c_void"
814 COMMA@[1345; 1346) "," 814 COMMA@[1345; 1346) ","
@@ -822,7 +822,7 @@ SOURCE_FILE@[0; 1598)
822 PATH_TYPE@[1352; 1360) 822 PATH_TYPE@[1352; 1360)
823 PATH@[1352; 1360) 823 PATH@[1352; 1360)
824 PATH_SEGMENT@[1352; 1360) 824 PATH_SEGMENT@[1352; 1360)
825 COLONCOLON@[1352; 1354) "::" 825 COLON2@[1352; 1354) "::"
826 NAME_REF@[1354; 1360) 826 NAME_REF@[1354; 1360)
827 IDENT@[1354; 1360) "size_t" 827 IDENT@[1354; 1360) "size_t"
828 COMMA@[1360; 1361) "," 828 COMMA@[1360; 1361) ","
@@ -836,7 +836,7 @@ SOURCE_FILE@[0; 1598)
836 PATH_TYPE@[1389; 1396) 836 PATH_TYPE@[1389; 1396)
837 PATH@[1389; 1396) 837 PATH@[1389; 1396)
838 PATH_SEGMENT@[1389; 1396) 838 PATH_SEGMENT@[1389; 1396)
839 COLONCOLON@[1389; 1391) "::" 839 COLON2@[1389; 1391) "::"
840 NAME_REF@[1391; 1396) 840 NAME_REF@[1391; 1396)
841 IDENT@[1391; 1396) "c_int" 841 IDENT@[1391; 1396) "c_int"
842 COMMA@[1396; 1397) "," 842 COMMA@[1396; 1397) ","
@@ -854,7 +854,7 @@ SOURCE_FILE@[0; 1598)
854 PATH_TYPE@[1409; 1419) 854 PATH_TYPE@[1409; 1419)
855 PATH@[1409; 1419) 855 PATH@[1409; 1419)
856 PATH_SEGMENT@[1409; 1419) 856 PATH_SEGMENT@[1409; 1419)
857 COLONCOLON@[1409; 1411) "::" 857 COLON2@[1409; 1411) "::"
858 NAME_REF@[1411; 1419) 858 NAME_REF@[1411; 1419)
859 IDENT@[1411; 1419) "sockaddr" 859 IDENT@[1411; 1419) "sockaddr"
860 COMMA@[1419; 1420) "," 860 COMMA@[1419; 1420) ","
@@ -872,7 +872,7 @@ SOURCE_FILE@[0; 1598)
872 PATH_TYPE@[1455; 1466) 872 PATH_TYPE@[1455; 1466)
873 PATH@[1455; 1466) 873 PATH@[1455; 1466)
874 PATH_SEGMENT@[1455; 1466) 874 PATH_SEGMENT@[1455; 1466)
875 COLONCOLON@[1455; 1457) "::" 875 COLON2@[1455; 1457) "::"
876 NAME_REF@[1457; 1466) 876 NAME_REF@[1457; 1466)
877 IDENT@[1457; 1466) "socklen_t" 877 IDENT@[1457; 1466) "socklen_t"
878 R_PAREN@[1466; 1467) ")" 878 R_PAREN@[1466; 1467) ")"
@@ -883,10 +883,10 @@ SOURCE_FILE@[0; 1598)
883 PATH_TYPE@[1471; 1480) 883 PATH_TYPE@[1471; 1480)
884 PATH@[1471; 1480) 884 PATH@[1471; 1480)
885 PATH_SEGMENT@[1471; 1480) 885 PATH_SEGMENT@[1471; 1480)
886 COLONCOLON@[1471; 1473) "::" 886 COLON2@[1471; 1473) "::"
887 NAME_REF@[1473; 1480) 887 NAME_REF@[1473; 1480)
888 IDENT@[1473; 1480) "ssize_t" 888 IDENT@[1473; 1480) "ssize_t"
889 SEMI@[1480; 1481) ";" 889 SEMICOLON@[1480; 1481) ";"
890 WHITESPACE@[1481; 1486) "\n " 890 WHITESPACE@[1481; 1486) "\n "
891 FN_DEF@[1486; 1595) 891 FN_DEF@[1486; 1595)
892 VISIBILITY@[1486; 1489) 892 VISIBILITY@[1486; 1489)
@@ -907,7 +907,7 @@ SOURCE_FILE@[0; 1598)
907 PATH_TYPE@[1506; 1513) 907 PATH_TYPE@[1506; 1513)
908 PATH@[1506; 1513) 908 PATH@[1506; 1513)
909 PATH_SEGMENT@[1506; 1513) 909 PATH_SEGMENT@[1506; 1513)
910 COLONCOLON@[1506; 1508) "::" 910 COLON2@[1506; 1508) "::"
911 NAME_REF@[1508; 1513) 911 NAME_REF@[1508; 1513)
912 IDENT@[1508; 1513) "c_int" 912 IDENT@[1508; 1513) "c_int"
913 COMMA@[1513; 1514) "," 913 COMMA@[1513; 1514) ","
@@ -925,7 +925,7 @@ SOURCE_FILE@[0; 1598)
925 PATH_TYPE@[1525; 1533) 925 PATH_TYPE@[1525; 1533)
926 PATH@[1525; 1533) 926 PATH@[1525; 1533)
927 PATH_SEGMENT@[1525; 1533) 927 PATH_SEGMENT@[1525; 1533)
928 COLONCOLON@[1525; 1527) "::" 928 COLON2@[1525; 1527) "::"
929 NAME_REF@[1527; 1533) 929 NAME_REF@[1527; 1533)
930 IDENT@[1527; 1533) "c_void" 930 IDENT@[1527; 1533) "c_void"
931 COMMA@[1533; 1534) "," 931 COMMA@[1533; 1534) ","
@@ -939,7 +939,7 @@ SOURCE_FILE@[0; 1598)
939 PATH_TYPE@[1540; 1548) 939 PATH_TYPE@[1540; 1548)
940 PATH@[1540; 1548) 940 PATH@[1540; 1548)
941 PATH_SEGMENT@[1540; 1548) 941 PATH_SEGMENT@[1540; 1548)
942 COLONCOLON@[1540; 1542) "::" 942 COLON2@[1540; 1542) "::"
943 NAME_REF@[1542; 1548) 943 NAME_REF@[1542; 1548)
944 IDENT@[1542; 1548) "size_t" 944 IDENT@[1542; 1548) "size_t"
945 COMMA@[1548; 1549) "," 945 COMMA@[1548; 1549) ","
@@ -953,7 +953,7 @@ SOURCE_FILE@[0; 1598)
953 PATH_TYPE@[1573; 1580) 953 PATH_TYPE@[1573; 1580)
954 PATH@[1573; 1580) 954 PATH@[1573; 1580)
955 PATH_SEGMENT@[1573; 1580) 955 PATH_SEGMENT@[1573; 1580)
956 COLONCOLON@[1573; 1575) "::" 956 COLON2@[1573; 1575) "::"
957 NAME_REF@[1575; 1580) 957 NAME_REF@[1575; 1580)
958 IDENT@[1575; 1580) "c_int" 958 IDENT@[1575; 1580) "c_int"
959 R_PAREN@[1580; 1581) ")" 959 R_PAREN@[1580; 1581) ")"
@@ -964,10 +964,10 @@ SOURCE_FILE@[0; 1598)
964 PATH_TYPE@[1585; 1594) 964 PATH_TYPE@[1585; 1594)
965 PATH@[1585; 1594) 965 PATH@[1585; 1594)
966 PATH_SEGMENT@[1585; 1594) 966 PATH_SEGMENT@[1585; 1594)
967 COLONCOLON@[1585; 1587) "::" 967 COLON2@[1585; 1587) "::"
968 NAME_REF@[1587; 1594) 968 NAME_REF@[1587; 1594)
969 IDENT@[1587; 1594) "ssize_t" 969 IDENT@[1587; 1594) "ssize_t"
970 SEMI@[1594; 1595) ";" 970 SEMICOLON@[1594; 1595) ";"
971 WHITESPACE@[1595; 1596) "\n" 971 WHITESPACE@[1595; 1596) "\n"
972 R_CURLY@[1596; 1597) "}" 972 R_CURLY@[1596; 1597) "}"
973 WHITESPACE@[1597; 1598) "\n" 973 WHITESPACE@[1597; 1598) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast b/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast
index 3a333480e..f71cf5b6c 100644
--- a/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0032_where_for.rast
@@ -74,11 +74,11 @@ SOURCE_FILE@[0; 116)
74 PATH_SEGMENT@[96; 99) 74 PATH_SEGMENT@[96; 99)
75 NAME_REF@[96; 99) 75 NAME_REF@[96; 99)
76 IDENT@[96; 99) "std" 76 IDENT@[96; 99) "std"
77 COLONCOLON@[99; 101) "::" 77 COLON2@[99; 101) "::"
78 PATH_SEGMENT@[101; 104) 78 PATH_SEGMENT@[101; 104)
79 NAME_REF@[101; 104) 79 NAME_REF@[101; 104)
80 IDENT@[101; 104) "fmt" 80 IDENT@[101; 104) "fmt"
81 COLONCOLON@[104; 106) "::" 81 COLON2@[104; 106) "::"
82 PATH_SEGMENT@[106; 111) 82 PATH_SEGMENT@[106; 111)
83 NAME_REF@[106; 111) 83 NAME_REF@[106; 111)
84 IDENT@[106; 111) "Debug" 84 IDENT@[106; 111) "Debug"
diff --git a/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast b/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast
index bd9e3fd85..8af41caa0 100644
--- a/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast
@@ -43,7 +43,7 @@ SOURCE_FILE@[0; 506)
43 ARG_LIST@[98; 100) 43 ARG_LIST@[98; 100)
44 L_PAREN@[98; 99) "(" 44 L_PAREN@[98; 99) "("
45 R_PAREN@[99; 100) ")" 45 R_PAREN@[99; 100) ")"
46 SEMI@[100; 101) ";" 46 SEMICOLON@[100; 101) ";"
47 WHITESPACE@[101; 110) "\n " 47 WHITESPACE@[101; 110) "\n "
48 EXPR_STMT@[110; 170) 48 EXPR_STMT@[110; 170)
49 IF_EXPR@[110; 170) 49 IF_EXPR@[110; 170)
@@ -69,7 +69,7 @@ SOURCE_FILE@[0; 506)
69 BREAK_KW@[147; 152) "break" 69 BREAK_KW@[147; 152) "break"
70 WHITESPACE@[152; 153) " " 70 WHITESPACE@[152; 153) " "
71 LIFETIME@[153; 159) "\'block" 71 LIFETIME@[153; 159) "\'block"
72 SEMI@[159; 160) ";" 72 SEMICOLON@[159; 160) ";"
73 WHITESPACE@[160; 169) "\n " 73 WHITESPACE@[160; 169) "\n "
74 R_CURLY@[169; 170) "}" 74 R_CURLY@[169; 170) "}"
75 WHITESPACE@[170; 179) "\n " 75 WHITESPACE@[170; 179) "\n "
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 506)
83 ARG_LIST@[192; 194) 83 ARG_LIST@[192; 194)
84 L_PAREN@[192; 193) "(" 84 L_PAREN@[192; 193) "("
85 R_PAREN@[193; 194) ")" 85 R_PAREN@[193; 194) ")"
86 SEMI@[194; 195) ";" 86 SEMICOLON@[194; 195) ";"
87 WHITESPACE@[195; 204) "\n " 87 WHITESPACE@[195; 204) "\n "
88 EXPR_STMT@[204; 264) 88 EXPR_STMT@[204; 264)
89 IF_EXPR@[204; 264) 89 IF_EXPR@[204; 264)
@@ -109,7 +109,7 @@ SOURCE_FILE@[0; 506)
109 BREAK_KW@[241; 246) "break" 109 BREAK_KW@[241; 246) "break"
110 WHITESPACE@[246; 247) " " 110 WHITESPACE@[246; 247) " "
111 LIFETIME@[247; 253) "\'block" 111 LIFETIME@[247; 253) "\'block"
112 SEMI@[253; 254) ";" 112 SEMICOLON@[253; 254) ";"
113 WHITESPACE@[254; 263) "\n " 113 WHITESPACE@[254; 263) "\n "
114 R_CURLY@[263; 264) "}" 114 R_CURLY@[263; 264) "}"
115 WHITESPACE@[264; 273) "\n " 115 WHITESPACE@[264; 273) "\n "
@@ -123,7 +123,7 @@ SOURCE_FILE@[0; 506)
123 ARG_LIST@[286; 288) 123 ARG_LIST@[286; 288)
124 L_PAREN@[286; 287) "(" 124 L_PAREN@[286; 287) "("
125 R_PAREN@[287; 288) ")" 125 R_PAREN@[287; 288) ")"
126 SEMI@[288; 289) ";" 126 SEMICOLON@[288; 289) ";"
127 WHITESPACE@[289; 294) "\n " 127 WHITESPACE@[289; 294) "\n "
128 R_CURLY@[294; 295) "}" 128 R_CURLY@[294; 295) "}"
129 WHITESPACE@[295; 301) "\n\n " 129 WHITESPACE@[295; 301) "\n\n "
@@ -173,7 +173,7 @@ SOURCE_FILE@[0; 506)
173 WHITESPACE@[390; 391) " " 173 WHITESPACE@[390; 391) " "
174 LITERAL@[391; 392) 174 LITERAL@[391; 392)
175 INT_NUMBER@[391; 392) "1" 175 INT_NUMBER@[391; 392) "1"
176 SEMI@[392; 393) ";" 176 SEMICOLON@[392; 393) ";"
177 WHITESPACE@[393; 402) "\n " 177 WHITESPACE@[393; 402) "\n "
178 R_CURLY@[402; 403) "}" 178 R_CURLY@[402; 403) "}"
179 WHITESPACE@[403; 412) "\n " 179 WHITESPACE@[403; 412) "\n "
@@ -206,7 +206,7 @@ SOURCE_FILE@[0; 506)
206 WHITESPACE@[473; 474) " " 206 WHITESPACE@[473; 474) " "
207 LITERAL@[474; 475) 207 LITERAL@[474; 475)
208 INT_NUMBER@[474; 475) "2" 208 INT_NUMBER@[474; 475) "2"
209 SEMI@[475; 476) ";" 209 SEMICOLON@[475; 476) ";"
210 WHITESPACE@[476; 485) "\n " 210 WHITESPACE@[476; 485) "\n "
211 R_CURLY@[485; 486) "}" 211 R_CURLY@[485; 486) "}"
212 WHITESPACE@[486; 495) "\n " 212 WHITESPACE@[486; 495) "\n "
@@ -214,7 +214,7 @@ SOURCE_FILE@[0; 506)
214 INT_NUMBER@[495; 496) "3" 214 INT_NUMBER@[495; 496) "3"
215 WHITESPACE@[496; 501) "\n " 215 WHITESPACE@[496; 501) "\n "
216 R_CURLY@[501; 502) "}" 216 R_CURLY@[501; 502) "}"
217 SEMI@[502; 503) ";" 217 SEMICOLON@[502; 503) ";"
218 WHITESPACE@[503; 504) "\n" 218 WHITESPACE@[503; 504) "\n"
219 R_CURLY@[504; 505) "}" 219 R_CURLY@[504; 505) "}"
220 WHITESPACE@[505; 506) "\n" 220 WHITESPACE@[505; 506) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast
index fc0d452f4..beaa96388 100644
--- a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast
@@ -27,16 +27,16 @@ SOURCE_FILE@[0; 62)
27 PATH@[27; 32) 27 PATH@[27; 32)
28 PATH_SEGMENT@[27; 32) 28 PATH_SEGMENT@[27; 32)
29 CRATE_KW@[27; 32) "crate" 29 CRATE_KW@[27; 32) "crate"
30 COLONCOLON@[32; 34) "::" 30 COLON2@[32; 34) "::"
31 PATH_SEGMENT@[34; 44) 31 PATH_SEGMENT@[34; 44)
32 NAME_REF@[34; 44) 32 NAME_REF@[34; 44)
33 IDENT@[34; 44) "module_map" 33 IDENT@[34; 44) "module_map"
34 COLONCOLON@[44; 46) "::" 34 COLON2@[44; 46) "::"
35 PATH_SEGMENT@[46; 57) 35 PATH_SEGMENT@[46; 57)
36 NAME_REF@[46; 57) 36 NAME_REF@[46; 57)
37 IDENT@[46; 57) "module_tree" 37 IDENT@[46; 57) "module_tree"
38 R_PAREN@[57; 58) ")" 38 R_PAREN@[57; 58) ")"
39 SEMI@[58; 59) ";" 39 SEMICOLON@[58; 59) ";"
40 WHITESPACE@[59; 60) "\n" 40 WHITESPACE@[59; 60) "\n"
41 R_CURLY@[60; 61) "}" 41 R_CURLY@[60; 61) "}"
42 WHITESPACE@[61; 62) "\n" 42 WHITESPACE@[61; 62) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
index 90538b90d..7143a31a5 100644
--- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
@@ -9,7 +9,7 @@ SOURCE_FILE@[0; 3813)
9 WHITESPACE@[269; 271) "\n\n" 9 WHITESPACE@[269; 271) "\n\n"
10 ATTR@[271; 302) 10 ATTR@[271; 302)
11 POUND@[271; 272) "#" 11 POUND@[271; 272) "#"
12 EXCL@[272; 273) "!" 12 BANG@[272; 273) "!"
13 L_BRACK@[273; 274) "[" 13 L_BRACK@[273; 274) "["
14 PATH@[274; 279) 14 PATH@[274; 279)
15 PATH_SEGMENT@[274; 279) 15 PATH_SEGMENT@[274; 279)
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 3813)
23 WHITESPACE@[302; 303) "\n" 23 WHITESPACE@[302; 303) "\n"
24 ATTR@[303; 323) 24 ATTR@[303; 323)
25 POUND@[303; 304) "#" 25 POUND@[303; 304) "#"
26 EXCL@[304; 305) "!" 26 BANG@[304; 305) "!"
27 L_BRACK@[305; 306) "[" 27 L_BRACK@[305; 306) "["
28 PATH@[306; 311) 28 PATH@[306; 311)
29 PATH_SEGMENT@[306; 311) 29 PATH_SEGMENT@[306; 311)
@@ -37,7 +37,7 @@ SOURCE_FILE@[0; 3813)
37 WHITESPACE@[323; 324) "\n" 37 WHITESPACE@[323; 324) "\n"
38 ATTR@[324; 351) 38 ATTR@[324; 351)
39 POUND@[324; 325) "#" 39 POUND@[324; 325) "#"
40 EXCL@[325; 326) "!" 40 BANG@[325; 326) "!"
41 L_BRACK@[326; 327) "[" 41 L_BRACK@[326; 327) "["
42 PATH@[327; 332) 42 PATH@[327; 332)
43 PATH_SEGMENT@[327; 332) 43 PATH_SEGMENT@[327; 332)
@@ -51,7 +51,7 @@ SOURCE_FILE@[0; 3813)
51 WHITESPACE@[351; 352) "\n" 51 WHITESPACE@[351; 352) "\n"
52 ATTR@[352; 376) 52 ATTR@[352; 376)
53 POUND@[352; 353) "#" 53 POUND@[352; 353) "#"
54 EXCL@[353; 354) "!" 54 BANG@[353; 354) "!"
55 L_BRACK@[354; 355) "[" 55 L_BRACK@[354; 355) "["
56 PATH@[355; 360) 56 PATH@[355; 360)
57 PATH_SEGMENT@[355; 360) 57 PATH_SEGMENT@[355; 360)
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 3813)
65 WHITESPACE@[376; 378) "\n\n" 65 WHITESPACE@[376; 378) "\n\n"
66 ATTR@[378; 405) 66 ATTR@[378; 405)
67 POUND@[378; 379) "#" 67 POUND@[378; 379) "#"
68 EXCL@[379; 380) "!" 68 BANG@[379; 380) "!"
69 L_BRACK@[380; 381) "[" 69 L_BRACK@[380; 381) "["
70 PATH@[381; 396) 70 PATH@[381; 396)
71 PATH_SEGMENT@[381; 396) 71 PATH_SEGMENT@[381; 396)
@@ -88,15 +88,15 @@ SOURCE_FILE@[0; 3813)
88 PATH_SEGMENT@[411; 414) 88 PATH_SEGMENT@[411; 414)
89 NAME_REF@[411; 414) 89 NAME_REF@[411; 414)
90 IDENT@[411; 414) "std" 90 IDENT@[411; 414) "std"
91 COLONCOLON@[414; 416) "::" 91 COLON2@[414; 416) "::"
92 PATH_SEGMENT@[416; 420) 92 PATH_SEGMENT@[416; 420)
93 NAME_REF@[416; 420) 93 NAME_REF@[416; 420)
94 IDENT@[416; 420) "cell" 94 IDENT@[416; 420) "cell"
95 COLONCOLON@[420; 422) "::" 95 COLON2@[420; 422) "::"
96 PATH_SEGMENT@[422; 426) 96 PATH_SEGMENT@[422; 426)
97 NAME_REF@[422; 426) 97 NAME_REF@[422; 426)
98 IDENT@[422; 426) "Cell" 98 IDENT@[422; 426) "Cell"
99 SEMI@[426; 427) ";" 99 SEMICOLON@[426; 427) ";"
100 WHITESPACE@[427; 428) "\n" 100 WHITESPACE@[427; 428) "\n"
101 USE_ITEM@[428; 447) 101 USE_ITEM@[428; 447)
102 USE_KW@[428; 431) "use" 102 USE_KW@[428; 431) "use"
@@ -108,15 +108,15 @@ SOURCE_FILE@[0; 3813)
108 PATH_SEGMENT@[432; 435) 108 PATH_SEGMENT@[432; 435)
109 NAME_REF@[432; 435) 109 NAME_REF@[432; 435)
110 IDENT@[432; 435) "std" 110 IDENT@[432; 435) "std"
111 COLONCOLON@[435; 437) "::" 111 COLON2@[435; 437) "::"
112 PATH_SEGMENT@[437; 440) 112 PATH_SEGMENT@[437; 440)
113 NAME_REF@[437; 440) 113 NAME_REF@[437; 440)
114 IDENT@[437; 440) "mem" 114 IDENT@[437; 440) "mem"
115 COLONCOLON@[440; 442) "::" 115 COLON2@[440; 442) "::"
116 PATH_SEGMENT@[442; 446) 116 PATH_SEGMENT@[442; 446)
117 NAME_REF@[442; 446) 117 NAME_REF@[442; 446)
118 IDENT@[442; 446) "swap" 118 IDENT@[442; 446) "swap"
119 SEMI@[446; 447) ";" 119 SEMICOLON@[446; 447) ";"
120 WHITESPACE@[447; 449) "\n\n" 120 WHITESPACE@[447; 449) "\n\n"
121 COMMENT@[449; 518) "// Just a grab bag of ..." 121 COMMENT@[449; 518) "// Just a grab bag of ..."
122 WHITESPACE@[518; 520) "\n\n" 122 WHITESPACE@[518; 520) "\n\n"
@@ -163,7 +163,7 @@ SOURCE_FILE@[0; 3813)
163 WHITESPACE@[564; 565) " " 163 WHITESPACE@[564; 565) " "
164 LITERAL@[565; 569) 164 LITERAL@[565; 569)
165 TRUE_KW@[565; 569) "true" 165 TRUE_KW@[565; 569) "true"
166 SEMI@[569; 570) ";" 166 SEMICOLON@[569; 570) ";"
167 WHITESPACE@[570; 571) " " 167 WHITESPACE@[570; 571) " "
168 R_CURLY@[571; 572) "}" 168 R_CURLY@[571; 572) "}"
169 WHITESPACE@[572; 574) "\n\n" 169 WHITESPACE@[572; 574) "\n\n"
@@ -216,7 +216,7 @@ SOURCE_FILE@[0; 3813)
216 RETURN_EXPR@[614; 620) 216 RETURN_EXPR@[614; 620)
217 RETURN_KW@[614; 620) "return" 217 RETURN_KW@[614; 620) "return"
218 R_PAREN@[620; 621) ")" 218 R_PAREN@[620; 621) ")"
219 SEMI@[621; 622) ";" 219 SEMICOLON@[621; 622) ";"
220 WHITESPACE@[622; 623) "\n" 220 WHITESPACE@[622; 623) "\n"
221 R_CURLY@[623; 624) "}" 221 R_CURLY@[623; 624) "}"
222 WHITESPACE@[624; 626) "\n\n" 222 WHITESPACE@[624; 626) "\n\n"
@@ -277,7 +277,7 @@ SOURCE_FILE@[0; 3813)
277 WHITESPACE@[687; 688) " " 277 WHITESPACE@[687; 688) " "
278 CONDITION@[688; 696) 278 CONDITION@[688; 696)
279 PREFIX_EXPR@[688; 696) 279 PREFIX_EXPR@[688; 696)
280 EXCL@[688; 689) "!" 280 BANG@[688; 689) "!"
281 METHOD_CALL_EXPR@[689; 696) 281 METHOD_CALL_EXPR@[689; 696)
282 PATH_EXPR@[689; 690) 282 PATH_EXPR@[689; 690)
283 PATH@[689; 690) 283 PATH@[689; 690)
@@ -310,10 +310,10 @@ SOURCE_FILE@[0; 3813)
310 LITERAL@[705; 709) 310 LITERAL@[705; 709)
311 TRUE_KW@[705; 709) "true" 311 TRUE_KW@[705; 709) "true"
312 R_PAREN@[709; 710) ")" 312 R_PAREN@[709; 710) ")"
313 SEMI@[710; 711) ";" 313 SEMICOLON@[710; 711) ";"
314 WHITESPACE@[711; 712) " " 314 WHITESPACE@[711; 712) " "
315 R_CURLY@[712; 713) "}" 315 R_CURLY@[712; 713) "}"
316 SEMI@[713; 714) ";" 316 SEMICOLON@[713; 714) ";"
317 WHITESPACE@[714; 719) "\n " 317 WHITESPACE@[714; 719) "\n "
318 R_CURLY@[719; 720) "}" 318 R_CURLY@[719; 720) "}"
319 WHITESPACE@[720; 725) "\n " 319 WHITESPACE@[720; 725) "\n "
@@ -335,7 +335,7 @@ SOURCE_FILE@[0; 3813)
335 PATH_SEGMENT@[734; 738) 335 PATH_SEGMENT@[734; 738)
336 NAME_REF@[734; 738) 336 NAME_REF@[734; 738)
337 IDENT@[734; 738) "Cell" 337 IDENT@[734; 738) "Cell"
338 COLONCOLON@[738; 740) "::" 338 COLON2@[738; 740) "::"
339 PATH_SEGMENT@[740; 743) 339 PATH_SEGMENT@[740; 743)
340 NAME_REF@[740; 743) 340 NAME_REF@[740; 743)
341 IDENT@[740; 743) "new" 341 IDENT@[740; 743) "new"
@@ -344,7 +344,7 @@ SOURCE_FILE@[0; 3813)
344 LITERAL@[744; 749) 344 LITERAL@[744; 749)
345 FALSE_KW@[744; 749) "false" 345 FALSE_KW@[744; 749) "false"
346 R_PAREN@[749; 750) ")" 346 R_PAREN@[749; 750) ")"
347 SEMI@[750; 751) ";" 347 SEMICOLON@[750; 751) ";"
348 WHITESPACE@[751; 756) "\n " 348 WHITESPACE@[751; 756) "\n "
349 LET_STMT@[756; 778) 349 LET_STMT@[756; 778)
350 LET_KW@[756; 759) "let" 350 LET_KW@[756; 759) "let"
@@ -377,7 +377,7 @@ SOURCE_FILE@[0; 3813)
377 IDENT@[774; 775) "i" 377 IDENT@[774; 775) "i"
378 R_PAREN@[775; 776) ")" 378 R_PAREN@[775; 776) ")"
379 R_CURLY@[776; 777) "}" 379 R_CURLY@[776; 777) "}"
380 SEMI@[777; 778) ";" 380 SEMICOLON@[777; 778) ";"
381 WHITESPACE@[778; 783) "\n " 381 WHITESPACE@[778; 783) "\n "
382 EXPR_STMT@[783; 790) 382 EXPR_STMT@[783; 790)
383 CALL_EXPR@[783; 789) 383 CALL_EXPR@[783; 789)
@@ -389,7 +389,7 @@ SOURCE_FILE@[0; 3813)
389 ARG_LIST@[787; 789) 389 ARG_LIST@[787; 789)
390 L_PAREN@[787; 788) "(" 390 L_PAREN@[787; 788) "("
391 R_PAREN@[788; 789) ")" 391 R_PAREN@[788; 789) ")"
392 SEMI@[789; 790) ";" 392 SEMICOLON@[789; 790) ";"
393 WHITESPACE@[790; 795) "\n " 393 WHITESPACE@[790; 795) "\n "
394 EXPR_STMT@[795; 814) 394 EXPR_STMT@[795; 814)
395 MACRO_CALL@[795; 813) 395 MACRO_CALL@[795; 813)
@@ -397,7 +397,7 @@ SOURCE_FILE@[0; 3813)
397 PATH_SEGMENT@[795; 801) 397 PATH_SEGMENT@[795; 801)
398 NAME_REF@[795; 801) 398 NAME_REF@[795; 801)
399 IDENT@[795; 801) "assert" 399 IDENT@[795; 801) "assert"
400 EXCL@[801; 802) "!" 400 BANG@[801; 802) "!"
401 TOKEN_TREE@[802; 813) 401 TOKEN_TREE@[802; 813)
402 L_PAREN@[802; 803) "(" 402 L_PAREN@[802; 803) "("
403 TOKEN_TREE@[803; 812) 403 TOKEN_TREE@[803; 812)
@@ -410,7 +410,7 @@ SOURCE_FILE@[0; 3813)
410 R_PAREN@[810; 811) ")" 410 R_PAREN@[810; 811) ")"
411 R_PAREN@[811; 812) ")" 411 R_PAREN@[811; 812) ")"
412 R_PAREN@[812; 813) ")" 412 R_PAREN@[812; 813) ")"
413 SEMI@[813; 814) ";" 413 SEMICOLON@[813; 814) ";"
414 WHITESPACE@[814; 815) "\n" 414 WHITESPACE@[814; 815) "\n"
415 R_CURLY@[815; 816) "}" 415 R_CURLY@[815; 816) "}"
416 WHITESPACE@[816; 818) "\n\n" 416 WHITESPACE@[816; 818) "\n\n"
@@ -535,7 +535,7 @@ SOURCE_FILE@[0; 3813)
535 R_CURLY@[1182; 1183) "}" 535 R_CURLY@[1182; 1183) "}"
536 WHITESPACE@[1183; 1200) "\n " 536 WHITESPACE@[1183; 1200) "\n "
537 R_CURLY@[1200; 1201) "}" 537 R_CURLY@[1200; 1201) "}"
538 SEMI@[1201; 1202) ";" 538 SEMICOLON@[1201; 1202) ";"
539 WHITESPACE@[1202; 1215) "\n " 539 WHITESPACE@[1202; 1215) "\n "
540 R_CURLY@[1215; 1216) "}" 540 R_CURLY@[1215; 1216) "}"
541 WHITESPACE@[1216; 1217) " " 541 WHITESPACE@[1216; 1217) " "
@@ -558,7 +558,7 @@ SOURCE_FILE@[0; 3813)
558 EXPR_STMT@[1252; 1259) 558 EXPR_STMT@[1252; 1259)
559 RETURN_EXPR@[1252; 1258) 559 RETURN_EXPR@[1252; 1258)
560 RETURN_KW@[1252; 1258) "return" 560 RETURN_KW@[1252; 1258) "return"
561 SEMI@[1258; 1259) ";" 561 SEMICOLON@[1258; 1259) ";"
562 WHITESPACE@[1259; 1272) "\n " 562 WHITESPACE@[1259; 1272) "\n "
563 R_CURLY@[1272; 1273) "}" 563 R_CURLY@[1272; 1273) "}"
564 WHITESPACE@[1273; 1282) "\n " 564 WHITESPACE@[1273; 1282) "\n "
@@ -581,7 +581,7 @@ SOURCE_FILE@[0; 3813)
581 EXPR_STMT@[1306; 1312) 581 EXPR_STMT@[1306; 1312)
582 BREAK_EXPR@[1306; 1311) 582 BREAK_EXPR@[1306; 1311)
583 BREAK_KW@[1306; 1311) "break" 583 BREAK_KW@[1306; 1311) "break"
584 SEMI@[1311; 1312) ";" 584 SEMICOLON@[1311; 1312) ";"
585 WHITESPACE@[1312; 1313) " " 585 WHITESPACE@[1312; 1313) " "
586 R_CURLY@[1313; 1314) "}" 586 R_CURLY@[1313; 1314) "}"
587 WHITESPACE@[1314; 1319) "\n " 587 WHITESPACE@[1314; 1319) "\n "
@@ -617,7 +617,7 @@ SOURCE_FILE@[0; 3813)
617 PATH_SEGMENT@[1355; 1360) 617 PATH_SEGMENT@[1355; 1360)
618 NAME_REF@[1355; 1360) 618 NAME_REF@[1355; 1360)
619 IDENT@[1355; 1360) "isize" 619 IDENT@[1355; 1360) "isize"
620 SEMI@[1360; 1361) ";" 620 SEMICOLON@[1360; 1361) ";"
621 WHITESPACE@[1361; 1366) "\n " 621 WHITESPACE@[1361; 1366) "\n "
622 LET_STMT@[1366; 1400) 622 LET_STMT@[1366; 1400)
623 LET_KW@[1366; 1369) "let" 623 LET_KW@[1366; 1369) "let"
@@ -646,7 +646,7 @@ SOURCE_FILE@[0; 3813)
646 INT_NUMBER@[1385; 1386) "0" 646 INT_NUMBER@[1385; 1386) "0"
647 R_PAREN@[1386; 1387) ")" 647 R_PAREN@[1386; 1387) ")"
648 WHITESPACE@[1387; 1388) " " 648 WHITESPACE@[1387; 1388) " "
649 EQEQ@[1388; 1390) "==" 649 EQ2@[1388; 1390) "=="
650 WHITESPACE@[1390; 1391) " " 650 WHITESPACE@[1390; 1391) " "
651 PAREN_EXPR@[1391; 1399) 651 PAREN_EXPR@[1391; 1399)
652 L_PAREN@[1391; 1392) "(" 652 L_PAREN@[1391; 1392) "("
@@ -662,7 +662,7 @@ SOURCE_FILE@[0; 3813)
662 LITERAL@[1397; 1398) 662 LITERAL@[1397; 1398)
663 INT_NUMBER@[1397; 1398) "0" 663 INT_NUMBER@[1397; 1398) "0"
664 R_PAREN@[1398; 1399) ")" 664 R_PAREN@[1398; 1399) ")"
665 SEMI@[1399; 1400) ";" 665 SEMICOLON@[1399; 1400) ";"
666 WHITESPACE@[1400; 1405) "\n " 666 WHITESPACE@[1400; 1405) "\n "
667 LET_STMT@[1405; 1438) 667 LET_STMT@[1405; 1438)
668 LET_KW@[1405; 1408) "let" 668 LET_KW@[1405; 1408) "let"
@@ -707,7 +707,7 @@ SOURCE_FILE@[0; 3813)
707 LITERAL@[1435; 1436) 707 LITERAL@[1435; 1436)
708 INT_NUMBER@[1435; 1436) "0" 708 INT_NUMBER@[1435; 1436) "0"
709 R_PAREN@[1436; 1437) ")" 709 R_PAREN@[1436; 1437) ")"
710 SEMI@[1437; 1438) ";" 710 SEMICOLON@[1437; 1438) ";"
711 WHITESPACE@[1438; 1443) "\n " 711 WHITESPACE@[1438; 1443) "\n "
712 LET_STMT@[1443; 1474) 712 LET_STMT@[1443; 1474)
713 LET_KW@[1443; 1446) "let" 713 LET_KW@[1443; 1446) "let"
@@ -734,7 +734,7 @@ SOURCE_FILE@[0; 3813)
734 INT_NUMBER@[1459; 1460) "0" 734 INT_NUMBER@[1459; 1460) "0"
735 R_PAREN@[1460; 1461) ")" 735 R_PAREN@[1460; 1461) ")"
736 WHITESPACE@[1461; 1462) " " 736 WHITESPACE@[1461; 1462) " "
737 EQEQ@[1462; 1464) "==" 737 EQ2@[1462; 1464) "=="
738 WHITESPACE@[1464; 1465) " " 738 WHITESPACE@[1464; 1465) " "
739 PAREN_EXPR@[1465; 1473) 739 PAREN_EXPR@[1465; 1473)
740 L_PAREN@[1465; 1466) "(" 740 L_PAREN@[1465; 1466) "("
@@ -750,7 +750,7 @@ SOURCE_FILE@[0; 3813)
750 LITERAL@[1471; 1472) 750 LITERAL@[1471; 1472)
751 INT_NUMBER@[1471; 1472) "0" 751 INT_NUMBER@[1471; 1472) "0"
752 R_PAREN@[1472; 1473) ")" 752 R_PAREN@[1472; 1473) ")"
753 SEMI@[1473; 1474) ";" 753 SEMICOLON@[1473; 1474) ";"
754 WHITESPACE@[1474; 1479) "\n " 754 WHITESPACE@[1474; 1479) "\n "
755 LET_STMT@[1479; 1537) 755 LET_STMT@[1479; 1537)
756 LET_KW@[1479; 1482) "let" 756 LET_KW@[1479; 1482) "let"
@@ -792,7 +792,7 @@ SOURCE_FILE@[0; 3813)
792 IDENT@[1507; 1509) "_z" 792 IDENT@[1507; 1509) "_z"
793 R_PAREN@[1509; 1510) ")" 793 R_PAREN@[1509; 1510) ")"
794 WHITESPACE@[1510; 1511) " " 794 WHITESPACE@[1510; 1511) " "
795 EQEQ@[1511; 1513) "==" 795 EQ2@[1511; 1513) "=="
796 WHITESPACE@[1513; 1514) " " 796 WHITESPACE@[1513; 1514) " "
797 CALL_EXPR@[1514; 1536) 797 CALL_EXPR@[1514; 1536)
798 PATH_EXPR@[1514; 1518) 798 PATH_EXPR@[1514; 1518)
@@ -823,7 +823,7 @@ SOURCE_FILE@[0; 3813)
823 NAME_REF@[1533; 1535) 823 NAME_REF@[1533; 1535)
824 IDENT@[1533; 1535) "_z" 824 IDENT@[1533; 1535) "_z"
825 R_PAREN@[1535; 1536) ")" 825 R_PAREN@[1535; 1536) ")"
826 SEMI@[1536; 1537) ";" 826 SEMICOLON@[1536; 1537) ";"
827 WHITESPACE@[1537; 1538) "\n" 827 WHITESPACE@[1537; 1538) "\n"
828 R_CURLY@[1538; 1539) "}" 828 R_CURLY@[1538; 1539) "}"
829 WHITESPACE@[1539; 1541) "\n\n" 829 WHITESPACE@[1539; 1541) "\n\n"
@@ -893,7 +893,7 @@ SOURCE_FILE@[0; 3813)
893 PATH_SEGMENT@[1613; 1619) 893 PATH_SEGMENT@[1613; 1619)
894 NAME_REF@[1613; 1619) 894 NAME_REF@[1613; 1619)
895 IDENT@[1613; 1619) "assert" 895 IDENT@[1613; 1619) "assert"
896 EXCL@[1619; 1620) "!" 896 BANG@[1619; 1620) "!"
897 TOKEN_TREE@[1620; 1628) 897 TOKEN_TREE@[1620; 1628)
898 L_PAREN@[1620; 1621) "(" 898 L_PAREN@[1620; 1621) "("
899 TOKEN_TREE@[1621; 1627) 899 TOKEN_TREE@[1621; 1627)
@@ -902,7 +902,7 @@ SOURCE_FILE@[0; 3813)
902 R_PAREN@[1626; 1627) ")" 902 R_PAREN@[1626; 1627) ")"
903 R_PAREN@[1627; 1628) ")" 903 R_PAREN@[1627; 1628) ")"
904 WHITESPACE@[1628; 1629) " " 904 WHITESPACE@[1628; 1629) " "
905 EQEQ@[1629; 1631) "==" 905 EQ2@[1629; 1631) "=="
906 WHITESPACE@[1631; 1632) " " 906 WHITESPACE@[1631; 1632) " "
907 PAREN_EXPR@[1632; 1646) 907 PAREN_EXPR@[1632; 1646)
908 L_PAREN@[1632; 1633) "(" 908 L_PAREN@[1632; 1633) "("
@@ -911,7 +911,7 @@ SOURCE_FILE@[0; 3813)
911 PATH_SEGMENT@[1633; 1639) 911 PATH_SEGMENT@[1633; 1639)
912 NAME_REF@[1633; 1639) 912 NAME_REF@[1633; 1639)
913 IDENT@[1633; 1639) "assert" 913 IDENT@[1633; 1639) "assert"
914 EXCL@[1639; 1640) "!" 914 BANG@[1639; 1640) "!"
915 TOKEN_TREE@[1640; 1645) 915 TOKEN_TREE@[1640; 1645)
916 L_PAREN@[1640; 1641) "(" 916 L_PAREN@[1640; 1641) "("
917 IDENT@[1641; 1642) "p" 917 IDENT@[1641; 1642) "p"
@@ -921,7 +921,7 @@ SOURCE_FILE@[0; 3813)
921 R_PAREN@[1644; 1645) ")" 921 R_PAREN@[1644; 1645) ")"
922 R_PAREN@[1645; 1646) ")" 922 R_PAREN@[1645; 1646) ")"
923 R_PAREN@[1646; 1647) ")" 923 R_PAREN@[1646; 1647) ")"
924 SEMI@[1647; 1648) ";" 924 SEMICOLON@[1647; 1648) ";"
925 WHITESPACE@[1648; 1653) "\n " 925 WHITESPACE@[1648; 1653) "\n "
926 LET_STMT@[1653; 1685) 926 LET_STMT@[1653; 1685)
927 LET_KW@[1653; 1656) "let" 927 LET_KW@[1653; 1656) "let"
@@ -940,7 +940,7 @@ SOURCE_FILE@[0; 3813)
940 PATH_SEGMENT@[1663; 1669) 940 PATH_SEGMENT@[1663; 1669)
941 NAME_REF@[1663; 1669) 941 NAME_REF@[1663; 1669)
942 IDENT@[1663; 1669) "assert" 942 IDENT@[1663; 1669) "assert"
943 EXCL@[1669; 1670) "!" 943 BANG@[1669; 1670) "!"
944 TOKEN_TREE@[1670; 1677) 944 TOKEN_TREE@[1670; 1677)
945 L_PAREN@[1670; 1671) "(" 945 L_PAREN@[1670; 1671) "("
946 TOKEN_TREE@[1671; 1676) 946 TOKEN_TREE@[1671; 1676)
@@ -952,13 +952,13 @@ SOURCE_FILE@[0; 3813)
952 R_PAREN@[1675; 1676) ")" 952 R_PAREN@[1675; 1676) ")"
953 R_PAREN@[1676; 1677) ")" 953 R_PAREN@[1676; 1677) ")"
954 WHITESPACE@[1677; 1678) " " 954 WHITESPACE@[1677; 1678) " "
955 EQEQ@[1678; 1680) "==" 955 EQ2@[1678; 1680) "=="
956 WHITESPACE@[1680; 1681) " " 956 WHITESPACE@[1680; 1681) " "
957 TUPLE_EXPR@[1681; 1683) 957 TUPLE_EXPR@[1681; 1683)
958 L_PAREN@[1681; 1682) "(" 958 L_PAREN@[1681; 1682) "("
959 R_PAREN@[1682; 1683) ")" 959 R_PAREN@[1682; 1683) ")"
960 R_PAREN@[1683; 1684) ")" 960 R_PAREN@[1683; 1684) ")"
961 SEMI@[1684; 1685) ";" 961 SEMICOLON@[1684; 1685) ";"
962 WHITESPACE@[1685; 1690) "\n " 962 WHITESPACE@[1685; 1690) "\n "
963 LET_STMT@[1690; 1739) 963 LET_STMT@[1690; 1739)
964 LET_KW@[1690; 1693) "let" 964 LET_KW@[1690; 1693) "let"
@@ -984,7 +984,7 @@ SOURCE_FILE@[0; 3813)
984 PATH_SEGMENT@[1706; 1713) 984 PATH_SEGMENT@[1706; 1713)
985 NAME_REF@[1706; 1713) 985 NAME_REF@[1706; 1713)
986 IDENT@[1706; 1713) "println" 986 IDENT@[1706; 1713) "println"
987 EXCL@[1713; 1714) "!" 987 BANG@[1713; 1714) "!"
988 TOKEN_TREE@[1714; 1723) 988 TOKEN_TREE@[1714; 1723)
989 L_PAREN@[1714; 1715) "(" 989 L_PAREN@[1714; 1715) "("
990 STRING@[1715; 1719) "\"{}\"" 990 STRING@[1715; 1719) "\"{}\""
@@ -993,7 +993,7 @@ SOURCE_FILE@[0; 3813)
993 INT_NUMBER@[1721; 1722) "0" 993 INT_NUMBER@[1721; 1722) "0"
994 R_PAREN@[1722; 1723) ")" 994 R_PAREN@[1722; 1723) ")"
995 WHITESPACE@[1723; 1724) " " 995 WHITESPACE@[1723; 1724) " "
996 EQEQ@[1724; 1726) "==" 996 EQ2@[1724; 1726) "=="
997 WHITESPACE@[1726; 1727) " " 997 WHITESPACE@[1726; 1727) " "
998 PAREN_EXPR@[1727; 1737) 998 PAREN_EXPR@[1727; 1737)
999 L_PAREN@[1727; 1728) "(" 999 L_PAREN@[1727; 1728) "("
@@ -1004,7 +1004,7 @@ SOURCE_FILE@[0; 3813)
1004 INT_NUMBER@[1735; 1736) "0" 1004 INT_NUMBER@[1735; 1736) "0"
1005 R_PAREN@[1736; 1737) ")" 1005 R_PAREN@[1736; 1737) ")"
1006 R_PAREN@[1737; 1738) ")" 1006 R_PAREN@[1737; 1738) ")"
1007 SEMI@[1738; 1739) ";" 1007 SEMICOLON@[1738; 1739) ";"
1008 WHITESPACE@[1739; 1740) "\n" 1008 WHITESPACE@[1739; 1740) "\n"
1009 R_CURLY@[1740; 1741) "}" 1009 R_CURLY@[1740; 1741) "}"
1010 WHITESPACE@[1741; 1743) "\n\n" 1010 WHITESPACE@[1741; 1743) "\n\n"
@@ -1057,7 +1057,7 @@ SOURCE_FILE@[0; 3813)
1057 WHITESPACE@[1801; 1802) " " 1057 WHITESPACE@[1801; 1802) " "
1058 LITERAL@[1802; 1803) 1058 LITERAL@[1802; 1803)
1059 INT_NUMBER@[1802; 1803) "0" 1059 INT_NUMBER@[1802; 1803) "0"
1060 SEMI@[1803; 1804) ";" 1060 SEMICOLON@[1803; 1804) ";"
1061 WHITESPACE@[1804; 1809) "\n " 1061 WHITESPACE@[1804; 1809) "\n "
1062 LOOP_EXPR@[1809; 1902) 1062 LOOP_EXPR@[1809; 1902)
1063 LOOP_KW@[1809; 1813) "loop" 1063 LOOP_KW@[1809; 1813) "loop"
@@ -1078,7 +1078,7 @@ SOURCE_FILE@[0; 3813)
1078 WHITESPACE@[1820; 1821) " " 1078 WHITESPACE@[1820; 1821) " "
1079 LITERAL@[1821; 1822) 1079 LITERAL@[1821; 1822)
1080 INT_NUMBER@[1821; 1822) "1" 1080 INT_NUMBER@[1821; 1822) "1"
1081 SEMI@[1822; 1823) ";" 1081 SEMICOLON@[1822; 1823) ";"
1082 WHITESPACE@[1823; 1824) " " 1082 WHITESPACE@[1823; 1824) " "
1083 EXPR_STMT@[1824; 1887) 1083 EXPR_STMT@[1824; 1887)
1084 IF_EXPR@[1824; 1887) 1084 IF_EXPR@[1824; 1887)
@@ -1092,7 +1092,7 @@ SOURCE_FILE@[0; 3813)
1092 NAME_REF@[1827; 1828) 1092 NAME_REF@[1827; 1828)
1093 IDENT@[1827; 1828) "i" 1093 IDENT@[1827; 1828) "i"
1094 WHITESPACE@[1828; 1829) " " 1094 WHITESPACE@[1828; 1829) " "
1095 EQEQ@[1829; 1831) "==" 1095 EQ2@[1829; 1831) "=="
1096 WHITESPACE@[1831; 1832) " " 1096 WHITESPACE@[1831; 1832) " "
1097 LITERAL@[1832; 1833) 1097 LITERAL@[1832; 1833)
1098 INT_NUMBER@[1832; 1833) "1" 1098 INT_NUMBER@[1832; 1833) "1"
@@ -1138,7 +1138,7 @@ SOURCE_FILE@[0; 3813)
1138 PATH_SEGMENT@[1870; 1875) 1138 PATH_SEGMENT@[1870; 1875)
1139 NAME_REF@[1870; 1875) 1139 NAME_REF@[1870; 1875)
1140 IDENT@[1870; 1875) "panic" 1140 IDENT@[1870; 1875) "panic"
1141 EXCL@[1875; 1876) "!" 1141 BANG@[1875; 1876) "!"
1142 TOKEN_TREE@[1876; 1883) 1142 TOKEN_TREE@[1876; 1883)
1143 L_PAREN@[1876; 1877) "(" 1143 L_PAREN@[1876; 1877) "("
1144 STRING@[1877; 1882) "\"wat\"" 1144 STRING@[1877; 1882) "\"wat\""
@@ -1151,7 +1151,7 @@ SOURCE_FILE@[0; 3813)
1151 EXPR_STMT@[1894; 1900) 1151 EXPR_STMT@[1894; 1900)
1152 BREAK_EXPR@[1894; 1899) 1152 BREAK_EXPR@[1894; 1899)
1153 BREAK_KW@[1894; 1899) "break" 1153 BREAK_KW@[1894; 1899) "break"
1154 SEMI@[1899; 1900) ";" 1154 SEMICOLON@[1899; 1900) ";"
1155 WHITESPACE@[1900; 1901) " " 1155 WHITESPACE@[1900; 1901) " "
1156 R_CURLY@[1901; 1902) "}" 1156 R_CURLY@[1901; 1902) "}"
1157 WHITESPACE@[1902; 1903) "\n" 1157 WHITESPACE@[1902; 1903) "\n"
@@ -1184,12 +1184,12 @@ SOURCE_FILE@[0; 3813)
1184 PATH_SEGMENT@[1938; 1945) 1184 PATH_SEGMENT@[1938; 1945)
1185 NAME_REF@[1938; 1945) 1185 NAME_REF@[1938; 1945)
1186 IDENT@[1938; 1945) "println" 1186 IDENT@[1938; 1945) "println"
1187 EXCL@[1945; 1946) "!" 1187 BANG@[1945; 1946) "!"
1188 TOKEN_TREE@[1946; 1957) 1188 TOKEN_TREE@[1946; 1957)
1189 L_PAREN@[1946; 1947) "(" 1189 L_PAREN@[1946; 1947) "("
1190 STRING@[1947; 1956) "\"lincoln\"" 1190 STRING@[1947; 1956) "\"lincoln\""
1191 R_PAREN@[1956; 1957) ")" 1191 R_PAREN@[1956; 1957) ")"
1192 SEMI@[1957; 1958) ";" 1192 SEMICOLON@[1957; 1958) ";"
1193 WHITESPACE@[1958; 1959) " " 1193 WHITESPACE@[1958; 1959) " "
1194 R_CURLY@[1959; 1960) "}" 1194 R_CURLY@[1959; 1960) "}"
1195 WHITESPACE@[1960; 1962) "\n\n" 1195 WHITESPACE@[1960; 1962) "\n\n"
@@ -1212,7 +1212,7 @@ SOURCE_FILE@[0; 3813)
1212 PATH_SEGMENT@[1978; 1987) 1212 PATH_SEGMENT@[1978; 1987)
1213 NAME_REF@[1978; 1987) 1213 NAME_REF@[1978; 1987)
1214 IDENT@[1978; 1987) "assert_eq" 1214 IDENT@[1978; 1987) "assert_eq"
1215 EXCL@[1987; 1988) "!" 1215 BANG@[1987; 1988) "!"
1216 TOKEN_TREE@[1988; 2195) 1216 TOKEN_TREE@[1988; 2195)
1217 L_PAREN@[1988; 1989) "(" 1217 L_PAREN@[1988; 1989) "("
1218 IDENT@[1989; 1995) "String" 1218 IDENT@[1989; 1995) "String"
@@ -1226,7 +1226,7 @@ SOURCE_FILE@[0; 3813)
1226 COMMA@[2055; 2056) "," 1226 COMMA@[2055; 2056) ","
1227 WHITESPACE@[2056; 2072) "\n " 1227 WHITESPACE@[2056; 2072) "\n "
1228 IDENT@[2072; 2078) "format" 1228 IDENT@[2072; 2078) "format"
1229 EXCL@[2078; 2079) "!" 1229 BANG@[2078; 2079) "!"
1230 TOKEN_TREE@[2079; 2194) 1230 TOKEN_TREE@[2079; 2194)
1231 L_PAREN@[2079; 2080) "(" 1231 L_PAREN@[2079; 2080) "("
1232 STRING@[2080; 2086) "\"{:?}\"" 1232 STRING@[2080; 2086) "\"{:?}\""
@@ -1308,7 +1308,7 @@ SOURCE_FILE@[0; 3813)
1308 DOT@[2192; 2193) "." 1308 DOT@[2192; 2193) "."
1309 R_PAREN@[2193; 2194) ")" 1309 R_PAREN@[2193; 2194) ")"
1310 R_PAREN@[2194; 2195) ")" 1310 R_PAREN@[2194; 2195) ")"
1311 SEMI@[2195; 2196) ";" 1311 SEMICOLON@[2195; 2196) ";"
1312 WHITESPACE@[2196; 2197) "\n" 1312 WHITESPACE@[2196; 2197) "\n"
1313 R_CURLY@[2197; 2198) "}" 1313 R_CURLY@[2197; 2198) "}"
1314 WHITESPACE@[2198; 2200) "\n\n" 1314 WHITESPACE@[2198; 2200) "\n\n"
@@ -1362,7 +1362,7 @@ SOURCE_FILE@[0; 3813)
1362 PATH_SEGMENT@[2243; 2252) 1362 PATH_SEGMENT@[2243; 2252)
1363 NAME_REF@[2243; 2252) 1363 NAME_REF@[2243; 2252)
1364 IDENT@[2243; 2252) "assert_eq" 1364 IDENT@[2243; 2252) "assert_eq"
1365 EXCL@[2252; 2253) "!" 1365 BANG@[2252; 2253) "!"
1366 TOKEN_TREE@[2253; 2684) 1366 TOKEN_TREE@[2253; 2684)
1367 L_PAREN@[2253; 2254) "(" 1367 L_PAREN@[2253; 2254) "("
1368 INT_NUMBER@[2254; 2257) "8u8" 1368 INT_NUMBER@[2254; 2257) "8u8"
@@ -1372,7 +1372,7 @@ SOURCE_FILE@[0; 3813)
1372 L_CURLY@[2259; 2260) "{" 1372 L_CURLY@[2259; 2260) "{"
1373 WHITESPACE@[2260; 2273) "\n " 1373 WHITESPACE@[2260; 2273) "\n "
1374 IDENT@[2273; 2284) "macro_rules" 1374 IDENT@[2273; 2284) "macro_rules"
1375 EXCL@[2284; 2285) "!" 1375 BANG@[2284; 2285) "!"
1376 WHITESPACE@[2285; 2286) " " 1376 WHITESPACE@[2285; 2286) " "
1377 IDENT@[2286; 2288) "u8" 1377 IDENT@[2286; 2288) "u8"
1378 WHITESPACE@[2288; 2289) " " 1378 WHITESPACE@[2288; 2289) " "
@@ -1435,7 +1435,7 @@ SOURCE_FILE@[0; 3813)
1435 L_CURLY@[2420; 2421) "{" 1435 L_CURLY@[2420; 2421) "{"
1436 WHITESPACE@[2421; 2450) "\n ..." 1436 WHITESPACE@[2421; 2450) "\n ..."
1437 STRING@[2450; 2454) "\"u8\"" 1437 STRING@[2450; 2454) "\"u8\""
1438 SEMI@[2454; 2455) ";" 1438 SEMICOLON@[2454; 2455) ";"
1439 WHITESPACE@[2455; 2484) "\n ..." 1439 WHITESPACE@[2455; 2484) "\n ..."
1440 IDENT@[2484; 2486) "u8" 1440 IDENT@[2484; 2486) "u8"
1441 WHITESPACE@[2486; 2511) "\n ..." 1441 WHITESPACE@[2486; 2511) "\n ..."
@@ -1444,17 +1444,17 @@ SOURCE_FILE@[0; 3813)
1444 R_CURLY@[2533; 2534) "}" 1444 R_CURLY@[2533; 2534) "}"
1445 WHITESPACE@[2534; 2551) "\n " 1445 WHITESPACE@[2534; 2551) "\n "
1446 R_CURLY@[2551; 2552) "}" 1446 R_CURLY@[2551; 2552) "}"
1447 SEMI@[2552; 2553) ";" 1447 SEMICOLON@[2552; 2553) ";"
1448 WHITESPACE@[2553; 2566) "\n " 1448 WHITESPACE@[2553; 2566) "\n "
1449 R_CURLY@[2566; 2567) "}" 1449 R_CURLY@[2566; 2567) "}"
1450 WHITESPACE@[2567; 2581) "\n\n " 1450 WHITESPACE@[2567; 2581) "\n\n "
1451 IDENT@[2581; 2583) "u8" 1451 IDENT@[2581; 2583) "u8"
1452 EXCL@[2583; 2584) "!" 1452 BANG@[2583; 2584) "!"
1453 TOKEN_TREE@[2584; 2588) 1453 TOKEN_TREE@[2584; 2588)
1454 L_PAREN@[2584; 2585) "(" 1454 L_PAREN@[2584; 2585) "("
1455 IDENT@[2585; 2587) "u8" 1455 IDENT@[2585; 2587) "u8"
1456 R_PAREN@[2587; 2588) ")" 1456 R_PAREN@[2587; 2588) ")"
1457 SEMI@[2588; 2589) ";" 1457 SEMICOLON@[2588; 2589) ";"
1458 WHITESPACE@[2589; 2602) "\n " 1458 WHITESPACE@[2589; 2602) "\n "
1459 LET_KW@[2602; 2605) "let" 1459 LET_KW@[2602; 2605) "let"
1460 WHITESPACE@[2605; 2606) " " 1460 WHITESPACE@[2605; 2606) " "
@@ -1476,7 +1476,7 @@ SOURCE_FILE@[0; 3813)
1476 AMP@[2624; 2625) "&" 1476 AMP@[2624; 2625) "&"
1477 INT_NUMBER@[2625; 2628) "8u8" 1477 INT_NUMBER@[2625; 2628) "8u8"
1478 R_PAREN@[2628; 2629) ")" 1478 R_PAREN@[2628; 2629) ")"
1479 SEMI@[2629; 2630) ";" 1479 SEMICOLON@[2629; 2630) ";"
1480 WHITESPACE@[2630; 2643) "\n " 1480 WHITESPACE@[2630; 2643) "\n "
1481 CRATE_KW@[2643; 2648) "crate" 1481 CRATE_KW@[2643; 2648) "crate"
1482 COLON@[2648; 2649) ":" 1482 COLON@[2648; 2649) ":"
@@ -1486,13 +1486,13 @@ SOURCE_FILE@[0; 3813)
1486 L_PAREN@[2652; 2653) "(" 1486 L_PAREN@[2652; 2653) "("
1487 INT_NUMBER@[2653; 2656) "0u8" 1487 INT_NUMBER@[2653; 2656) "0u8"
1488 R_PAREN@[2656; 2657) ")" 1488 R_PAREN@[2656; 2657) ")"
1489 SEMI@[2657; 2658) ";" 1489 SEMICOLON@[2657; 2658) ";"
1490 WHITESPACE@[2658; 2671) "\n " 1490 WHITESPACE@[2658; 2671) "\n "
1491 IDENT@[2671; 2673) "u8" 1491 IDENT@[2671; 2673) "u8"
1492 WHITESPACE@[2673; 2682) "\n " 1492 WHITESPACE@[2673; 2682) "\n "
1493 R_CURLY@[2682; 2683) "}" 1493 R_CURLY@[2682; 2683) "}"
1494 R_PAREN@[2683; 2684) ")" 1494 R_PAREN@[2683; 2684) ")"
1495 SEMI@[2684; 2685) ";" 1495 SEMICOLON@[2684; 2685) ";"
1496 WHITESPACE@[2685; 2690) "\n " 1496 WHITESPACE@[2685; 2690) "\n "
1497 R_CURLY@[2690; 2691) "}" 1497 R_CURLY@[2690; 2691) "}"
1498 WHITESPACE@[2691; 2692) "\n" 1498 WHITESPACE@[2691; 2692) "\n"
@@ -1517,7 +1517,7 @@ SOURCE_FILE@[0; 3813)
1517 PATH_SEGMENT@[2712; 2721) 1517 PATH_SEGMENT@[2712; 2721)
1518 NAME_REF@[2712; 2721) 1518 NAME_REF@[2712; 2721)
1519 IDENT@[2712; 2721) "assert_eq" 1519 IDENT@[2712; 2721) "assert_eq"
1520 EXCL@[2721; 2722) "!" 1520 BANG@[2721; 2722) "!"
1521 TOKEN_TREE@[2722; 2829) 1521 TOKEN_TREE@[2722; 2829)
1522 L_PAREN@[2722; 2723) "(" 1522 L_PAREN@[2722; 2723) "("
1523 IDENT@[2723; 2729) "String" 1523 IDENT@[2723; 2729) "String"
@@ -1575,7 +1575,7 @@ SOURCE_FILE@[0; 3813)
1575 L_PAREN@[2826; 2827) "(" 1575 L_PAREN@[2826; 2827) "("
1576 R_PAREN@[2827; 2828) ")" 1576 R_PAREN@[2827; 2828) ")"
1577 R_PAREN@[2828; 2829) ")" 1577 R_PAREN@[2828; 2829) ")"
1578 SEMI@[2829; 2830) ";" 1578 SEMICOLON@[2829; 2830) ";"
1579 WHITESPACE@[2830; 2831) "\n" 1579 WHITESPACE@[2830; 2831) "\n"
1580 R_CURLY@[2831; 2832) "}" 1580 R_CURLY@[2831; 2832) "}"
1581 WHITESPACE@[2832; 2834) "\n\n" 1581 WHITESPACE@[2832; 2834) "\n\n"
@@ -1654,7 +1654,7 @@ SOURCE_FILE@[0; 3813)
1654 EQ@[2946; 2947) "=" 1654 EQ@[2946; 2947) "="
1655 WHITESPACE@[2947; 2948) " " 1655 WHITESPACE@[2947; 2948) " "
1656 PREFIX_EXPR@[2948; 3013) 1656 PREFIX_EXPR@[2948; 3013)
1657 EXCL@[2948; 2949) "!" 1657 BANG@[2948; 2949) "!"
1658 PAREN_EXPR@[2949; 3013) 1658 PAREN_EXPR@[2949; 3013)
1659 L_PAREN@[2949; 2950) "(" 1659 L_PAREN@[2949; 2950) "("
1660 BIN_EXPR@[2950; 3012) 1660 BIN_EXPR@[2950; 3012)
@@ -1668,7 +1668,7 @@ SOURCE_FILE@[0; 3813)
1668 TUPLE_PAT@[2952; 2956) 1668 TUPLE_PAT@[2952; 2956)
1669 L_PAREN@[2952; 2953) "(" 1669 L_PAREN@[2952; 2953) "("
1670 DOT_DOT_PAT@[2953; 2955) 1670 DOT_DOT_PAT@[2953; 2955)
1671 DOTDOT@[2953; 2955) ".." 1671 DOT2@[2953; 2955) ".."
1672 R_PAREN@[2955; 2956) ")" 1672 R_PAREN@[2955; 2956) ")"
1673 COLON@[2956; 2957) ":" 1673 COLON@[2956; 2957) ":"
1674 TUPLE_TYPE@[2957; 2962) 1674 TUPLE_TYPE@[2957; 2962)
@@ -1715,7 +1715,7 @@ SOURCE_FILE@[0; 3813)
1715 L_CURLY@[2992; 2993) "{" 1715 L_CURLY@[2992; 2993) "{"
1716 R_CURLY@[2993; 2994) "}" 1716 R_CURLY@[2993; 2994) "}"
1717 R_PAREN@[2994; 2995) ")" 1717 R_PAREN@[2994; 2995) ")"
1718 EQEQ@[2995; 2997) "==" 1718 EQ2@[2995; 2997) "=="
1719 BLOCK_EXPR@[2997; 3012) 1719 BLOCK_EXPR@[2997; 3012)
1720 BLOCK@[2997; 3012) 1720 BLOCK@[2997; 3012)
1721 L_CURLY@[2997; 2998) "{" 1721 L_CURLY@[2997; 2998) "{"
@@ -1726,20 +1726,20 @@ SOURCE_FILE@[0; 3813)
1726 ARRAY_EXPR@[2999; 3006) 1726 ARRAY_EXPR@[2999; 3006)
1727 L_BRACK@[2999; 3000) "[" 1727 L_BRACK@[2999; 3000) "["
1728 RANGE_EXPR@[3000; 3005) 1728 RANGE_EXPR@[3000; 3005)
1729 DOTDOTEQ@[3000; 3003) "..=" 1729 DOT2EQ@[3000; 3003) "..="
1730 RANGE_EXPR@[3003; 3005) 1730 RANGE_EXPR@[3003; 3005)
1731 DOTDOT@[3003; 3005) ".." 1731 DOT2@[3003; 3005) ".."
1732 R_BRACK@[3005; 3006) "]" 1732 R_BRACK@[3005; 3006) "]"
1733 L_BRACK@[3006; 3007) "[" 1733 L_BRACK@[3006; 3007) "["
1734 RANGE_EXPR@[3007; 3009) 1734 RANGE_EXPR@[3007; 3009)
1735 DOTDOT@[3007; 3009) ".." 1735 DOT2@[3007; 3009) ".."
1736 R_BRACK@[3009; 3010) "]" 1736 R_BRACK@[3009; 3010) "]"
1737 SEMI@[3010; 3011) ";" 1737 SEMICOLON@[3010; 3011) ";"
1738 R_CURLY@[3011; 3012) "}" 1738 R_CURLY@[3011; 3012) "}"
1739 R_PAREN@[3012; 3013) ")" 1739 R_PAREN@[3012; 3013) ")"
1740 COMMENT@[3013; 3015) "//" 1740 COMMENT@[3013; 3015) "//"
1741 WHITESPACE@[3015; 3020) "\n " 1741 WHITESPACE@[3015; 3020) "\n "
1742 SEMI@[3020; 3021) ";" 1742 SEMICOLON@[3020; 3021) ";"
1743 WHITESPACE@[3021; 3026) "\n " 1743 WHITESPACE@[3021; 3026) "\n "
1744 EXPR_STMT@[3026; 3040) 1744 EXPR_STMT@[3026; 3040)
1745 MACRO_CALL@[3026; 3039) 1745 MACRO_CALL@[3026; 3039)
@@ -1747,13 +1747,13 @@ SOURCE_FILE@[0; 3813)
1747 PATH_SEGMENT@[3026; 3032) 1747 PATH_SEGMENT@[3026; 3032)
1748 NAME_REF@[3026; 3032) 1748 NAME_REF@[3026; 3032)
1749 IDENT@[3026; 3032) "assert" 1749 IDENT@[3026; 3032) "assert"
1750 EXCL@[3032; 3033) "!" 1750 BANG@[3032; 3033) "!"
1751 TOKEN_TREE@[3033; 3039) 1751 TOKEN_TREE@[3033; 3039)
1752 L_PAREN@[3033; 3034) "(" 1752 L_PAREN@[3033; 3034) "("
1753 EXCL@[3034; 3035) "!" 1753 BANG@[3034; 3035) "!"
1754 IDENT@[3035; 3038) "val" 1754 IDENT@[3035; 3038) "val"
1755 R_PAREN@[3038; 3039) ")" 1755 R_PAREN@[3038; 3039) ")"
1756 SEMI@[3039; 3040) ";" 1756 SEMICOLON@[3039; 3040) ";"
1757 WHITESPACE@[3040; 3041) "\n" 1757 WHITESPACE@[3040; 3041) "\n"
1758 R_CURLY@[3041; 3042) "}" 1758 R_CURLY@[3041; 3042) "}"
1759 WHITESPACE@[3042; 3044) "\n\n" 1759 WHITESPACE@[3042; 3044) "\n\n"
@@ -1781,11 +1781,11 @@ SOURCE_FILE@[0; 3813)
1781 PATH_SEGMENT@[3068; 3071) 1781 PATH_SEGMENT@[3068; 3071)
1782 NAME_REF@[3068; 3071) 1782 NAME_REF@[3068; 3071)
1783 IDENT@[3068; 3071) "std" 1783 IDENT@[3068; 3071) "std"
1784 COLONCOLON@[3071; 3073) "::" 1784 COLON2@[3071; 3073) "::"
1785 PATH_SEGMENT@[3073; 3076) 1785 PATH_SEGMENT@[3073; 3076)
1786 NAME_REF@[3073; 3076) 1786 NAME_REF@[3073; 3076)
1787 IDENT@[3073; 3076) "fmt" 1787 IDENT@[3073; 3076) "fmt"
1788 COLONCOLON@[3076; 3078) "::" 1788 COLON2@[3076; 3078) "::"
1789 PATH_SEGMENT@[3078; 3083) 1789 PATH_SEGMENT@[3078; 3083)
1790 NAME_REF@[3078; 3083) 1790 NAME_REF@[3078; 3083)
1791 IDENT@[3078; 3083) "Debug" 1791 IDENT@[3078; 3083) "Debug"
@@ -1795,300 +1795,300 @@ SOURCE_FILE@[0; 3813)
1795 L_CURLY@[3084; 3085) "{" 1795 L_CURLY@[3084; 3085) "{"
1796 WHITESPACE@[3085; 3090) "\n " 1796 WHITESPACE@[3085; 3090) "\n "
1797 RANGE_EXPR@[3090; 3512) 1797 RANGE_EXPR@[3090; 3512)
1798 DOTDOTEQ@[3090; 3093) "..=" 1798 DOT2EQ@[3090; 3093) "..="
1799 RANGE_EXPR@[3093; 3512) 1799 RANGE_EXPR@[3093; 3512)
1800 DOTDOTEQ@[3093; 3096) "..=" 1800 DOT2EQ@[3093; 3096) "..="
1801 RANGE_EXPR@[3096; 3512) 1801 RANGE_EXPR@[3096; 3512)
1802 DOTDOT@[3096; 3098) ".." 1802 DOT2@[3096; 3098) ".."
1803 WHITESPACE@[3098; 3099) " " 1803 WHITESPACE@[3098; 3099) " "
1804 RANGE_EXPR@[3099; 3512) 1804 RANGE_EXPR@[3099; 3512)
1805 DOTDOT@[3099; 3101) ".." 1805 DOT2@[3099; 3101) ".."
1806 WHITESPACE@[3101; 3105) " " 1806 WHITESPACE@[3101; 3105) " "
1807 RANGE_EXPR@[3105; 3512) 1807 RANGE_EXPR@[3105; 3512)
1808 DOTDOT@[3105; 3107) ".." 1808 DOT2@[3105; 3107) ".."
1809 WHITESPACE@[3107; 3108) " " 1809 WHITESPACE@[3107; 3108) " "
1810 RANGE_EXPR@[3108; 3512) 1810 RANGE_EXPR@[3108; 3512)
1811 DOTDOT@[3108; 3110) ".." 1811 DOT2@[3108; 3110) ".."
1812 WHITESPACE@[3110; 3111) " " 1812 WHITESPACE@[3110; 3111) " "
1813 RANGE_EXPR@[3111; 3512) 1813 RANGE_EXPR@[3111; 3512)
1814 DOTDOT@[3111; 3113) ".." 1814 DOT2@[3111; 3113) ".."
1815 WHITESPACE@[3113; 3114) " " 1815 WHITESPACE@[3113; 3114) " "
1816 RANGE_EXPR@[3114; 3512) 1816 RANGE_EXPR@[3114; 3512)
1817 DOTDOT@[3114; 3116) ".." 1817 DOT2@[3114; 3116) ".."
1818 WHITESPACE@[3116; 3120) " " 1818 WHITESPACE@[3116; 3120) " "
1819 RANGE_EXPR@[3120; 3512) 1819 RANGE_EXPR@[3120; 3512)
1820 DOTDOT@[3120; 3122) ".." 1820 DOT2@[3120; 3122) ".."
1821 WHITESPACE@[3122; 3123) " " 1821 WHITESPACE@[3122; 3123) " "
1822 RANGE_EXPR@[3123; 3512) 1822 RANGE_EXPR@[3123; 3512)
1823 DOTDOT@[3123; 3125) ".." 1823 DOT2@[3123; 3125) ".."
1824 WHITESPACE@[3125; 3126) " " 1824 WHITESPACE@[3125; 3126) " "
1825 RANGE_EXPR@[3126; 3512) 1825 RANGE_EXPR@[3126; 3512)
1826 DOTDOT@[3126; 3128) ".." 1826 DOT2@[3126; 3128) ".."
1827 WHITESPACE@[3128; 3129) " " 1827 WHITESPACE@[3128; 3129) " "
1828 RANGE_EXPR@[3129; 3512) 1828 RANGE_EXPR@[3129; 3512)
1829 DOTDOT@[3129; 3131) ".." 1829 DOT2@[3129; 3131) ".."
1830 WHITESPACE@[3131; 3135) " " 1830 WHITESPACE@[3131; 3135) " "
1831 RANGE_EXPR@[3135; 3512) 1831 RANGE_EXPR@[3135; 3512)
1832 DOTDOT@[3135; 3137) ".." 1832 DOT2@[3135; 3137) ".."
1833 WHITESPACE@[3137; 3138) " " 1833 WHITESPACE@[3137; 3138) " "
1834 RANGE_EXPR@[3138; 3512) 1834 RANGE_EXPR@[3138; 3512)
1835 DOTDOTEQ@[3138; 3141) "..=" 1835 DOT2EQ@[3138; 3141) "..="
1836 RANGE_EXPR@[3141; 3512) 1836 RANGE_EXPR@[3141; 3512)
1837 DOTDOT@[3141; 3143) ".." 1837 DOT2@[3141; 3143) ".."
1838 WHITESPACE@[3143; 3144) " " 1838 WHITESPACE@[3143; 3144) " "
1839 RANGE_EXPR@[3144; 3512) 1839 RANGE_EXPR@[3144; 3512)
1840 DOTDOT@[3144; 3146) ".." 1840 DOT2@[3144; 3146) ".."
1841 WHITESPACE@[3146; 3151) "\n " 1841 WHITESPACE@[3146; 3151) "\n "
1842 RANGE_EXPR@[3151; 3512) 1842 RANGE_EXPR@[3151; 3512)
1843 DOTDOTEQ@[3151; 3154) "..=" 1843 DOT2EQ@[3151; 3154) "..="
1844 RANGE_EXPR@[3154; 3512) 1844 RANGE_EXPR@[3154; 3512)
1845 DOTDOT@[3154; 3156) ".." 1845 DOT2@[3154; 3156) ".."
1846 WHITESPACE@[3156; 3157) " " 1846 WHITESPACE@[3156; 3157) " "
1847 RANGE_EXPR@[3157; 3512) 1847 RANGE_EXPR@[3157; 3512)
1848 DOTDOTEQ@[3157; 3160) "..=" 1848 DOT2EQ@[3157; 3160) "..="
1849 RANGE_EXPR@[3160; 3512) 1849 RANGE_EXPR@[3160; 3512)
1850 DOTDOT@[3160; 3162) ".." 1850 DOT2@[3160; 3162) ".."
1851 WHITESPACE@[3162; 3166) " " 1851 WHITESPACE@[3162; 3166) " "
1852 RANGE_EXPR@[3166; 3512) 1852 RANGE_EXPR@[3166; 3512)
1853 DOTDOT@[3166; 3168) ".." 1853 DOT2@[3166; 3168) ".."
1854 WHITESPACE@[3168; 3169) " " 1854 WHITESPACE@[3168; 3169) " "
1855 RANGE_EXPR@[3169; 3512) 1855 RANGE_EXPR@[3169; 3512)
1856 DOTDOT@[3169; 3171) ".." 1856 DOT2@[3169; 3171) ".."
1857 WHITESPACE@[3171; 3172) " " 1857 WHITESPACE@[3171; 3172) " "
1858 RANGE_EXPR@[3172; 3512) 1858 RANGE_EXPR@[3172; 3512)
1859 DOTDOT@[3172; 3174) ".." 1859 DOT2@[3172; 3174) ".."
1860 WHITESPACE@[3174; 3175) " " 1860 WHITESPACE@[3174; 3175) " "
1861 RANGE_EXPR@[3175; 3512) 1861 RANGE_EXPR@[3175; 3512)
1862 DOTDOT@[3175; 3177) ".." 1862 DOT2@[3175; 3177) ".."
1863 WHITESPACE@[3177; 3181) " " 1863 WHITESPACE@[3177; 3181) " "
1864 RANGE_EXPR@[3181; 3512) 1864 RANGE_EXPR@[3181; 3512)
1865 DOTDOT@[3181; 3183) ".." 1865 DOT2@[3181; 3183) ".."
1866 WHITESPACE@[3183; 3184) " " 1866 WHITESPACE@[3183; 3184) " "
1867 RANGE_EXPR@[3184; 3512) 1867 RANGE_EXPR@[3184; 3512)
1868 DOTDOT@[3184; 3186) ".." 1868 DOT2@[3184; 3186) ".."
1869 WHITESPACE@[3186; 3187) " " 1869 WHITESPACE@[3186; 3187) " "
1870 RANGE_EXPR@[3187; 3512) 1870 RANGE_EXPR@[3187; 3512)
1871 DOTDOT@[3187; 3189) ".." 1871 DOT2@[3187; 3189) ".."
1872 WHITESPACE@[3189; 3190) " " 1872 WHITESPACE@[3189; 3190) " "
1873 RANGE_EXPR@[3190; 3512) 1873 RANGE_EXPR@[3190; 3512)
1874 DOTDOT@[3190; 3192) ".." 1874 DOT2@[3190; 3192) ".."
1875 WHITESPACE@[3192; 3196) " " 1875 WHITESPACE@[3192; 3196) " "
1876 RANGE_EXPR@[3196; 3512) 1876 RANGE_EXPR@[3196; 3512)
1877 DOTDOTEQ@[3196; 3199) "..=" 1877 DOT2EQ@[3196; 3199) "..="
1878 RANGE_EXPR@[3199; 3512) 1878 RANGE_EXPR@[3199; 3512)
1879 DOTDOTEQ@[3199; 3202) "..=" 1879 DOT2EQ@[3199; 3202) "..="
1880 RANGE_EXPR@[3202; 3512) 1880 RANGE_EXPR@[3202; 3512)
1881 DOTDOTEQ@[3202; 3205) "..=" 1881 DOT2EQ@[3202; 3205) "..="
1882 RANGE_EXPR@[3205; 3512) 1882 RANGE_EXPR@[3205; 3512)
1883 DOTDOT@[3205; 3207) ".." 1883 DOT2@[3205; 3207) ".."
1884 WHITESPACE@[3207; 3212) "\n " 1884 WHITESPACE@[3207; 3212) "\n "
1885 RANGE_EXPR@[3212; 3512) 1885 RANGE_EXPR@[3212; 3512)
1886 DOTDOTEQ@[3212; 3215) "..=" 1886 DOT2EQ@[3212; 3215) "..="
1887 RANGE_EXPR@[3215; 3512) 1887 RANGE_EXPR@[3215; 3512)
1888 DOTDOT@[3215; 3217) ".." 1888 DOT2@[3215; 3217) ".."
1889 WHITESPACE@[3217; 3218) " " 1889 WHITESPACE@[3217; 3218) " "
1890 RANGE_EXPR@[3218; 3512) 1890 RANGE_EXPR@[3218; 3512)
1891 DOTDOTEQ@[3218; 3221) "..=" 1891 DOT2EQ@[3218; 3221) "..="
1892 RANGE_EXPR@[3221; 3512) 1892 RANGE_EXPR@[3221; 3512)
1893 DOTDOT@[3221; 3223) ".." 1893 DOT2@[3221; 3223) ".."
1894 WHITESPACE@[3223; 3227) " " 1894 WHITESPACE@[3223; 3227) " "
1895 RANGE_EXPR@[3227; 3512) 1895 RANGE_EXPR@[3227; 3512)
1896 DOTDOTEQ@[3227; 3230) "..=" 1896 DOT2EQ@[3227; 3230) "..="
1897 RANGE_EXPR@[3230; 3512) 1897 RANGE_EXPR@[3230; 3512)
1898 DOTDOT@[3230; 3232) ".." 1898 DOT2@[3230; 3232) ".."
1899 WHITESPACE@[3232; 3233) " " 1899 WHITESPACE@[3232; 3233) " "
1900 RANGE_EXPR@[3233; 3512) 1900 RANGE_EXPR@[3233; 3512)
1901 DOTDOTEQ@[3233; 3236) "..=" 1901 DOT2EQ@[3233; 3236) "..="
1902 RANGE_EXPR@[3236; 3512) 1902 RANGE_EXPR@[3236; 3512)
1903 DOTDOT@[3236; 3238) ".." 1903 DOT2@[3236; 3238) ".."
1904 WHITESPACE@[3238; 3242) " " 1904 WHITESPACE@[3238; 3242) " "
1905 RANGE_EXPR@[3242; 3512) 1905 RANGE_EXPR@[3242; 3512)
1906 DOTDOT@[3242; 3244) ".." 1906 DOT2@[3242; 3244) ".."
1907 WHITESPACE@[3244; 3245) " " 1907 WHITESPACE@[3244; 3245) " "
1908 RANGE_EXPR@[3245; 3512) 1908 RANGE_EXPR@[3245; 3512)
1909 DOTDOTEQ@[3245; 3248) "..=" 1909 DOT2EQ@[3245; 3248) "..="
1910 RANGE_EXPR@[3248; 3512) 1910 RANGE_EXPR@[3248; 3512)
1911 DOTDOTEQ@[3248; 3251) "..=" 1911 DOT2EQ@[3248; 3251) "..="
1912 RANGE_EXPR@[3251; 3512) 1912 RANGE_EXPR@[3251; 3512)
1913 DOTDOT@[3251; 3253) ".." 1913 DOT2@[3251; 3253) ".."
1914 WHITESPACE@[3253; 3257) " " 1914 WHITESPACE@[3253; 3257) " "
1915 RANGE_EXPR@[3257; 3512) 1915 RANGE_EXPR@[3257; 3512)
1916 DOTDOT@[3257; 3259) ".." 1916 DOT2@[3257; 3259) ".."
1917 WHITESPACE@[3259; 3260) " " 1917 WHITESPACE@[3259; 3260) " "
1918 RANGE_EXPR@[3260; 3512) 1918 RANGE_EXPR@[3260; 3512)
1919 DOTDOTEQ@[3260; 3263) "..=" 1919 DOT2EQ@[3260; 3263) "..="
1920 RANGE_EXPR@[3263; 3512) 1920 RANGE_EXPR@[3263; 3512)
1921 DOTDOT@[3263; 3265) ".." 1921 DOT2@[3263; 3265) ".."
1922 WHITESPACE@[3265; 3266) " " 1922 WHITESPACE@[3265; 3266) " "
1923 RANGE_EXPR@[3266; 3512) 1923 RANGE_EXPR@[3266; 3512)
1924 DOTDOT@[3266; 3268) ".." 1924 DOT2@[3266; 3268) ".."
1925 WHITESPACE@[3268; 3273) "\n " 1925 WHITESPACE@[3268; 3273) "\n "
1926 RANGE_EXPR@[3273; 3512) 1926 RANGE_EXPR@[3273; 3512)
1927 DOTDOTEQ@[3273; 3276) "..=" 1927 DOT2EQ@[3273; 3276) "..="
1928 RANGE_EXPR@[3276; 3512) 1928 RANGE_EXPR@[3276; 3512)
1929 DOTDOTEQ@[3276; 3279) "..=" 1929 DOT2EQ@[3276; 3279) "..="
1930 RANGE_EXPR@[3279; 3512) 1930 RANGE_EXPR@[3279; 3512)
1931 DOTDOT@[3279; 3281) ".." 1931 DOT2@[3279; 3281) ".."
1932 WHITESPACE@[3281; 3282) " " 1932 WHITESPACE@[3281; 3282) " "
1933 RANGE_EXPR@[3282; 3512) 1933 RANGE_EXPR@[3282; 3512)
1934 DOTDOT@[3282; 3284) ".." 1934 DOT2@[3282; 3284) ".."
1935 WHITESPACE@[3284; 3288) " " 1935 WHITESPACE@[3284; 3288) " "
1936 RANGE_EXPR@[3288; 3512) 1936 RANGE_EXPR@[3288; 3512)
1937 DOTDOTEQ@[3288; 3291) "..=" 1937 DOT2EQ@[3288; 3291) "..="
1938 RANGE_EXPR@[3291; 3512) 1938 RANGE_EXPR@[3291; 3512)
1939 DOTDOT@[3291; 3293) ".." 1939 DOT2@[3291; 3293) ".."
1940 WHITESPACE@[3293; 3294) " " 1940 WHITESPACE@[3293; 3294) " "
1941 RANGE_EXPR@[3294; 3512) 1941 RANGE_EXPR@[3294; 3512)
1942 DOTDOTEQ@[3294; 3297) "..=" 1942 DOT2EQ@[3294; 3297) "..="
1943 RANGE_EXPR@[3297; 3512) 1943 RANGE_EXPR@[3297; 3512)
1944 DOTDOT@[3297; 3299) ".." 1944 DOT2@[3297; 3299) ".."
1945 WHITESPACE@[3299; 3303) " " 1945 WHITESPACE@[3299; 3303) " "
1946 RANGE_EXPR@[3303; 3512) 1946 RANGE_EXPR@[3303; 3512)
1947 DOTDOTEQ@[3303; 3306) "..=" 1947 DOT2EQ@[3303; 3306) "..="
1948 RANGE_EXPR@[3306; 3512) 1948 RANGE_EXPR@[3306; 3512)
1949 DOTDOT@[3306; 3308) ".." 1949 DOT2@[3306; 3308) ".."
1950 WHITESPACE@[3308; 3309) " " 1950 WHITESPACE@[3308; 3309) " "
1951 RANGE_EXPR@[3309; 3512) 1951 RANGE_EXPR@[3309; 3512)
1952 DOTDOT@[3309; 3311) ".." 1952 DOT2@[3309; 3311) ".."
1953 WHITESPACE@[3311; 3312) " " 1953 WHITESPACE@[3311; 3312) " "
1954 RANGE_EXPR@[3312; 3512) 1954 RANGE_EXPR@[3312; 3512)
1955 DOTDOT@[3312; 3314) ".." 1955 DOT2@[3312; 3314) ".."
1956 WHITESPACE@[3314; 3318) " " 1956 WHITESPACE@[3314; 3318) " "
1957 RANGE_EXPR@[3318; 3512) 1957 RANGE_EXPR@[3318; 3512)
1958 DOTDOT@[3318; 3320) ".." 1958 DOT2@[3318; 3320) ".."
1959 WHITESPACE@[3320; 3321) " " 1959 WHITESPACE@[3320; 3321) " "
1960 RANGE_EXPR@[3321; 3512) 1960 RANGE_EXPR@[3321; 3512)
1961 DOTDOTEQ@[3321; 3324) "..=" 1961 DOT2EQ@[3321; 3324) "..="
1962 RANGE_EXPR@[3324; 3512) 1962 RANGE_EXPR@[3324; 3512)
1963 DOTDOT@[3324; 3326) ".." 1963 DOT2@[3324; 3326) ".."
1964 WHITESPACE@[3326; 3327) " " 1964 WHITESPACE@[3326; 3327) " "
1965 RANGE_EXPR@[3327; 3512) 1965 RANGE_EXPR@[3327; 3512)
1966 DOTDOT@[3327; 3329) ".." 1966 DOT2@[3327; 3329) ".."
1967 WHITESPACE@[3329; 3334) "\n " 1967 WHITESPACE@[3329; 3334) "\n "
1968 RANGE_EXPR@[3334; 3512) 1968 RANGE_EXPR@[3334; 3512)
1969 DOTDOTEQ@[3334; 3337) "..=" 1969 DOT2EQ@[3334; 3337) "..="
1970 RANGE_EXPR@[3337; 3512) 1970 RANGE_EXPR@[3337; 3512)
1971 DOTDOT@[3337; 3339) ".." 1971 DOT2@[3337; 3339) ".."
1972 WHITESPACE@[3339; 3340) " " 1972 WHITESPACE@[3339; 3340) " "
1973 RANGE_EXPR@[3340; 3512) 1973 RANGE_EXPR@[3340; 3512)
1974 DOTDOTEQ@[3340; 3343) "..=" 1974 DOT2EQ@[3340; 3343) "..="
1975 RANGE_EXPR@[3343; 3512) 1975 RANGE_EXPR@[3343; 3512)
1976 DOTDOT@[3343; 3345) ".." 1976 DOT2@[3343; 3345) ".."
1977 WHITESPACE@[3345; 3349) " " 1977 WHITESPACE@[3345; 3349) " "
1978 RANGE_EXPR@[3349; 3512) 1978 RANGE_EXPR@[3349; 3512)
1979 DOTDOTEQ@[3349; 3352) "..=" 1979 DOT2EQ@[3349; 3352) "..="
1980 RANGE_EXPR@[3352; 3512) 1980 RANGE_EXPR@[3352; 3512)
1981 DOTDOT@[3352; 3354) ".." 1981 DOT2@[3352; 3354) ".."
1982 WHITESPACE@[3354; 3355) " " 1982 WHITESPACE@[3354; 3355) " "
1983 RANGE_EXPR@[3355; 3512) 1983 RANGE_EXPR@[3355; 3512)
1984 DOTDOTEQ@[3355; 3358) "..=" 1984 DOT2EQ@[3355; 3358) "..="
1985 RANGE_EXPR@[3358; 3512) 1985 RANGE_EXPR@[3358; 3512)
1986 DOTDOT@[3358; 3360) ".." 1986 DOT2@[3358; 3360) ".."
1987 WHITESPACE@[3360; 3364) " " 1987 WHITESPACE@[3360; 3364) " "
1988 RANGE_EXPR@[3364; 3512) 1988 RANGE_EXPR@[3364; 3512)
1989 DOTDOT@[3364; 3366) ".." 1989 DOT2@[3364; 3366) ".."
1990 WHITESPACE@[3366; 3367) " " 1990 WHITESPACE@[3366; 3367) " "
1991 RANGE_EXPR@[3367; 3512) 1991 RANGE_EXPR@[3367; 3512)
1992 DOTDOTEQ@[3367; 3370) "..=" 1992 DOT2EQ@[3367; 3370) "..="
1993 RANGE_EXPR@[3370; 3512) 1993 RANGE_EXPR@[3370; 3512)
1994 DOTDOT@[3370; 3372) ".." 1994 DOT2@[3370; 3372) ".."
1995 WHITESPACE@[3372; 3373) " " 1995 WHITESPACE@[3372; 3373) " "
1996 RANGE_EXPR@[3373; 3512) 1996 RANGE_EXPR@[3373; 3512)
1997 DOTDOT@[3373; 3375) ".." 1997 DOT2@[3373; 3375) ".."
1998 WHITESPACE@[3375; 3379) " " 1998 WHITESPACE@[3375; 3379) " "
1999 RANGE_EXPR@[3379; 3512) 1999 RANGE_EXPR@[3379; 3512)
2000 DOTDOT@[3379; 3381) ".." 2000 DOT2@[3379; 3381) ".."
2001 WHITESPACE@[3381; 3382) " " 2001 WHITESPACE@[3381; 3382) " "
2002 RANGE_EXPR@[3382; 3512) 2002 RANGE_EXPR@[3382; 3512)
2003 DOTDOTEQ@[3382; 3385) "..=" 2003 DOT2EQ@[3382; 3385) "..="
2004 RANGE_EXPR@[3385; 3512) 2004 RANGE_EXPR@[3385; 3512)
2005 DOTDOT@[3385; 3387) ".." 2005 DOT2@[3385; 3387) ".."
2006 WHITESPACE@[3387; 3388) " " 2006 WHITESPACE@[3387; 3388) " "
2007 RANGE_EXPR@[3388; 3512) 2007 RANGE_EXPR@[3388; 3512)
2008 DOTDOT@[3388; 3390) ".." 2008 DOT2@[3388; 3390) ".."
2009 WHITESPACE@[3390; 3395) "\n " 2009 WHITESPACE@[3390; 3395) "\n "
2010 RANGE_EXPR@[3395; 3512) 2010 RANGE_EXPR@[3395; 3512)
2011 DOTDOTEQ@[3395; 3398) "..=" 2011 DOT2EQ@[3395; 3398) "..="
2012 RANGE_EXPR@[3398; 3512) 2012 RANGE_EXPR@[3398; 3512)
2013 DOTDOT@[3398; 3400) ".." 2013 DOT2@[3398; 3400) ".."
2014 WHITESPACE@[3400; 3401) " " 2014 WHITESPACE@[3400; 3401) " "
2015 RANGE_EXPR@[3401; 3512) 2015 RANGE_EXPR@[3401; 3512)
2016 DOTDOTEQ@[3401; 3404) "..=" 2016 DOT2EQ@[3401; 3404) "..="
2017 RANGE_EXPR@[3404; 3512) 2017 RANGE_EXPR@[3404; 3512)
2018 DOTDOT@[3404; 3406) ".." 2018 DOT2@[3404; 3406) ".."
2019 WHITESPACE@[3406; 3410) " " 2019 WHITESPACE@[3406; 3410) " "
2020 RANGE_EXPR@[3410; 3512) 2020 RANGE_EXPR@[3410; 3512)
2021 DOTDOTEQ@[3410; 3413) "..=" 2021 DOT2EQ@[3410; 3413) "..="
2022 RANGE_EXPR@[3413; 3512) 2022 RANGE_EXPR@[3413; 3512)
2023 DOTDOT@[3413; 3415) ".." 2023 DOT2@[3413; 3415) ".."
2024 WHITESPACE@[3415; 3416) " " 2024 WHITESPACE@[3415; 3416) " "
2025 RANGE_EXPR@[3416; 3512) 2025 RANGE_EXPR@[3416; 3512)
2026 DOTDOTEQ@[3416; 3419) "..=" 2026 DOT2EQ@[3416; 3419) "..="
2027 RANGE_EXPR@[3419; 3512) 2027 RANGE_EXPR@[3419; 3512)
2028 DOTDOT@[3419; 3421) ".." 2028 DOT2@[3419; 3421) ".."
2029 WHITESPACE@[3421; 3425) " " 2029 WHITESPACE@[3421; 3425) " "
2030 RANGE_EXPR@[3425; 3512) 2030 RANGE_EXPR@[3425; 3512)
2031 DOTDOT@[3425; 3427) ".." 2031 DOT2@[3425; 3427) ".."
2032 WHITESPACE@[3427; 3428) " " 2032 WHITESPACE@[3427; 3428) " "
2033 RANGE_EXPR@[3428; 3512) 2033 RANGE_EXPR@[3428; 3512)
2034 DOTDOT@[3428; 3430) ".." 2034 DOT2@[3428; 3430) ".."
2035 WHITESPACE@[3430; 3431) " " 2035 WHITESPACE@[3430; 3431) " "
2036 RANGE_EXPR@[3431; 3512) 2036 RANGE_EXPR@[3431; 3512)
2037 DOTDOTEQ@[3431; 3434) "..=" 2037 DOT2EQ@[3431; 3434) "..="
2038 RANGE_EXPR@[3434; 3512) 2038 RANGE_EXPR@[3434; 3512)
2039 DOTDOT@[3434; 3436) ".." 2039 DOT2@[3434; 3436) ".."
2040 WHITESPACE@[3436; 3440) " " 2040 WHITESPACE@[3436; 3440) " "
2041 RANGE_EXPR@[3440; 3512) 2041 RANGE_EXPR@[3440; 3512)
2042 DOTDOT@[3440; 3442) ".." 2042 DOT2@[3440; 3442) ".."
2043 WHITESPACE@[3442; 3443) " " 2043 WHITESPACE@[3442; 3443) " "
2044 RANGE_EXPR@[3443; 3512) 2044 RANGE_EXPR@[3443; 3512)
2045 DOTDOTEQ@[3443; 3446) "..=" 2045 DOT2EQ@[3443; 3446) "..="
2046 RANGE_EXPR@[3446; 3512) 2046 RANGE_EXPR@[3446; 3512)
2047 DOTDOT@[3446; 3448) ".." 2047 DOT2@[3446; 3448) ".."
2048 WHITESPACE@[3448; 3449) " " 2048 WHITESPACE@[3448; 3449) " "
2049 RANGE_EXPR@[3449; 3512) 2049 RANGE_EXPR@[3449; 3512)
2050 DOTDOT@[3449; 3451) ".." 2050 DOT2@[3449; 3451) ".."
2051 WHITESPACE@[3451; 3456) "\n " 2051 WHITESPACE@[3451; 3456) "\n "
2052 RANGE_EXPR@[3456; 3512) 2052 RANGE_EXPR@[3456; 3512)
2053 DOTDOTEQ@[3456; 3459) "..=" 2053 DOT2EQ@[3456; 3459) "..="
2054 RANGE_EXPR@[3459; 3512) 2054 RANGE_EXPR@[3459; 3512)
2055 DOTDOT@[3459; 3461) ".." 2055 DOT2@[3459; 3461) ".."
2056 WHITESPACE@[3461; 3462) " " 2056 WHITESPACE@[3461; 3462) " "
2057 RANGE_EXPR@[3462; 3512) 2057 RANGE_EXPR@[3462; 3512)
2058 DOTDOTEQ@[3462; 3465) "..=" 2058 DOT2EQ@[3462; 3465) "..="
2059 RANGE_EXPR@[3465; 3512) 2059 RANGE_EXPR@[3465; 3512)
2060 DOTDOT@[3465; 3467) ".." 2060 DOT2@[3465; 3467) ".."
2061 WHITESPACE@[3467; 3471) " " 2061 WHITESPACE@[3467; 3471) " "
2062 RANGE_EXPR@[3471; 3512) 2062 RANGE_EXPR@[3471; 3512)
2063 DOTDOT@[3471; 3473) ".." 2063 DOT2@[3471; 3473) ".."
2064 WHITESPACE@[3473; 3474) " " 2064 WHITESPACE@[3473; 3474) " "
2065 RANGE_EXPR@[3474; 3512) 2065 RANGE_EXPR@[3474; 3512)
2066 DOTDOTEQ@[3474; 3477) "..=" 2066 DOT2EQ@[3474; 3477) "..="
2067 RANGE_EXPR@[3477; 3512) 2067 RANGE_EXPR@[3477; 3512)
2068 DOTDOTEQ@[3477; 3480) "..=" 2068 DOT2EQ@[3477; 3480) "..="
2069 RANGE_EXPR@[3480; 3512) 2069 RANGE_EXPR@[3480; 3512)
2070 DOTDOT@[3480; 3482) ".." 2070 DOT2@[3480; 3482) ".."
2071 WHITESPACE@[3482; 3486) " " 2071 WHITESPACE@[3482; 3486) " "
2072 RANGE_EXPR@[3486; 3512) 2072 RANGE_EXPR@[3486; 3512)
2073 DOTDOTEQ@[3486; 3489) "..=" 2073 DOT2EQ@[3486; 3489) "..="
2074 RANGE_EXPR@[3489; 3512) 2074 RANGE_EXPR@[3489; 3512)
2075 DOTDOTEQ@[3489; 3492) "..=" 2075 DOT2EQ@[3489; 3492) "..="
2076 RANGE_EXPR@[3492; 3512) 2076 RANGE_EXPR@[3492; 3512)
2077 DOTDOT@[3492; 3494) ".." 2077 DOT2@[3492; 3494) ".."
2078 WHITESPACE@[3494; 3495) " " 2078 WHITESPACE@[3494; 3495) " "
2079 RANGE_EXPR@[3495; 3512) 2079 RANGE_EXPR@[3495; 3512)
2080 DOTDOT@[3495; 3497) ".." 2080 DOT2@[3495; 3497) ".."
2081 WHITESPACE@[3497; 3501) " " 2081 WHITESPACE@[3497; 3501) " "
2082 RANGE_EXPR@[3501; 3512) 2082 RANGE_EXPR@[3501; 3512)
2083 DOTDOT@[3501; 3503) ".." 2083 DOT2@[3501; 3503) ".."
2084 WHITESPACE@[3503; 3504) " " 2084 WHITESPACE@[3503; 3504) " "
2085 RANGE_EXPR@[3504; 3512) 2085 RANGE_EXPR@[3504; 3512)
2086 DOTDOTEQ@[3504; 3507) "..=" 2086 DOT2EQ@[3504; 3507) "..="
2087 RANGE_EXPR@[3507; 3512) 2087 RANGE_EXPR@[3507; 3512)
2088 DOTDOT@[3507; 3509) ".." 2088 DOT2@[3507; 3509) ".."
2089 WHITESPACE@[3509; 3510) " " 2089 WHITESPACE@[3509; 3510) " "
2090 RANGE_EXPR@[3510; 3512) 2090 RANGE_EXPR@[3510; 3512)
2091 DOTDOT@[3510; 3512) ".." 2091 DOT2@[3510; 3512) ".."
2092 WHITESPACE@[3512; 3513) "\n" 2092 WHITESPACE@[3512; 3513) "\n"
2093 R_CURLY@[3513; 3514) "}" 2093 R_CURLY@[3513; 3514) "}"
2094 WHITESPACE@[3514; 3516) "\n\n" 2094 WHITESPACE@[3514; 3516) "\n\n"
@@ -2105,22 +2105,22 @@ SOURCE_FILE@[0; 3813)
2105 BLOCK@[3528; 3552) 2105 BLOCK@[3528; 3552)
2106 L_CURLY@[3528; 3529) "{" 2106 L_CURLY@[3528; 3529) "{"
2107 WHITESPACE@[3529; 3534) "\n " 2107 WHITESPACE@[3529; 3534) "\n "
2108 SEMI@[3534; 3535) ";" 2108 SEMICOLON@[3534; 3535) ";"
2109 SEMI@[3535; 3536) ";" 2109 SEMICOLON@[3535; 3536) ";"
2110 SEMI@[3536; 3537) ";" 2110 SEMICOLON@[3536; 3537) ";"
2111 EXPR_STMT@[3537; 3540) 2111 EXPR_STMT@[3537; 3540)
2112 TUPLE_EXPR@[3537; 3539) 2112 TUPLE_EXPR@[3537; 3539)
2113 L_PAREN@[3537; 3538) "(" 2113 L_PAREN@[3537; 3538) "("
2114 R_PAREN@[3538; 3539) ")" 2114 R_PAREN@[3538; 3539) ")"
2115 SEMI@[3539; 3540) ";" 2115 SEMICOLON@[3539; 3540) ";"
2116 SEMI@[3540; 3541) ";" 2116 SEMICOLON@[3540; 3541) ";"
2117 SEMI@[3541; 3542) ";" 2117 SEMICOLON@[3541; 3542) ";"
2118 SEMI@[3542; 3543) ";" 2118 SEMICOLON@[3542; 3543) ";"
2119 SEMI@[3543; 3544) ";" 2119 SEMICOLON@[3543; 3544) ";"
2120 SEMI@[3544; 3545) ";" 2120 SEMICOLON@[3544; 3545) ";"
2121 SEMI@[3545; 3546) ";" 2121 SEMICOLON@[3545; 3546) ";"
2122 SEMI@[3546; 3547) ";" 2122 SEMICOLON@[3546; 3547) ";"
2123 SEMI@[3547; 3548) ";" 2123 SEMICOLON@[3547; 3548) ";"
2124 TUPLE_EXPR@[3548; 3550) 2124 TUPLE_EXPR@[3548; 3550)
2125 L_PAREN@[3548; 3549) "(" 2125 L_PAREN@[3548; 3549) "("
2126 R_PAREN@[3549; 3550) ")" 2126 R_PAREN@[3549; 3550) ")"
@@ -2153,7 +2153,7 @@ SOURCE_FILE@[0; 3813)
2153 ARG_LIST@[3581; 3583) 2153 ARG_LIST@[3581; 3583)
2154 L_PAREN@[3581; 3582) "(" 2154 L_PAREN@[3581; 3582) "("
2155 R_PAREN@[3582; 3583) ")" 2155 R_PAREN@[3582; 3583) ")"
2156 SEMI@[3583; 3584) ";" 2156 SEMICOLON@[3583; 3584) ";"
2157 WHITESPACE@[3584; 3589) "\n " 2157 WHITESPACE@[3584; 3589) "\n "
2158 EXPR_STMT@[3589; 3597) 2158 EXPR_STMT@[3589; 3597)
2159 CALL_EXPR@[3589; 3596) 2159 CALL_EXPR@[3589; 3596)
@@ -2165,7 +2165,7 @@ SOURCE_FILE@[0; 3813)
2165 ARG_LIST@[3594; 3596) 2165 ARG_LIST@[3594; 3596)
2166 L_PAREN@[3594; 3595) "(" 2166 L_PAREN@[3594; 3595) "("
2167 R_PAREN@[3595; 3596) ")" 2167 R_PAREN@[3595; 3596) ")"
2168 SEMI@[3596; 3597) ";" 2168 SEMICOLON@[3596; 3597) ";"
2169 WHITESPACE@[3597; 3602) "\n " 2169 WHITESPACE@[3597; 3602) "\n "
2170 EXPR_STMT@[3602; 3609) 2170 EXPR_STMT@[3602; 3609)
2171 CALL_EXPR@[3602; 3608) 2171 CALL_EXPR@[3602; 3608)
@@ -2177,7 +2177,7 @@ SOURCE_FILE@[0; 3813)
2177 ARG_LIST@[3606; 3608) 2177 ARG_LIST@[3606; 3608)
2178 L_PAREN@[3606; 3607) "(" 2178 L_PAREN@[3606; 3607) "("
2179 R_PAREN@[3607; 3608) ")" 2179 R_PAREN@[3607; 3608) ")"
2180 SEMI@[3608; 3609) ";" 2180 SEMICOLON@[3608; 3609) ";"
2181 WHITESPACE@[3609; 3614) "\n " 2181 WHITESPACE@[3609; 3614) "\n "
2182 EXPR_STMT@[3614; 3628) 2182 EXPR_STMT@[3614; 3628)
2183 CALL_EXPR@[3614; 3627) 2183 CALL_EXPR@[3614; 3627)
@@ -2189,7 +2189,7 @@ SOURCE_FILE@[0; 3813)
2189 ARG_LIST@[3625; 3627) 2189 ARG_LIST@[3625; 3627)
2190 L_PAREN@[3625; 3626) "(" 2190 L_PAREN@[3625; 3626) "("
2191 R_PAREN@[3626; 3627) ")" 2191 R_PAREN@[3626; 3627) ")"
2192 SEMI@[3627; 3628) ";" 2192 SEMICOLON@[3627; 3628) ";"
2193 WHITESPACE@[3628; 3633) "\n " 2193 WHITESPACE@[3628; 3633) "\n "
2194 EXPR_STMT@[3633; 3643) 2194 EXPR_STMT@[3633; 3643)
2195 CALL_EXPR@[3633; 3642) 2195 CALL_EXPR@[3633; 3642)
@@ -2201,7 +2201,7 @@ SOURCE_FILE@[0; 3813)
2201 ARG_LIST@[3640; 3642) 2201 ARG_LIST@[3640; 3642)
2202 L_PAREN@[3640; 3641) "(" 2202 L_PAREN@[3640; 3641) "("
2203 R_PAREN@[3641; 3642) ")" 2203 R_PAREN@[3641; 3642) ")"
2204 SEMI@[3642; 3643) ";" 2204 SEMICOLON@[3642; 3643) ";"
2205 WHITESPACE@[3643; 3648) "\n " 2205 WHITESPACE@[3643; 3648) "\n "
2206 EXPR_STMT@[3648; 3664) 2206 EXPR_STMT@[3648; 3664)
2207 CALL_EXPR@[3648; 3663) 2207 CALL_EXPR@[3648; 3663)
@@ -2213,7 +2213,7 @@ SOURCE_FILE@[0; 3813)
2213 ARG_LIST@[3661; 3663) 2213 ARG_LIST@[3661; 3663)
2214 L_PAREN@[3661; 3662) "(" 2214 L_PAREN@[3661; 3662) "("
2215 R_PAREN@[3662; 3663) ")" 2215 R_PAREN@[3662; 3663) ")"
2216 SEMI@[3663; 3664) ";" 2216 SEMICOLON@[3663; 3664) ";"
2217 WHITESPACE@[3664; 3669) "\n " 2217 WHITESPACE@[3664; 3669) "\n "
2218 EXPR_STMT@[3669; 3681) 2218 EXPR_STMT@[3669; 3681)
2219 CALL_EXPR@[3669; 3680) 2219 CALL_EXPR@[3669; 3680)
@@ -2225,7 +2225,7 @@ SOURCE_FILE@[0; 3813)
2225 ARG_LIST@[3678; 3680) 2225 ARG_LIST@[3678; 3680)
2226 L_PAREN@[3678; 3679) "(" 2226 L_PAREN@[3678; 3679) "("
2227 R_PAREN@[3679; 3680) ")" 2227 R_PAREN@[3679; 3680) ")"
2228 SEMI@[3680; 3681) ";" 2228 SEMICOLON@[3680; 3681) ";"
2229 WHITESPACE@[3681; 3686) "\n " 2229 WHITESPACE@[3681; 3686) "\n "
2230 EXPR_STMT@[3686; 3701) 2230 EXPR_STMT@[3686; 3701)
2231 CALL_EXPR@[3686; 3700) 2231 CALL_EXPR@[3686; 3700)
@@ -2237,7 +2237,7 @@ SOURCE_FILE@[0; 3813)
2237 ARG_LIST@[3698; 3700) 2237 ARG_LIST@[3698; 3700)
2238 L_PAREN@[3698; 3699) "(" 2238 L_PAREN@[3698; 3699) "("
2239 R_PAREN@[3699; 3700) ")" 2239 R_PAREN@[3699; 3700) ")"
2240 SEMI@[3700; 3701) ";" 2240 SEMICOLON@[3700; 3701) ";"
2241 WHITESPACE@[3701; 3706) "\n " 2241 WHITESPACE@[3701; 3706) "\n "
2242 EXPR_STMT@[3706; 3713) 2242 EXPR_STMT@[3706; 3713)
2243 CALL_EXPR@[3706; 3712) 2243 CALL_EXPR@[3706; 3712)
@@ -2249,7 +2249,7 @@ SOURCE_FILE@[0; 3813)
2249 ARG_LIST@[3710; 3712) 2249 ARG_LIST@[3710; 3712)
2250 L_PAREN@[3710; 3711) "(" 2250 L_PAREN@[3710; 3711) "("
2251 R_PAREN@[3711; 3712) ")" 2251 R_PAREN@[3711; 3712) ")"
2252 SEMI@[3712; 3713) ";" 2252 SEMICOLON@[3712; 3713) ";"
2253 WHITESPACE@[3713; 3718) "\n " 2253 WHITESPACE@[3713; 3718) "\n "
2254 EXPR_STMT@[3718; 3726) 2254 EXPR_STMT@[3718; 3726)
2255 CALL_EXPR@[3718; 3725) 2255 CALL_EXPR@[3718; 3725)
@@ -2263,7 +2263,7 @@ SOURCE_FILE@[0; 3813)
2263 LITERAL@[3721; 3724) 2263 LITERAL@[3721; 3724)
2264 INT_NUMBER@[3721; 3724) "8u8" 2264 INT_NUMBER@[3721; 3724) "8u8"
2265 R_PAREN@[3724; 3725) ")" 2265 R_PAREN@[3724; 3725) ")"
2266 SEMI@[3725; 3726) ";" 2266 SEMICOLON@[3725; 3726) ";"
2267 WHITESPACE@[3726; 3731) "\n " 2267 WHITESPACE@[3726; 3731) "\n "
2268 EXPR_STMT@[3731; 3739) 2268 EXPR_STMT@[3731; 3739)
2269 CALL_EXPR@[3731; 3738) 2269 CALL_EXPR@[3731; 3738)
@@ -2275,7 +2275,7 @@ SOURCE_FILE@[0; 3813)
2275 ARG_LIST@[3736; 3738) 2275 ARG_LIST@[3736; 3738)
2276 L_PAREN@[3736; 3737) "(" 2276 L_PAREN@[3736; 3737) "("
2277 R_PAREN@[3737; 3738) ")" 2277 R_PAREN@[3737; 3738) ")"
2278 SEMI@[3738; 3739) ";" 2278 SEMICOLON@[3738; 3739) ";"
2279 WHITESPACE@[3739; 3744) "\n " 2279 WHITESPACE@[3739; 3744) "\n "
2280 EXPR_STMT@[3744; 3752) 2280 EXPR_STMT@[3744; 3752)
2281 CALL_EXPR@[3744; 3751) 2281 CALL_EXPR@[3744; 3751)
@@ -2287,7 +2287,7 @@ SOURCE_FILE@[0; 3813)
2287 ARG_LIST@[3749; 3751) 2287 ARG_LIST@[3749; 3751)
2288 L_PAREN@[3749; 3750) "(" 2288 L_PAREN@[3749; 3750) "("
2289 R_PAREN@[3750; 3751) ")" 2289 R_PAREN@[3750; 3751) ")"
2290 SEMI@[3751; 3752) ";" 2290 SEMICOLON@[3751; 3752) ";"
2291 WHITESPACE@[3752; 3757) "\n " 2291 WHITESPACE@[3752; 3757) "\n "
2292 EXPR_STMT@[3757; 3778) 2292 EXPR_STMT@[3757; 3778)
2293 CALL_EXPR@[3757; 3777) 2293 CALL_EXPR@[3757; 3777)
@@ -2299,7 +2299,7 @@ SOURCE_FILE@[0; 3813)
2299 ARG_LIST@[3775; 3777) 2299 ARG_LIST@[3775; 3777)
2300 L_PAREN@[3775; 3776) "(" 2300 L_PAREN@[3775; 3776) "("
2301 R_PAREN@[3776; 3777) ")" 2301 R_PAREN@[3776; 3777) ")"
2302 SEMI@[3777; 3778) ";" 2302 SEMICOLON@[3777; 3778) ";"
2303 WHITESPACE@[3778; 3783) "\n " 2303 WHITESPACE@[3778; 3783) "\n "
2304 EXPR_STMT@[3783; 3796) 2304 EXPR_STMT@[3783; 3796)
2305 CALL_EXPR@[3783; 3795) 2305 CALL_EXPR@[3783; 3795)
@@ -2311,7 +2311,7 @@ SOURCE_FILE@[0; 3813)
2311 ARG_LIST@[3793; 3795) 2311 ARG_LIST@[3793; 3795)
2312 L_PAREN@[3793; 3794) "(" 2312 L_PAREN@[3793; 3794) "("
2313 R_PAREN@[3794; 3795) ")" 2313 R_PAREN@[3794; 3795) ")"
2314 SEMI@[3795; 3796) ";" 2314 SEMICOLON@[3795; 3796) ";"
2315 WHITESPACE@[3796; 3801) "\n " 2315 WHITESPACE@[3796; 3801) "\n "
2316 EXPR_STMT@[3801; 3810) 2316 EXPR_STMT@[3801; 3810)
2317 CALL_EXPR@[3801; 3809) 2317 CALL_EXPR@[3801; 3809)
@@ -2323,7 +2323,7 @@ SOURCE_FILE@[0; 3813)
2323 ARG_LIST@[3807; 3809) 2323 ARG_LIST@[3807; 3809)
2324 L_PAREN@[3807; 3808) "(" 2324 L_PAREN@[3807; 3808) "("
2325 R_PAREN@[3808; 3809) ")" 2325 R_PAREN@[3808; 3809) ")"
2326 SEMI@[3809; 3810) ";" 2326 SEMICOLON@[3809; 3810) ";"
2327 WHITESPACE@[3810; 3811) "\n" 2327 WHITESPACE@[3810; 3811) "\n"
2328 R_CURLY@[3811; 3812) "}" 2328 R_CURLY@[3811; 3812) "}"
2329 WHITESPACE@[3812; 3813) "\n" 2329 WHITESPACE@[3812; 3813) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast b/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast
index ac5444087..4df6703f4 100644
--- a/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast
@@ -60,7 +60,7 @@ SOURCE_FILE@[0; 157)
60 NAME_REF@[114; 122) 60 NAME_REF@[114; 122)
61 IDENT@[114; 122) "Iterator" 61 IDENT@[114; 122) "Iterator"
62 R_ANGLE@[122; 123) ">" 62 R_ANGLE@[122; 123) ">"
63 COLONCOLON@[123; 125) "::" 63 COLON2@[123; 125) "::"
64 PATH_SEGMENT@[125; 129) 64 PATH_SEGMENT@[125; 129)
65 NAME_REF@[125; 129) 65 NAME_REF@[125; 129)
66 IDENT@[125; 129) "Item" 66 IDENT@[125; 129) "Item"
diff --git a/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast b/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast
index 64c70e196..825518eda 100644
--- a/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast
@@ -23,7 +23,7 @@ SOURCE_FILE@[0; 59)
23 WHITESPACE@[25; 26) " " 23 WHITESPACE@[25; 26) " "
24 LITERAL@[26; 28) 24 LITERAL@[26; 28)
25 INT_NUMBER@[26; 28) "92" 25 INT_NUMBER@[26; 28) "92"
26 SEMI@[28; 29) ";" 26 SEMICOLON@[28; 29) ";"
27 WHITESPACE@[29; 30) " " 27 WHITESPACE@[29; 30) " "
28 LET_STMT@[30; 57) 28 LET_STMT@[30; 57)
29 LET_KW@[30; 33) "let" 29 LET_KW@[30; 33) "let"
@@ -45,6 +45,6 @@ SOURCE_FILE@[0; 59)
45 WHITESPACE@[54; 55) " " 45 WHITESPACE@[54; 55) " "
46 LITERAL@[55; 56) 46 LITERAL@[55; 56)
47 INT_NUMBER@[55; 56) "2" 47 INT_NUMBER@[55; 56) "2"
48 SEMI@[56; 57) ";" 48 SEMICOLON@[56; 57) ";"
49 WHITESPACE@[57; 58) " " 49 WHITESPACE@[57; 58) " "
50 R_CURLY@[58; 59) "}" 50 R_CURLY@[58; 59) "}"
diff --git a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast
index 341e02704..420a62639 100644
--- a/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast
@@ -6,7 +6,7 @@ SOURCE_FILE@[0; 199)
6 WHITESPACE@[68; 69) " " 6 WHITESPACE@[68; 69) " "
7 NAME@[69; 72) 7 NAME@[69; 72)
8 IDENT@[69; 72) "Foo" 8 IDENT@[69; 72) "Foo"
9 SEMI@[72; 73) ";" 9 SEMICOLON@[72; 73) ";"
10 WHITESPACE@[73; 75) "\n\n" 10 WHITESPACE@[73; 75) "\n\n"
11 IMPL_DEF@[75; 141) 11 IMPL_DEF@[75; 141)
12 IMPL_KW@[75; 79) "impl" 12 IMPL_KW@[75; 79) "impl"
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 199)
47 PATH_SEGMENT@[117; 130) 47 PATH_SEGMENT@[117; 130)
48 NAME_REF@[117; 130) 48 NAME_REF@[117; 130)
49 IDENT@[117; 130) "unimplemented" 49 IDENT@[117; 130) "unimplemented"
50 EXCL@[130; 131) "!" 50 BANG@[130; 131) "!"
51 TOKEN_TREE@[131; 133) 51 TOKEN_TREE@[131; 133)
52 L_PAREN@[131; 132) "(" 52 L_PAREN@[131; 132) "("
53 R_PAREN@[132; 133) ")" 53 R_PAREN@[132; 133) ")"
@@ -113,7 +113,7 @@ SOURCE_FILE@[0; 199)
113 NAME_REF@[184; 187) 113 NAME_REF@[184; 187)
114 IDENT@[184; 187) "Foo" 114 IDENT@[184; 187) "Foo"
115 R_ANGLE@[187; 188) ">" 115 R_ANGLE@[187; 188) ">"
116 COLONCOLON@[188; 190) "::" 116 COLON2@[188; 190) "::"
117 PATH_SEGMENT@[190; 193) 117 PATH_SEGMENT@[190; 193)
118 NAME_REF@[190; 193) 118 NAME_REF@[190; 193)
119 IDENT@[190; 193) "bar" 119 IDENT@[190; 193) "bar"
diff --git a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast
index c5821afd0..3bc0ddbde 100644
--- a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast
@@ -22,7 +22,7 @@ SOURCE_FILE@[0; 160)
22 PATH_SEGMENT@[82; 84) 22 PATH_SEGMENT@[82; 84)
23 NAME_REF@[82; 84) 23 NAME_REF@[82; 84)
24 IDENT@[82; 84) "u8" 24 IDENT@[82; 84) "u8"
25 SEMI@[84; 85) ";" 25 SEMICOLON@[84; 85) ";"
26 WHITESPACE@[85; 86) " " 26 WHITESPACE@[85; 86) " "
27 LITERAL@[86; 87) 27 LITERAL@[86; 87)
28 INT_NUMBER@[86; 87) "1" 28 INT_NUMBER@[86; 87) "1"
@@ -80,7 +80,7 @@ SOURCE_FILE@[0; 160)
80 WHITESPACE@[133; 134) " " 80 WHITESPACE@[133; 134) " "
81 LITERAL@[134; 135) 81 LITERAL@[134; 135)
82 INT_NUMBER@[134; 135) "0" 82 INT_NUMBER@[134; 135) "0"
83 SEMI@[135; 136) ";" 83 SEMICOLON@[135; 136) ";"
84 WHITESPACE@[136; 141) "\n " 84 WHITESPACE@[136; 141) "\n "
85 EXPR_STMT@[141; 157) 85 EXPR_STMT@[141; 157)
86 CALL_EXPR@[141; 156) 86 CALL_EXPR@[141; 156)
@@ -104,7 +104,7 @@ SOURCE_FILE@[0; 160)
104 ARG_LIST@[154; 156) 104 ARG_LIST@[154; 156)
105 L_PAREN@[154; 155) "(" 105 L_PAREN@[154; 155) "("
106 R_PAREN@[155; 156) ")" 106 R_PAREN@[155; 156) ")"
107 SEMI@[156; 157) ";" 107 SEMICOLON@[156; 157) ";"
108 WHITESPACE@[157; 158) "\n" 108 WHITESPACE@[157; 158) "\n"
109 R_CURLY@[158; 159) "}" 109 R_CURLY@[158; 159) "}"
110 WHITESPACE@[159; 160) "\n" 110 WHITESPACE@[159; 160) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast
index bfc793dc1..4b2593147 100644
--- a/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 166)
47 PATH_SEGMENT@[127; 132) 47 PATH_SEGMENT@[127; 132)
48 NAME_REF@[127; 132) 48 NAME_REF@[127; 132)
49 IDENT@[127; 132) "panic" 49 IDENT@[127; 132) "panic"
50 COLONCOLON@[132; 134) "::" 50 COLON2@[132; 134) "::"
51 PATH_SEGMENT@[134; 146) 51 PATH_SEGMENT@[134; 146)
52 NAME_REF@[134; 146) 52 NAME_REF@[134; 146)
53 IDENT@[134; 146) "catch_unwind" 53 IDENT@[134; 146) "catch_unwind"
@@ -70,7 +70,7 @@ SOURCE_FILE@[0; 166)
70 L_PAREN@[159; 160) "(" 70 L_PAREN@[159; 160) "("
71 R_PAREN@[160; 161) ")" 71 R_PAREN@[160; 161) ")"
72 R_PAREN@[161; 162) ")" 72 R_PAREN@[161; 162) ")"
73 SEMI@[162; 163) ";" 73 SEMICOLON@[162; 163) ";"
74 WHITESPACE@[163; 164) "\n" 74 WHITESPACE@[163; 164) "\n"
75 R_CURLY@[164; 165) "}" 75 R_CURLY@[164; 165) "}"
76 WHITESPACE@[165; 166) "\n" 76 WHITESPACE@[165; 166) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast
index e15447ca7..954b3bc2a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast
@@ -14,7 +14,7 @@ SOURCE_FILE@[0; 686)
14 WHITESPACE@[12; 17) "\n " 14 WHITESPACE@[12; 17) "\n "
15 ATTR@[17; 57) 15 ATTR@[17; 57)
16 POUND@[17; 18) "#" 16 POUND@[17; 18) "#"
17 EXCL@[18; 19) "!" 17 BANG@[18; 19) "!"
18 L_BRACK@[19; 20) "[" 18 L_BRACK@[19; 20) "["
19 PATH@[20; 23) 19 PATH@[20; 23)
20 PATH_SEGMENT@[20; 23) 20 PATH_SEGMENT@[20; 23)
@@ -35,7 +35,7 @@ SOURCE_FILE@[0; 686)
35 WHITESPACE@[103; 112) "\n " 35 WHITESPACE@[103; 112) "\n "
36 ATTR@[112; 180) 36 ATTR@[112; 180)
37 POUND@[112; 113) "#" 37 POUND@[112; 113) "#"
38 EXCL@[113; 114) "!" 38 BANG@[113; 114) "!"
39 L_BRACK@[114; 115) "[" 39 L_BRACK@[114; 115) "["
40 PATH@[115; 118) 40 PATH@[115; 118)
41 PATH_SEGMENT@[115; 118) 41 PATH_SEGMENT@[115; 118)
@@ -49,7 +49,7 @@ SOURCE_FILE@[0; 686)
49 WHITESPACE@[180; 189) "\n " 49 WHITESPACE@[180; 189) "\n "
50 ATTR@[189; 244) 50 ATTR@[189; 244)
51 POUND@[189; 190) "#" 51 POUND@[189; 190) "#"
52 EXCL@[190; 191) "!" 52 BANG@[190; 191) "!"
53 L_BRACK@[191; 192) "[" 53 L_BRACK@[191; 192) "["
54 PATH@[192; 195) 54 PATH@[192; 195)
55 PATH_SEGMENT@[192; 195) 55 PATH_SEGMENT@[192; 195)
@@ -64,7 +64,7 @@ SOURCE_FILE@[0; 686)
64 COMMENT@[253; 288) "//! As are ModuleDoc ..." 64 COMMENT@[253; 288) "//! As are ModuleDoc ..."
65 WHITESPACE@[288; 293) "\n " 65 WHITESPACE@[288; 293) "\n "
66 R_CURLY@[293; 294) "}" 66 R_CURLY@[293; 294) "}"
67 SEMI@[294; 295) ";" 67 SEMICOLON@[294; 295) ";"
68 WHITESPACE@[295; 300) "\n " 68 WHITESPACE@[295; 300) "\n "
69 BLOCK_EXPR@[300; 459) 69 BLOCK_EXPR@[300; 459)
70 BLOCK@[300; 459) 70 BLOCK@[300; 459)
@@ -72,7 +72,7 @@ SOURCE_FILE@[0; 686)
72 WHITESPACE@[301; 310) "\n " 72 WHITESPACE@[301; 310) "\n "
73 ATTR@[310; 409) 73 ATTR@[310; 409)
74 POUND@[310; 311) "#" 74 POUND@[310; 311) "#"
75 EXCL@[311; 312) "!" 75 BANG@[311; 312) "!"
76 L_BRACK@[312; 313) "[" 76 L_BRACK@[312; 313) "["
77 PATH@[313; 316) 77 PATH@[313; 316)
78 PATH_SEGMENT@[313; 316) 78 PATH_SEGMENT@[313; 316)
@@ -161,7 +161,7 @@ SOURCE_FILE@[0; 686)
161 WHITESPACE@[603; 612) "\n " 161 WHITESPACE@[603; 612) "\n "
162 ATTR@[612; 639) 162 ATTR@[612; 639)
163 POUND@[612; 613) "#" 163 POUND@[612; 613) "#"
164 EXCL@[613; 614) "!" 164 BANG@[613; 614) "!"
165 L_BRACK@[614; 615) "[" 165 L_BRACK@[614; 615) "["
166 PATH@[615; 620) 166 PATH@[615; 620)
167 PATH_SEGMENT@[615; 620) 167 PATH_SEGMENT@[615; 620)
diff --git a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
index 8f192124b..92c8df2d6 100644
--- a/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
@@ -12,7 +12,7 @@ SOURCE_FILE@[0; 87)
12 WHITESPACE@[42; 47) "\n " 12 WHITESPACE@[42; 47) "\n "
13 ATTR@[47; 84) 13 ATTR@[47; 84)
14 POUND@[47; 48) "#" 14 POUND@[47; 48) "#"
15 EXCL@[48; 49) "!" 15 BANG@[48; 49) "!"
16 L_BRACK@[49; 50) "[" 16 L_BRACK@[49; 50) "["
17 PATH@[50; 53) 17 PATH@[50; 53)
18 PATH_SEGMENT@[50; 53) 18 PATH_SEGMENT@[50; 53)
diff --git a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
index 07a5fbf2d..de703328a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
@@ -151,7 +151,7 @@ SOURCE_FILE@[0; 395)
151 PATH_SEGMENT@[234; 235) 151 PATH_SEGMENT@[234; 235)
152 NAME_REF@[234; 235) 152 NAME_REF@[234; 235)
153 IDENT@[234; 235) "A" 153 IDENT@[234; 235) "A"
154 COLONCOLON@[235; 237) "::" 154 COLON2@[235; 237) "::"
155 PATH_SEGMENT@[237; 238) 155 PATH_SEGMENT@[237; 238)
156 NAME_REF@[237; 238) 156 NAME_REF@[237; 238)
157 IDENT@[237; 238) "B" 157 IDENT@[237; 238) "B"
@@ -179,7 +179,7 @@ SOURCE_FILE@[0; 395)
179 PATH_SEGMENT@[257; 258) 179 PATH_SEGMENT@[257; 258)
180 NAME_REF@[257; 258) 180 NAME_REF@[257; 258)
181 IDENT@[257; 258) "A" 181 IDENT@[257; 258) "A"
182 COLONCOLON@[258; 260) "::" 182 COLON2@[258; 260) "::"
183 PATH_SEGMENT@[260; 261) 183 PATH_SEGMENT@[260; 261)
184 NAME_REF@[260; 261) 184 NAME_REF@[260; 261)
185 IDENT@[260; 261) "B" 185 IDENT@[260; 261) "B"
@@ -303,7 +303,7 @@ SOURCE_FILE@[0; 395)
303 MINUS@[376; 377) "-" 303 MINUS@[376; 377) "-"
304 LITERAL@[377; 380) 304 LITERAL@[377; 380)
305 INT_NUMBER@[377; 380) "128" 305 INT_NUMBER@[377; 380) "128"
306 DOTDOTEQ@[380; 383) "..=" 306 DOT2EQ@[380; 383) "..="
307 LITERAL_PAT@[383; 386) 307 LITERAL_PAT@[383; 386)
308 LITERAL@[383; 386) 308 LITERAL@[383; 386)
309 INT_NUMBER@[383; 386) "127" 309 INT_NUMBER@[383; 386) "127"
diff --git a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast
index c9cf84ffd..849d8a445 100644
--- a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast
@@ -27,7 +27,7 @@ SOURCE_FILE@[0; 257)
27 WHITESPACE@[102; 103) " " 27 WHITESPACE@[102; 103) " "
28 LITERAL@[103; 104) 28 LITERAL@[103; 104)
29 INT_NUMBER@[103; 104) "0" 29 INT_NUMBER@[103; 104) "0"
30 SEMI@[104; 105) ";" 30 SEMICOLON@[104; 105) ";"
31 WHITESPACE@[105; 110) "\n " 31 WHITESPACE@[105; 110) "\n "
32 EXPR_STMT@[110; 117) 32 EXPR_STMT@[110; 117)
33 BIN_EXPR@[110; 116) 33 BIN_EXPR@[110; 116)
@@ -41,7 +41,7 @@ SOURCE_FILE@[0; 257)
41 WHITESPACE@[114; 115) " " 41 WHITESPACE@[114; 115) " "
42 LITERAL@[115; 116) 42 LITERAL@[115; 116)
43 INT_NUMBER@[115; 116) "1" 43 INT_NUMBER@[115; 116) "1"
44 SEMI@[116; 117) ";" 44 SEMICOLON@[116; 117) ";"
45 WHITESPACE@[117; 122) "\n " 45 WHITESPACE@[117; 122) "\n "
46 EXPR_STMT@[122; 129) 46 EXPR_STMT@[122; 129)
47 BIN_EXPR@[122; 128) 47 BIN_EXPR@[122; 128)
@@ -55,7 +55,7 @@ SOURCE_FILE@[0; 257)
55 WHITESPACE@[126; 127) " " 55 WHITESPACE@[126; 127) " "
56 LITERAL@[127; 128) 56 LITERAL@[127; 128)
57 INT_NUMBER@[127; 128) "2" 57 INT_NUMBER@[127; 128) "2"
58 SEMI@[128; 129) ";" 58 SEMICOLON@[128; 129) ";"
59 WHITESPACE@[129; 134) "\n " 59 WHITESPACE@[129; 134) "\n "
60 EXPR_STMT@[134; 141) 60 EXPR_STMT@[134; 141)
61 BIN_EXPR@[134; 140) 61 BIN_EXPR@[134; 140)
@@ -69,7 +69,7 @@ SOURCE_FILE@[0; 257)
69 WHITESPACE@[138; 139) " " 69 WHITESPACE@[138; 139) " "
70 LITERAL@[139; 140) 70 LITERAL@[139; 140)
71 INT_NUMBER@[139; 140) "3" 71 INT_NUMBER@[139; 140) "3"
72 SEMI@[140; 141) ";" 72 SEMICOLON@[140; 141) ";"
73 WHITESPACE@[141; 146) "\n " 73 WHITESPACE@[141; 146) "\n "
74 EXPR_STMT@[146; 153) 74 EXPR_STMT@[146; 153)
75 BIN_EXPR@[146; 152) 75 BIN_EXPR@[146; 152)
@@ -83,7 +83,7 @@ SOURCE_FILE@[0; 257)
83 WHITESPACE@[150; 151) " " 83 WHITESPACE@[150; 151) " "
84 LITERAL@[151; 152) 84 LITERAL@[151; 152)
85 INT_NUMBER@[151; 152) "4" 85 INT_NUMBER@[151; 152) "4"
86 SEMI@[152; 153) ";" 86 SEMICOLON@[152; 153) ";"
87 WHITESPACE@[153; 158) "\n " 87 WHITESPACE@[153; 158) "\n "
88 EXPR_STMT@[158; 165) 88 EXPR_STMT@[158; 165)
89 BIN_EXPR@[158; 164) 89 BIN_EXPR@[158; 164)
@@ -97,7 +97,7 @@ SOURCE_FILE@[0; 257)
97 WHITESPACE@[162; 163) " " 97 WHITESPACE@[162; 163) " "
98 LITERAL@[163; 164) 98 LITERAL@[163; 164)
99 INT_NUMBER@[163; 164) "5" 99 INT_NUMBER@[163; 164) "5"
100 SEMI@[164; 165) ";" 100 SEMICOLON@[164; 165) ";"
101 WHITESPACE@[165; 170) "\n " 101 WHITESPACE@[165; 170) "\n "
102 EXPR_STMT@[170; 177) 102 EXPR_STMT@[170; 177)
103 BIN_EXPR@[170; 176) 103 BIN_EXPR@[170; 176)
@@ -111,7 +111,7 @@ SOURCE_FILE@[0; 257)
111 WHITESPACE@[174; 175) " " 111 WHITESPACE@[174; 175) " "
112 LITERAL@[175; 176) 112 LITERAL@[175; 176)
113 INT_NUMBER@[175; 176) "6" 113 INT_NUMBER@[175; 176) "6"
114 SEMI@[176; 177) ";" 114 SEMICOLON@[176; 177) ";"
115 WHITESPACE@[177; 182) "\n " 115 WHITESPACE@[177; 182) "\n "
116 EXPR_STMT@[182; 189) 116 EXPR_STMT@[182; 189)
117 BIN_EXPR@[182; 188) 117 BIN_EXPR@[182; 188)
@@ -125,7 +125,7 @@ SOURCE_FILE@[0; 257)
125 WHITESPACE@[186; 187) " " 125 WHITESPACE@[186; 187) " "
126 LITERAL@[187; 188) 126 LITERAL@[187; 188)
127 INT_NUMBER@[187; 188) "7" 127 INT_NUMBER@[187; 188) "7"
128 SEMI@[188; 189) ";" 128 SEMICOLON@[188; 189) ";"
129 WHITESPACE@[189; 194) "\n " 129 WHITESPACE@[189; 194) "\n "
130 EXPR_STMT@[194; 201) 130 EXPR_STMT@[194; 201)
131 BIN_EXPR@[194; 200) 131 BIN_EXPR@[194; 200)
@@ -139,7 +139,7 @@ SOURCE_FILE@[0; 257)
139 WHITESPACE@[198; 199) " " 139 WHITESPACE@[198; 199) " "
140 LITERAL@[199; 200) 140 LITERAL@[199; 200)
141 INT_NUMBER@[199; 200) "8" 141 INT_NUMBER@[199; 200) "8"
142 SEMI@[200; 201) ";" 142 SEMICOLON@[200; 201) ";"
143 WHITESPACE@[201; 206) "\n " 143 WHITESPACE@[201; 206) "\n "
144 EXPR_STMT@[206; 213) 144 EXPR_STMT@[206; 213)
145 BIN_EXPR@[206; 212) 145 BIN_EXPR@[206; 212)
@@ -153,7 +153,7 @@ SOURCE_FILE@[0; 257)
153 WHITESPACE@[210; 211) " " 153 WHITESPACE@[210; 211) " "
154 LITERAL@[211; 212) 154 LITERAL@[211; 212)
155 INT_NUMBER@[211; 212) "9" 155 INT_NUMBER@[211; 212) "9"
156 SEMI@[212; 213) ";" 156 SEMICOLON@[212; 213) ";"
157 WHITESPACE@[213; 218) "\n " 157 WHITESPACE@[213; 218) "\n "
158 EXPR_STMT@[218; 226) 158 EXPR_STMT@[218; 226)
159 BIN_EXPR@[218; 225) 159 BIN_EXPR@[218; 225)
@@ -167,7 +167,7 @@ SOURCE_FILE@[0; 257)
167 WHITESPACE@[222; 223) " " 167 WHITESPACE@[222; 223) " "
168 LITERAL@[223; 225) 168 LITERAL@[223; 225)
169 INT_NUMBER@[223; 225) "10" 169 INT_NUMBER@[223; 225) "10"
170 SEMI@[225; 226) ";" 170 SEMICOLON@[225; 226) ";"
171 WHITESPACE@[226; 231) "\n " 171 WHITESPACE@[226; 231) "\n "
172 EXPR_STMT@[231; 240) 172 EXPR_STMT@[231; 240)
173 BIN_EXPR@[231; 239) 173 BIN_EXPR@[231; 239)
@@ -181,7 +181,7 @@ SOURCE_FILE@[0; 257)
181 WHITESPACE@[236; 237) " " 181 WHITESPACE@[236; 237) " "
182 LITERAL@[237; 239) 182 LITERAL@[237; 239)
183 INT_NUMBER@[237; 239) "11" 183 INT_NUMBER@[237; 239) "11"
184 SEMI@[239; 240) ";" 184 SEMICOLON@[239; 240) ";"
185 WHITESPACE@[240; 245) "\n " 185 WHITESPACE@[240; 245) "\n "
186 EXPR_STMT@[245; 254) 186 EXPR_STMT@[245; 254)
187 BIN_EXPR@[245; 253) 187 BIN_EXPR@[245; 253)
@@ -195,7 +195,7 @@ SOURCE_FILE@[0; 257)
195 WHITESPACE@[250; 251) " " 195 WHITESPACE@[250; 251) " "
196 LITERAL@[251; 253) 196 LITERAL@[251; 253)
197 INT_NUMBER@[251; 253) "12" 197 INT_NUMBER@[251; 253) "12"
198 SEMI@[253; 254) ";" 198 SEMICOLON@[253; 254) ";"
199 WHITESPACE@[254; 255) "\n" 199 WHITESPACE@[254; 255) "\n"
200 R_CURLY@[255; 256) "}" 200 R_CURLY@[255; 256) "}"
201 WHITESPACE@[256; 257) "\n" 201 WHITESPACE@[256; 257) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast b/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast
index aa6daff7d..0d32f0115 100644
--- a/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0049_async_block.rast
@@ -19,7 +19,7 @@ SOURCE_FILE@[0; 47)
19 BLOCK@[21; 23) 19 BLOCK@[21; 23)
20 L_CURLY@[21; 22) "{" 20 L_CURLY@[21; 22) "{"
21 R_CURLY@[22; 23) "}" 21 R_CURLY@[22; 23) "}"
22 SEMI@[23; 24) ";" 22 SEMICOLON@[23; 24) ";"
23 WHITESPACE@[24; 29) "\n " 23 WHITESPACE@[24; 29) "\n "
24 EXPR_STMT@[29; 43) 24 EXPR_STMT@[29; 43)
25 BLOCK_EXPR@[29; 42) 25 BLOCK_EXPR@[29; 42)
@@ -30,7 +30,7 @@ SOURCE_FILE@[0; 47)
30 BLOCK@[40; 42) 30 BLOCK@[40; 42)
31 L_CURLY@[40; 41) "{" 31 L_CURLY@[40; 41) "{"
32 R_CURLY@[41; 42) "}" 32 R_CURLY@[41; 42) "}"
33 SEMI@[42; 43) ";" 33 SEMICOLON@[42; 43) ";"
34 WHITESPACE@[43; 44) "\n" 34 WHITESPACE@[43; 44) "\n"
35 R_CURLY@[44; 45) "}" 35 R_CURLY@[44; 45) "}"
36 WHITESPACE@[45; 47) "\n\n" 36 WHITESPACE@[45; 47) "\n\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast b/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast
index 435f27970..17591d99f 100644
--- a/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast
@@ -24,11 +24,11 @@ SOURCE_FILE@[0; 95)
24 PATH_SEGMENT@[15; 18) 24 PATH_SEGMENT@[15; 18)
25 NAME_REF@[15; 18) 25 NAME_REF@[15; 18)
26 IDENT@[15; 18) "std" 26 IDENT@[15; 18) "std"
27 COLONCOLON@[18; 20) "::" 27 COLON2@[18; 20) "::"
28 PATH_SEGMENT@[20; 26) 28 PATH_SEGMENT@[20; 26)
29 NAME_REF@[20; 26) 29 NAME_REF@[20; 26)
30 IDENT@[20; 26) "future" 30 IDENT@[20; 26) "future"
31 COLONCOLON@[26; 28) "::" 31 COLON2@[26; 28) "::"
32 PATH_SEGMENT@[28; 48) 32 PATH_SEGMENT@[28; 48)
33 NAME_REF@[28; 34) 33 NAME_REF@[28; 34)
34 IDENT@[28; 34) "Future" 34 IDENT@[28; 34) "Future"
diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
index 254eafc36..8fd28427c 100644
--- a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
@@ -119,7 +119,7 @@ SOURCE_FILE@[0; 519)
119 R_BRACK@[112; 113) "]" 119 R_BRACK@[112; 113) "]"
120 WHITESPACE@[113; 114) " " 120 WHITESPACE@[113; 114) " "
121 PARAM@[114; 117) 121 PARAM@[114; 117)
122 DOTDOTDOT@[114; 117) "..." 122 DOT3@[114; 117) "..."
123 R_PAREN@[117; 118) ")" 123 R_PAREN@[117; 118) ")"
124 WHITESPACE@[118; 119) " " 124 WHITESPACE@[118; 119) " "
125 RET_TYPE@[119; 125) 125 RET_TYPE@[119; 125)
@@ -130,7 +130,7 @@ SOURCE_FILE@[0; 519)
130 PATH_SEGMENT@[122; 125) 130 PATH_SEGMENT@[122; 125)
131 NAME_REF@[122; 125) 131 NAME_REF@[122; 125)
132 IDENT@[122; 125) "i32" 132 IDENT@[122; 125) "i32"
133 SEMI@[125; 126) ";" 133 SEMICOLON@[125; 126) ";"
134 WHITESPACE@[126; 127) " " 134 WHITESPACE@[126; 127) " "
135 R_CURLY@[127; 128) "}" 135 R_CURLY@[127; 128) "}"
136 WHITESPACE@[128; 130) "\n\n" 136 WHITESPACE@[128; 130) "\n\n"
@@ -250,7 +250,7 @@ SOURCE_FILE@[0; 519)
250 NAME_REF@[229; 232) 250 NAME_REF@[229; 232)
251 IDENT@[229; 232) "i32" 251 IDENT@[229; 232) "i32"
252 R_PAREN@[232; 233) ")" 252 R_PAREN@[232; 233) ")"
253 SEMI@[233; 234) ";" 253 SEMICOLON@[233; 234) ";"
254 WHITESPACE@[234; 235) "\n" 254 WHITESPACE@[234; 235) "\n"
255 R_CURLY@[235; 236) "}" 255 R_CURLY@[235; 236) "}"
256 WHITESPACE@[236; 238) "\n\n" 256 WHITESPACE@[236; 238) "\n\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast b/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast
index 374c58670..473966cd4 100644
--- a/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 80)
25 LITERAL@[24; 25) 25 LITERAL@[24; 25)
26 INT_NUMBER@[24; 25) "0" 26 INT_NUMBER@[24; 25) "0"
27 WHITESPACE@[25; 26) " " 27 WHITESPACE@[25; 26) " "
28 DOTDOT@[26; 28) ".." 28 DOT2@[26; 28) ".."
29 WHITESPACE@[28; 29) " " 29 WHITESPACE@[28; 29) " "
30 METHOD_CALL_EXPR@[29; 56) 30 METHOD_CALL_EXPR@[29; 56)
31 PAREN_EXPR@[29; 43) 31 PAREN_EXPR@[29; 43)
@@ -34,7 +34,7 @@ SOURCE_FILE@[0; 80)
34 LITERAL@[30; 31) 34 LITERAL@[30; 31)
35 INT_NUMBER@[30; 31) "0" 35 INT_NUMBER@[30; 31) "0"
36 WHITESPACE@[31; 32) " " 36 WHITESPACE@[31; 32) " "
37 DOTDOT@[32; 34) ".." 37 DOT2@[32; 34) ".."
38 WHITESPACE@[34; 35) " " 38 WHITESPACE@[34; 35) " "
39 BLOCK_EXPR@[35; 42) 39 BLOCK_EXPR@[35; 42)
40 BLOCK@[35; 42) 40 BLOCK@[35; 42)
@@ -53,7 +53,7 @@ SOURCE_FILE@[0; 80)
53 NAME_REF@[44; 47) 53 NAME_REF@[44; 47)
54 IDENT@[44; 47) "sum" 54 IDENT@[44; 47) "sum"
55 TYPE_ARG_LIST@[47; 54) 55 TYPE_ARG_LIST@[47; 54)
56 COLONCOLON@[47; 49) "::" 56 COLON2@[47; 49) "::"
57 L_ANGLE@[49; 50) "<" 57 L_ANGLE@[49; 50) "<"
58 TYPE_ARG@[50; 53) 58 TYPE_ARG@[50; 53)
59 PATH_TYPE@[50; 53) 59 PATH_TYPE@[50; 53)
@@ -73,7 +73,7 @@ SOURCE_FILE@[0; 80)
73 EXPR_STMT@[66; 72) 73 EXPR_STMT@[66; 72)
74 BREAK_EXPR@[66; 71) 74 BREAK_EXPR@[66; 71)
75 BREAK_KW@[66; 71) "break" 75 BREAK_KW@[66; 71) "break"
76 SEMI@[71; 72) ";" 76 SEMICOLON@[71; 72) ";"
77 WHITESPACE@[72; 76) "\n " 77 WHITESPACE@[72; 76) "\n "
78 R_CURLY@[76; 77) "}" 78 R_CURLY@[76; 77) "}"
79 WHITESPACE@[77; 78) "\n" 79 WHITESPACE@[77; 78) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
index 04ff0e2ff..60a491853 100644
--- a/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
@@ -15,7 +15,7 @@ SOURCE_FILE@[0; 65)
15 PATH_SEGMENT@[30; 41) 15 PATH_SEGMENT@[30; 41)
16 NAME_REF@[30; 41) 16 NAME_REF@[30; 41)
17 IDENT@[30; 41) "macro_rules" 17 IDENT@[30; 41) "macro_rules"
18 EXCL@[41; 42) "!" 18 BANG@[41; 42) "!"
19 WHITESPACE@[42; 43) " " 19 WHITESPACE@[42; 43) " "
20 NAME@[43; 46) 20 NAME@[43; 46)
21 IDENT@[43; 46) "foo" 21 IDENT@[43; 46) "foo"
@@ -33,7 +33,7 @@ SOURCE_FILE@[0; 65)
33 TOKEN_TREE@[59; 61) 33 TOKEN_TREE@[59; 61)
34 L_CURLY@[59; 60) "{" 34 L_CURLY@[59; 60) "{"
35 R_CURLY@[60; 61) "}" 35 R_CURLY@[60; 61) "}"
36 SEMI@[61; 62) ";" 36 SEMICOLON@[61; 62) ";"
37 WHITESPACE@[62; 63) "\n" 37 WHITESPACE@[62; 63) "\n"
38 R_CURLY@[63; 64) "}" 38 R_CURLY@[63; 64) "}"
39 WHITESPACE@[64; 65) "\n" 39 WHITESPACE@[64; 65) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
index 7e1af254c..fabf88e8f 100644
--- a/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast
@@ -25,7 +25,7 @@ SOURCE_FILE@[0; 88)
25 PATH_SEGMENT@[14; 17) 25 PATH_SEGMENT@[14; 17)
26 NAME_REF@[14; 17) 26 NAME_REF@[14; 17)
27 IDENT@[14; 17) "bar" 27 IDENT@[14; 17) "bar"
28 COLONCOLON@[17; 19) "::" 28 COLON2@[17; 19) "::"
29 PATH_SEGMENT@[19; 22) 29 PATH_SEGMENT@[19; 22)
30 NAME_REF@[19; 22) 30 NAME_REF@[19; 22)
31 IDENT@[19; 22) "Baz" 31 IDENT@[19; 22) "Baz"
@@ -67,7 +67,7 @@ SOURCE_FILE@[0; 88)
67 PATH_SEGMENT@[47; 48) 67 PATH_SEGMENT@[47; 48)
68 NAME_REF@[47; 48) 68 NAME_REF@[47; 48)
69 IDENT@[47; 48) "x" 69 IDENT@[47; 48) "x"
70 COLONCOLON@[48; 50) "::" 70 COLON2@[48; 50) "::"
71 PATH_SEGMENT@[50; 51) 71 PATH_SEGMENT@[50; 51)
72 NAME_REF@[50; 51) 72 NAME_REF@[50; 51)
73 IDENT@[50; 51) "Y" 73 IDENT@[50; 51) "Y"
@@ -112,7 +112,7 @@ SOURCE_FILE@[0; 88)
112 PATH_SEGMENT@[78; 79) 112 PATH_SEGMENT@[78; 79)
113 NAME_REF@[78; 79) 113 NAME_REF@[78; 79)
114 IDENT@[78; 79) "x" 114 IDENT@[78; 79) "x"
115 COLONCOLON@[79; 81) "::" 115 COLON2@[79; 81) "::"
116 PATH_SEGMENT@[81; 82) 116 PATH_SEGMENT@[81; 82)
117 NAME_REF@[81; 82) 117 NAME_REF@[81; 82)
118 IDENT@[81; 82) "Y" 118 IDENT@[81; 82) "Y"
diff --git a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast
index d656e74b1..6ac3f1458 100644
--- a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast
@@ -10,7 +10,7 @@ SOURCE_FILE@[0; 49)
10 TUPLE_TYPE@[9; 11) 10 TUPLE_TYPE@[9; 11)
11 L_PAREN@[9; 10) "(" 11 L_PAREN@[9; 10) "("
12 R_PAREN@[10; 11) ")" 12 R_PAREN@[10; 11) ")"
13 SEMI@[11; 12) ";" 13 SEMICOLON@[11; 12) ";"
14 WHITESPACE@[12; 14) "\n\n" 14 WHITESPACE@[12; 14) "\n\n"
15 FN_DEF@[14; 48) 15 FN_DEF@[14; 48)
16 FN_KW@[14; 16) "fn" 16 FN_KW@[14; 16) "fn"
@@ -35,7 +35,7 @@ SOURCE_FILE@[0; 49)
35 PATH_TYPE@[37; 40) 35 PATH_TYPE@[37; 40)
36 PATH@[37; 40) 36 PATH@[37; 40)
37 PATH_SEGMENT@[37; 40) 37 PATH_SEGMENT@[37; 40)
38 COLONCOLON@[37; 39) "::" 38 COLON2@[37; 39) "::"
39 NAME_REF@[39; 40) 39 NAME_REF@[39; 40)
40 IDENT@[39; 40) "X" 40 IDENT@[39; 40) "X"
41 WHITESPACE@[40; 41) " " 41 WHITESPACE@[40; 41) " "
@@ -44,7 +44,7 @@ SOURCE_FILE@[0; 49)
44 TUPLE_EXPR@[43; 45) 44 TUPLE_EXPR@[43; 45)
45 L_PAREN@[43; 44) "(" 45 L_PAREN@[43; 44) "("
46 R_PAREN@[44; 45) ")" 46 R_PAREN@[44; 45) ")"
47 SEMI@[45; 46) ";" 47 SEMICOLON@[45; 46) ";"
48 WHITESPACE@[46; 47) "\n" 48 WHITESPACE@[46; 47) "\n"
49 R_CURLY@[47; 48) "}" 49 R_CURLY@[47; 48) "}"
50 WHITESPACE@[48; 49) "\n" 50 WHITESPACE@[48; 49) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast b/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast
index cc8c3f7ec..2c07bde43 100644
--- a/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast
@@ -54,6 +54,6 @@ SOURCE_FILE@[0; 50)
54 L_CURLY@[44; 45) "{" 54 L_CURLY@[44; 45) "{"
55 R_CURLY@[45; 46) "}" 55 R_CURLY@[45; 46) "}"
56 R_PAREN@[46; 47) ")" 56 R_PAREN@[46; 47) ")"
57 SEMI@[47; 48) ";" 57 SEMICOLON@[47; 48) ";"
58 WHITESPACE@[48; 49) "\n" 58 WHITESPACE@[48; 49) "\n"
59 R_CURLY@[49; 50) "}" 59 R_CURLY@[49; 50) "}"
diff --git a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast
index d30cb63ff..9de9efbad 100644
--- a/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast
@@ -31,7 +31,7 @@ SOURCE_FILE@[0; 79)
31 WHITESPACE@[24; 25) " " 31 WHITESPACE@[24; 25) " "
32 LITERAL@[25; 26) 32 LITERAL@[25; 26)
33 INT_NUMBER@[25; 26) "3" 33 INT_NUMBER@[25; 26) "3"
34 SEMI@[26; 27) ";" 34 SEMICOLON@[26; 27) ";"
35 WHITESPACE@[27; 32) "\n " 35 WHITESPACE@[27; 32) "\n "
36 EXPR_STMT@[32; 43) 36 EXPR_STMT@[32; 43)
37 CAST_EXPR@[32; 42) 37 CAST_EXPR@[32; 42)
@@ -49,7 +49,7 @@ SOURCE_FILE@[0; 79)
49 PATH_SEGMENT@[39; 42) 49 PATH_SEGMENT@[39; 42)
50 NAME_REF@[39; 42) 50 NAME_REF@[39; 42)
51 IDENT@[39; 42) "u64" 51 IDENT@[39; 42) "u64"
52 SEMI@[42; 43) ";" 52 SEMICOLON@[42; 43) ";"
53 WHITESPACE@[43; 48) "\n " 53 WHITESPACE@[43; 48) "\n "
54 EXPR_STMT@[48; 54) 54 EXPR_STMT@[48; 54)
55 PREFIX_EXPR@[48; 53) 55 PREFIX_EXPR@[48; 53)
@@ -65,7 +65,7 @@ SOURCE_FILE@[0; 79)
65 LITERAL@[51; 52) 65 LITERAL@[51; 52)
66 INT_NUMBER@[51; 52) "1" 66 INT_NUMBER@[51; 52) "1"
67 R_PAREN@[52; 53) ")" 67 R_PAREN@[52; 53) ")"
68 SEMI@[53; 54) ";" 68 SEMICOLON@[53; 54) ";"
69 WHITESPACE@[54; 59) "\n " 69 WHITESPACE@[54; 59) "\n "
70 EXPR_STMT@[59; 65) 70 EXPR_STMT@[59; 65)
71 REF_EXPR@[59; 64) 71 REF_EXPR@[59; 64)
@@ -80,7 +80,7 @@ SOURCE_FILE@[0; 79)
80 LITERAL@[62; 63) 80 LITERAL@[62; 63)
81 INT_NUMBER@[62; 63) "1" 81 INT_NUMBER@[62; 63) "1"
82 R_BRACK@[63; 64) "]" 82 R_BRACK@[63; 64) "]"
83 SEMI@[64; 65) ";" 83 SEMICOLON@[64; 65) ";"
84 WHITESPACE@[65; 70) "\n " 84 WHITESPACE@[65; 70) "\n "
85 EXPR_STMT@[70; 76) 85 EXPR_STMT@[70; 76)
86 RANGE_EXPR@[70; 75) 86 RANGE_EXPR@[70; 75)
@@ -88,10 +88,10 @@ SOURCE_FILE@[0; 79)
88 MINUS@[70; 71) "-" 88 MINUS@[70; 71) "-"
89 LITERAL@[71; 72) 89 LITERAL@[71; 72)
90 INT_NUMBER@[71; 72) "1" 90 INT_NUMBER@[71; 72) "1"
91 DOTDOT@[72; 74) ".." 91 DOT2@[72; 74) ".."
92 LITERAL@[74; 75) 92 LITERAL@[74; 75)
93 INT_NUMBER@[74; 75) "2" 93 INT_NUMBER@[74; 75) "2"
94 SEMI@[75; 76) ";" 94 SEMICOLON@[75; 76) ";"
95 WHITESPACE@[76; 77) "\n" 95 WHITESPACE@[76; 77) "\n"
96 R_CURLY@[77; 78) "}" 96 R_CURLY@[77; 78) "}"
97 WHITESPACE@[78; 79) "\n" 97 WHITESPACE@[78; 79) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast b/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast
index c011187ea..101478ce1 100644
--- a/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast
@@ -47,7 +47,7 @@ SOURCE_FILE@[0; 105)
47 L_CURLY@[46; 47) "{" 47 L_CURLY@[46; 47) "{"
48 R_CURLY@[47; 48) "}" 48 R_CURLY@[47; 48) "}"
49 R_PAREN@[48; 49) ")" 49 R_PAREN@[48; 49) ")"
50 SEMI@[49; 50) ";" 50 SEMICOLON@[49; 50) ";"
51 WHITESPACE@[50; 55) "\n " 51 WHITESPACE@[50; 55) "\n "
52 EXPR_STMT@[55; 77) 52 EXPR_STMT@[55; 77)
53 CALL_EXPR@[55; 76) 53 CALL_EXPR@[55; 76)
@@ -68,11 +68,11 @@ SOURCE_FILE@[0; 105)
68 EXPR_STMT@[67; 73) 68 EXPR_STMT@[67; 73)
69 BREAK_EXPR@[67; 72) 69 BREAK_EXPR@[67; 72)
70 BREAK_KW@[67; 72) "break" 70 BREAK_KW@[67; 72) "break"
71 SEMI@[72; 73) ";" 71 SEMICOLON@[72; 73) ";"
72 WHITESPACE@[73; 74) " " 72 WHITESPACE@[73; 74) " "
73 R_CURLY@[74; 75) "}" 73 R_CURLY@[74; 75) "}"
74 R_PAREN@[75; 76) ")" 74 R_PAREN@[75; 76) ")"
75 SEMI@[76; 77) ";" 75 SEMICOLON@[76; 77) ";"
76 WHITESPACE@[77; 82) "\n " 76 WHITESPACE@[77; 82) "\n "
77 EXPR_STMT@[82; 102) 77 EXPR_STMT@[82; 102)
78 CALL_EXPR@[82; 101) 78 CALL_EXPR@[82; 101)
@@ -95,7 +95,7 @@ SOURCE_FILE@[0; 105)
95 L_CURLY@[98; 99) "{" 95 L_CURLY@[98; 99) "{"
96 R_CURLY@[99; 100) "}" 96 R_CURLY@[99; 100) "}"
97 R_PAREN@[100; 101) ")" 97 R_PAREN@[100; 101) ")"
98 SEMI@[101; 102) ";" 98 SEMICOLON@[101; 102) ";"
99 WHITESPACE@[102; 103) "\n" 99 WHITESPACE@[102; 103) "\n"
100 R_CURLY@[103; 104) "}" 100 R_CURLY@[103; 104) "}"
101 WHITESPACE@[104; 105) "\n" 101 WHITESPACE@[104; 105) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast b/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast
index ad0c4a3fe..6bff57505 100644
--- a/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0060_as_range.rast
@@ -26,8 +26,8 @@ SOURCE_FILE@[0; 56)
26 NAME_REF@[21; 26) 26 NAME_REF@[21; 26)
27 IDENT@[21; 26) "usize" 27 IDENT@[21; 26) "usize"
28 WHITESPACE@[26; 27) " " 28 WHITESPACE@[26; 27) " "
29 DOTDOT@[27; 29) ".." 29 DOT2@[27; 29) ".."
30 SEMI@[29; 30) ";" 30 SEMICOLON@[29; 30) ";"
31 WHITESPACE@[30; 35) "\n " 31 WHITESPACE@[30; 35) "\n "
32 EXPR_STMT@[35; 53) 32 EXPR_STMT@[35; 53)
33 RANGE_EXPR@[35; 52) 33 RANGE_EXPR@[35; 52)
@@ -49,8 +49,8 @@ SOURCE_FILE@[0; 56)
49 NAME_REF@[44; 49) 49 NAME_REF@[44; 49)
50 IDENT@[44; 49) "usize" 50 IDENT@[44; 49) "usize"
51 WHITESPACE@[49; 50) " " 51 WHITESPACE@[49; 50) " "
52 DOTDOT@[50; 52) ".." 52 DOT2@[50; 52) ".."
53 SEMI@[52; 53) ";" 53 SEMICOLON@[52; 53) ";"
54 WHITESPACE@[53; 54) "\n" 54 WHITESPACE@[53; 54) "\n"
55 R_CURLY@[54; 55) "}" 55 R_CURLY@[54; 55) "}"
56 WHITESPACE@[55; 56) "\n" 56 WHITESPACE@[55; 56) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast b/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast
index bdfac9b76..be6774199 100644
--- a/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast
@@ -16,7 +16,7 @@ SOURCE_FILE@[0; 35)
16 MATCH_KW@[16; 21) "match" 16 MATCH_KW@[16; 21) "match"
17 WHITESPACE@[21; 22) " " 17 WHITESPACE@[21; 22) " "
18 RANGE_EXPR@[22; 24) 18 RANGE_EXPR@[22; 24)
19 DOTDOT@[22; 24) ".." 19 DOT2@[22; 24) ".."
20 WHITESPACE@[24; 25) " " 20 WHITESPACE@[24; 25) " "
21 MATCH_ARM_LIST@[25; 32) 21 MATCH_ARM_LIST@[25; 32)
22 L_CURLY@[25; 26) "{" 22 L_CURLY@[25; 26) "{"
diff --git a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast
index 2be523fc3..f89d7c0d9 100644
--- a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast
@@ -30,7 +30,7 @@ SOURCE_FILE@[0; 349)
30 L_CURLY@[42; 43) "{" 30 L_CURLY@[42; 43) "{"
31 WHITESPACE@[43; 48) "\n " 31 WHITESPACE@[43; 48) "\n "
32 IDENT@[48; 51) "vec" 32 IDENT@[48; 51) "vec"
33 EXCL@[51; 52) "!" 33 BANG@[51; 52) "!"
34 TOKEN_TREE@[52; 91) 34 TOKEN_TREE@[52; 91)
35 L_BRACK@[52; 53) "[" 35 L_BRACK@[52; 53) "["
36 WHITESPACE@[53; 62) "\n " 36 WHITESPACE@[53; 62) "\n "
@@ -129,7 +129,7 @@ SOURCE_FILE@[0; 349)
129 L_CURLY@[204; 205) "{" 129 L_CURLY@[204; 205) "{"
130 WHITESPACE@[205; 214) "\n " 130 WHITESPACE@[205; 214) "\n "
131 IDENT@[214; 223) "assert_eq" 131 IDENT@[214; 223) "assert_eq"
132 EXCL@[223; 224) "!" 132 BANG@[223; 224) "!"
133 TOKEN_TREE@[224; 339) 133 TOKEN_TREE@[224; 339)
134 L_PAREN@[224; 225) "(" 134 L_PAREN@[224; 225) "("
135 WHITESPACE@[225; 238) "\n " 135 WHITESPACE@[225; 238) "\n "
@@ -137,7 +137,7 @@ SOURCE_FILE@[0; 349)
137 TOKEN_TREE@[253; 284) 137 TOKEN_TREE@[253; 284)
138 L_PAREN@[253; 254) "(" 138 L_PAREN@[253; 254) "("
139 IDENT@[254; 269) "parse_use_trees" 139 IDENT@[254; 269) "parse_use_trees"
140 EXCL@[269; 270) "!" 140 BANG@[269; 270) "!"
141 TOKEN_TREE@[270; 283) 141 TOKEN_TREE@[270; 283)
142 L_PAREN@[270; 271) "(" 142 L_PAREN@[270; 271) "("
143 DOLLAR@[271; 272) "$" 143 DOLLAR@[271; 272) "$"
@@ -153,7 +153,7 @@ SOURCE_FILE@[0; 349)
153 COMMA@[284; 285) "," 153 COMMA@[284; 285) ","
154 WHITESPACE@[285; 298) "\n " 154 WHITESPACE@[285; 298) "\n "
155 IDENT@[298; 313) "parse_use_trees" 155 IDENT@[298; 313) "parse_use_trees"
156 EXCL@[313; 314) "!" 156 BANG@[313; 314) "!"
157 TOKEN_TREE@[314; 328) 157 TOKEN_TREE@[314; 328)
158 L_PAREN@[314; 315) "(" 158 L_PAREN@[314; 315) "("
159 DOLLAR@[315; 316) "$" 159 DOLLAR@[315; 316) "$"
@@ -168,7 +168,7 @@ SOURCE_FILE@[0; 349)
168 COMMA@[328; 329) "," 168 COMMA@[328; 329) ","
169 WHITESPACE@[329; 338) "\n " 169 WHITESPACE@[329; 338) "\n "
170 R_PAREN@[338; 339) ")" 170 R_PAREN@[338; 339) ")"
171 SEMI@[339; 340) ";" 171 SEMICOLON@[339; 340) ";"
172 WHITESPACE@[340; 345) "\n " 172 WHITESPACE@[340; 345) "\n "
173 R_CURLY@[345; 346) "}" 173 R_CURLY@[345; 346) "}"
174 WHITESPACE@[346; 347) "\n" 174 WHITESPACE@[346; 347) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
index eb2e3a503..9b5954ebd 100644
--- a/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast
@@ -190,7 +190,7 @@ SOURCE_FILE@[0; 170)
190 NAME_REF@[162; 165) 190 NAME_REF@[162; 165)
191 IDENT@[162; 165) "i32" 191 IDENT@[162; 165) "i32"
192 R_PAREN@[165; 166) ")" 192 R_PAREN@[165; 166) ")"
193 SEMI@[166; 167) ";" 193 SEMICOLON@[166; 167) ";"
194 WHITESPACE@[167; 168) "\n" 194 WHITESPACE@[167; 168) "\n"
195 R_CURLY@[168; 169) "}" 195 R_CURLY@[168; 169) "}"
196 WHITESPACE@[169; 170) "\n" 196 WHITESPACE@[169; 170) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
index 186f03626..17b08197b 100644
--- a/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0063_variadic_fun.rast
@@ -32,10 +32,10 @@ SOURCE_FILE@[0; 126)
32 COMMA@[32; 33) "," 32 COMMA@[32; 33) ","
33 WHITESPACE@[33; 34) " " 33 WHITESPACE@[33; 34) " "
34 PARAM@[34; 37) 34 PARAM@[34; 37)
35 DOTDOTDOT@[34; 37) "..." 35 DOT3@[34; 37) "..."
36 COMMA@[37; 38) "," 36 COMMA@[37; 38) ","
37 R_PAREN@[38; 39) ")" 37 R_PAREN@[38; 39) ")"
38 SEMI@[39; 40) ";" 38 SEMICOLON@[39; 40) ";"
39 WHITESPACE@[40; 45) "\n " 39 WHITESPACE@[40; 45) "\n "
40 FN_DEF@[45; 70) 40 FN_DEF@[45; 70)
41 FN_KW@[45; 47) "fn" 41 FN_KW@[45; 47) "fn"
@@ -65,9 +65,9 @@ SOURCE_FILE@[0; 126)
65 UNDERSCORE@[62; 63) "_" 65 UNDERSCORE@[62; 63) "_"
66 COLON@[63; 64) ":" 66 COLON@[63; 64) ":"
67 WHITESPACE@[64; 65) " " 67 WHITESPACE@[64; 65) " "
68 DOTDOTDOT@[65; 68) "..." 68 DOT3@[65; 68) "..."
69 R_PAREN@[68; 69) ")" 69 R_PAREN@[68; 69) ")"
70 SEMI@[69; 70) ";" 70 SEMICOLON@[69; 70) ";"
71 WHITESPACE@[70; 75) "\n " 71 WHITESPACE@[70; 75) "\n "
72 FN_DEF@[75; 123) 72 FN_DEF@[75; 123)
73 FN_KW@[75; 77) "fn" 73 FN_KW@[75; 77) "fn"
@@ -124,10 +124,10 @@ SOURCE_FILE@[0; 126)
124 R_BRACK@[114; 115) "]" 124 R_BRACK@[114; 115) "]"
125 COLON@[115; 116) ":" 125 COLON@[115; 116) ":"
126 WHITESPACE@[116; 117) " " 126 WHITESPACE@[116; 117) " "
127 DOTDOTDOT@[117; 120) "..." 127 DOT3@[117; 120) "..."
128 COMMA@[120; 121) "," 128 COMMA@[120; 121) ","
129 R_PAREN@[121; 122) ")" 129 R_PAREN@[121; 122) ")"
130 SEMI@[122; 123) ";" 130 SEMICOLON@[122; 123) ";"
131 WHITESPACE@[123; 124) "\n" 131 WHITESPACE@[123; 124) "\n"
132 R_CURLY@[124; 125) "}" 132 R_CURLY@[124; 125) "}"
133 WHITESPACE@[125; 126) "\n" 133 WHITESPACE@[125; 126) "\n"
diff --git a/crates/test_utils/src/lib.rs b/crates/test_utils/src/lib.rs
index 4164bfd5e..3b60c55f3 100644
--- a/crates/test_utils/src/lib.rs
+++ b/crates/test_utils/src/lib.rs
@@ -395,7 +395,7 @@ pub fn skip_slow_tests() -> bool {
395 should_skip 395 should_skip
396} 396}
397 397
398const REWRITE: bool = false; 398const REWRITE: bool = true;
399 399
400/// Asserts that `expected` and `actual` strings are equal. If they differ only 400/// Asserts that `expected` and `actual` strings are equal. If they differ only
401/// in trailing or leading whitespace the test won't fail and 401/// in trailing or leading whitespace the test won't fail and
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs
index 7a20d9991..8c0b5f5a8 100644
--- a/xtask/src/ast_src.rs
+++ b/xtask/src/ast_src.rs
@@ -11,7 +11,7 @@ pub(crate) struct KindsSrc<'a> {
11 11
12pub(crate) const KINDS_SRC: KindsSrc = KindsSrc { 12pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
13 punct: &[ 13 punct: &[
14 (";", "SEMI"), 14 (";", "SEMICOLON"),
15 (",", "COMMA"), 15 (",", "COMMA"),
16 ("(", "L_PAREN"), 16 ("(", "L_PAREN"),
17 (")", "R_PAREN"), 17 (")", "R_PAREN"),
@@ -35,15 +35,15 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
35 ("%", "PERCENT"), 35 ("%", "PERCENT"),
36 ("_", "UNDERSCORE"), 36 ("_", "UNDERSCORE"),
37 (".", "DOT"), 37 (".", "DOT"),
38 ("..", "DOTDOT"), 38 ("..", "DOT2"),
39 ("...", "DOTDOTDOT"), 39 ("...", "DOT3"),
40 ("..=", "DOTDOTEQ"), 40 ("..=", "DOT2EQ"),
41 (":", "COLON"), 41 (":", "COLON"),
42 ("::", "COLONCOLON"), 42 ("::", "COLON2"),
43 ("=", "EQ"), 43 ("=", "EQ"),
44 ("==", "EQEQ"), 44 ("==", "EQ2"),
45 ("=>", "FAT_ARROW"), 45 ("=>", "FAT_ARROW"),
46 ("!", "EXCL"), 46 ("!", "BANG"),
47 ("!=", "NEQ"), 47 ("!=", "NEQ"),
48 ("-", "MINUS"), 48 ("-", "MINUS"),
49 ("->", "THIN_ARROW"), 49 ("->", "THIN_ARROW"),
@@ -57,8 +57,8 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
57 ("/=", "SLASHEQ"), 57 ("/=", "SLASHEQ"),
58 ("*=", "STAREQ"), 58 ("*=", "STAREQ"),
59 ("%=", "PERCENTEQ"), 59 ("%=", "PERCENTEQ"),
60 ("&&", "AMPAMP"), 60 ("&&", "AMP2"),
61 ("||", "PIPEPIPE"), 61 ("||", "PIPE2"),
62 ("<<", "SHL"), 62 ("<<", "SHL"),
63 (">>", "SHR"), 63 (">>", "SHR"),
64 ("<<=", "SHLEQ"), 64 ("<<=", "SHLEQ"),
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs
index ff290bb33..ec1f6ad8a 100644
--- a/xtask/src/codegen/gen_syntax.rs
+++ b/xtask/src/codegen/gen_syntax.rs
@@ -324,10 +324,10 @@ fn generate_syntax_kinds(grammar: KindsSrc<'_>) -> Result<String> {
324 324
325 #[macro_export] 325 #[macro_export]
326 macro_rules! T { 326 macro_rules! T {
327 #((#punctuation_values) => { $crate::SyntaxKind::#punctuation };)* 327 #([#punctuation_values] => { $crate::SyntaxKind::#punctuation };)*
328 #((#all_keywords_idents) => { $crate::SyntaxKind::#all_keywords };)* 328 #([#all_keywords_idents] => { $crate::SyntaxKind::#all_keywords };)*
329 (lifetime) => { $crate::SyntaxKind::LIFETIME }; 329 [lifetime] => { $crate::SyntaxKind::LIFETIME };
330 (ident) => { $crate::SyntaxKind::IDENT }; 330 [ident] => { $crate::SyntaxKind::IDENT };
331 } 331 }
332 }; 332 };
333 333