aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Coenen <[email protected]>2020-05-02 11:25:04 +0100
committerBenjamin Coenen <[email protected]>2020-05-02 11:25:04 +0100
commit0b40876b993ab30421624b831cb03b4042eb0142 (patch)
tree85abb233dd8645480d61ab857a2b46c1209b142a
parenteea21738ab9e0b7438d03f7b2efc18c15cc30cf2 (diff)
parent75bc0249463b72971200e482d69dad88d4e76ae3 (diff)
Merge branch 'master' of github.com:rust-analyzer/rust-analyzer
-rw-r--r--Cargo.lock80
-rw-r--r--crates/ra_assists/src/ast_transform.rs2
-rw-r--r--crates/ra_assists/src/doc_tests/generated.rs4
-rw-r--r--crates/ra_assists/src/handlers/add_missing_impl_members.rs194
-rw-r--r--crates/ra_assists/src/handlers/early_return.rs16
-rw-r--r--crates/ra_assists/src/handlers/inline_local_variable.rs1
-rw-r--r--crates/ra_assists/src/handlers/introduce_variable.rs2
-rw-r--r--crates/ra_assists/src/handlers/move_guard.rs4
-rw-r--r--crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs2
-rw-r--r--crates/ra_fmt/src/lib.rs1
-rw-r--r--crates/ra_hir/src/lib.rs3
-rw-r--r--crates/ra_hir/src/semantics.rs7
-rw-r--r--crates/ra_hir/src/source_analyzer.rs3
-rw-r--r--crates/ra_hir_def/src/adt.rs18
-rw-r--r--crates/ra_hir_def/src/body.rs2
-rw-r--r--crates/ra_hir_def/src/body/lower.rs62
-rw-r--r--crates/ra_hir_def/src/data.rs21
-rw-r--r--crates/ra_hir_def/src/expr.rs4
-rw-r--r--crates/ra_hir_def/src/generics.rs68
-rw-r--r--crates/ra_hir_def/src/path.rs5
-rw-r--r--crates/ra_hir_def/src/path/lower.rs23
-rw-r--r--crates/ra_hir_def/src/type_ref.rs52
-rw-r--r--crates/ra_hir_expand/src/db.rs3
-rw-r--r--crates/ra_hir_expand/src/hygiene.rs2
-rw-r--r--crates/ra_hir_ty/Cargo.toml2
-rw-r--r--crates/ra_hir_ty/src/infer/expr.rs5
-rw-r--r--crates/ra_hir_ty/src/tests/macros.rs40
-rw-r--r--crates/ra_hir_ty/src/tests/simple.rs32
-rw-r--r--crates/ra_ide/src/completion/completion_context.rs2
-rw-r--r--crates/ra_ide/src/display/short_label.rs6
-rw-r--r--crates/ra_ide/src/folding_ranges.rs2
-rw-r--r--crates/ra_ide/src/hover.rs11
-rw-r--r--crates/ra_ide/src/join_lines.rs3
-rw-r--r--crates/ra_ide/src/syntax_tree.rs77
-rw-r--r--crates/ra_mbe/src/tests.rs152
-rw-r--r--crates/ra_parser/src/grammar.rs2
-rw-r--r--crates/ra_parser/src/grammar/expressions.rs13
-rw-r--r--crates/ra_parser/src/grammar/expressions/atom.rs39
-rw-r--r--crates/ra_parser/src/syntax_kind/generated.rs2
-rw-r--r--crates/ra_proc_macro_srv/Cargo.toml2
-rw-r--r--crates/ra_proc_macro_srv/src/tests/fixtures/test_serialize_proc_macro.txt7
-rw-r--r--crates/ra_proc_macro_srv/src/tests/mod.rs6
-rw-r--r--crates/ra_project_model/Cargo.toml2
-rw-r--r--crates/ra_syntax/Cargo.toml4
-rw-r--r--crates/ra_syntax/src/ast.rs4
-rw-r--r--crates/ra_syntax/src/ast/edit.rs2
-rw-r--r--crates/ra_syntax/src/ast/expr_extensions.rs31
-rw-r--r--crates/ra_syntax/src/ast/extensions.rs2
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs83
-rw-r--r--crates/ra_syntax/src/ast/make.rs8
-rw-r--r--crates/ra_syntax/src/lib.rs7
-rw-r--r--crates/ra_syntax/src/parsing/lexer.rs37
-rw-r--r--crates/ra_syntax/src/validation.rs119
-rw-r--r--crates/ra_syntax/src/validation/block.rs20
-rw-r--r--crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/err/0007_stray_curly_in_file.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/err/0008_item_block_recovery.rast52
-rw-r--r--crates/ra_syntax/test_data/parser/err/0010_unsafe_lambda_block.rast61
-rw-r--r--crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/err/0016_missing_semi.rast61
-rw-r--r--crates/ra_syntax/test_data/parser/err/0017_incomplete_binexpr.rast45
-rw-r--r--crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast165
-rw-r--r--crates/ra_syntax/test_data/parser/err/0019_let_recover.rast166
-rw-r--r--crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast229
-rw-r--r--crates/ra_syntax/test_data/parser/err/0023_mismatched_paren.rast49
-rw-r--r--crates/ra_syntax/test_data/parser/err/0024_many_type_parens.rast430
-rw-r--r--crates/ra_syntax/test_data/parser/err/0025_nope.rast360
-rw-r--r--crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/err/0029_field_completion.rast23
-rw-r--r--crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast214
-rw-r--r--crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast361
-rw-r--r--crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast103
-rw-r--r--crates/ra_syntax/test_data/parser/err/0034_bad_box_pattern.rast155
-rw-r--r--crates/ra_syntax/test_data/parser/err/0035_use_recover.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/err/0037_visibility_in_traits.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/err/0038_endless_inclusive_range.rast31
-rw-r--r--crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast121
-rw-r--r--crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast70
-rw-r--r--crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs4
-rw-r--r--crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast27
-rw-r--r--crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0002_misplaced_label_err.rast25
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0007_async_without_semicolon.rast37
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0008_pub_expr.rast25
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast92
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast77
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0014_default_fn_type.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast71
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0001_trait_item_list.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast25
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast169
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0009_loop_expr.rast26
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0011_field_expr.rast95
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0015_continue_expr.rast48
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0019_unary_expr.rast65
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0021_impl_item_list.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast59
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast185
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0027_ref_pat.rast75
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0029_cast_expr.rast155
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast365
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0031_while_expr.rast149
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0034_break_expr.rast84
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0037_qual_paths.rast67
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0038_full_range_expr.rast33
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0039_type_arg.rast13
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0040_crate_keyword_vis.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0042_call_expr.rast271
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast34
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0053_path_expr.rast167
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast129
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0056_where_clause.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast141
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast94
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0061_record_lit.rast225
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0062_mod_contents.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0064_if_expr.rast229
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0066_match_arm.rast279
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast79
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0071_match_expr.rast165
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0072_return_expr.rast33
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast98
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0075_block.rast86
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast27
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0080_postfix_range.rast167
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0081_for_type.rast15
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast85
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0085_expr_literals.rast247
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast112
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0093_index_expr.rast43
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0095_placeholder_pat.rast33
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0096_no_semi_after_block.rast229
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast46
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0102_record_field_pat_list.rast241
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0103_array_expr.rast85
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rast48
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rs2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0106_lambda_expr.rast251
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0107_method_call_expr.rast101
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0108_tuple_expr.rast53
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast108
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast155
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0112_bind_pat.rast231
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0113_nocontentexpr.rast90
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast71
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast137
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast267
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0125_crate_keyword_path.rast39
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast71
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast172
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast92
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast10
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast49
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0130_let_stmt.rast231
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0130_try_block_expr.rast40
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0132_box_expr.rast155
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0132_default_fn_type.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast102
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0137_await_expr.rast115
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0138_expression_after_block.rast106
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0142_for_range_from.rast58
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0143_box_pat.rast197
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast887
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0145_record_field_pat.rast127
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0146_as_precedence.rast61
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast49
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0155_closure_params.rast115
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast199
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0158_binop_resets_statementness.rast50
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0158_lambda_ret_block.rast64
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast45
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rast26
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rs1
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rast23
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rs1
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0008_mod_item.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0012_visibility.rast25
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast26
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rs1
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast21
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast40
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast38
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast60
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.rast347
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0029_range_forms.rast279
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.rast103
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0032_where_for.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0033_label_break.rast407
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.rast59
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast3912
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.rast27
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.rast77
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.rast97
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast133
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0044_let_attrs.rast123
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.rast196
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast495
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast373
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0049_async_block.rast47
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.rast56
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast55
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0052_for_range_block.rast135
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0054_qual_path_in_type_arg.rast15
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast49
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast106
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0057_loop_in_call.rast49
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0058_unary_expr_precedence.rast169
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0059_loops_in_parens.rast174
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0060_as_range.rast87
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0061_match_full_range.rast29
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast205
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0063_trait_fn_patterns.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast20
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast5
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast5
-rw-r--r--crates/rust-analyzer/Cargo.toml2
-rw-r--r--crates/rust-analyzer/src/caps.rs29
-rw-r--r--crates/rust-analyzer/src/config.rs6
-rw-r--r--crates/rust-analyzer/src/main_loop/handlers.rs38
-rw-r--r--crates/rust-analyzer/tests/heavy_tests/main.rs4
-rw-r--r--crates/rust-analyzer/tests/heavy_tests/support.rs6
-rw-r--r--docs/dev/architecture.md4
-rw-r--r--docs/dev/guide.md8
-rw-r--r--docs/user/assists.md4
-rw-r--r--docs/user/readme.adoc11
-rw-r--r--xtask/src/ast_src.rs18
-rw-r--r--xtask/src/codegen/gen_syntax.rs1
255 files changed, 11241 insertions, 11165 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 522ecf2ee..5d50a766f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -58,9 +58,9 @@ dependencies = [
58 58
59[[package]] 59[[package]]
60name = "backtrace-sys" 60name = "backtrace-sys"
61version = "0.1.36" 61version = "0.1.37"
62source = "registry+https://github.com/rust-lang/crates.io-index" 62source = "registry+https://github.com/rust-lang/crates.io-index"
63checksum = "78848718ee1255a2485d1309ad9cdecfc2e7d0362dd11c6829364c6b35ae1bc7" 63checksum = "18fbebbe1c9d1f383a9cc7e8ccdb471b91c8d024ee9c2ca5b5346121fe8b4399"
64dependencies = [ 64dependencies = [
65 "cc", 65 "cc",
66 "libc", 66 "libc",
@@ -170,7 +170,7 @@ dependencies = [
170 "chalk-ir", 170 "chalk-ir",
171 "chalk-macros", 171 "chalk-macros",
172 "chalk-rust-ir", 172 "chalk-rust-ir",
173 "ena", 173 "ena 0.13.1",
174 "itertools", 174 "itertools",
175 "petgraph", 175 "petgraph",
176 "rustc-hash", 176 "rustc-hash",
@@ -199,14 +199,15 @@ dependencies = [
199 199
200[[package]] 200[[package]]
201name = "console" 201name = "console"
202version = "0.10.0" 202version = "0.10.3"
203source = "registry+https://github.com/rust-lang/crates.io-index" 203source = "registry+https://github.com/rust-lang/crates.io-index"
204checksum = "6728a28023f207181b193262711102bfbaf47cc9d13bc71d0736607ef8efe88c" 204checksum = "2586208b33573b7f76ccfbe5adb076394c88deaf81b84d7213969805b0a952a7"
205dependencies = [ 205dependencies = [
206 "clicolors-control", 206 "clicolors-control",
207 "encode_unicode", 207 "encode_unicode",
208 "lazy_static", 208 "lazy_static",
209 "libc", 209 "libc",
210 "terminal_size",
210 "termios", 211 "termios",
211 "winapi 0.3.8", 212 "winapi 0.3.8",
212] 213]
@@ -316,6 +317,15 @@ dependencies = [
316] 317]
317 318
318[[package]] 319[[package]]
320name = "ena"
321version = "0.14.0"
322source = "registry+https://github.com/rust-lang/crates.io-index"
323checksum = "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3"
324dependencies = [
325 "log",
326]
327
328[[package]]
319name = "encode_unicode" 329name = "encode_unicode"
320version = "0.3.6" 330version = "0.3.6"
321source = "registry+https://github.com/rust-lang/crates.io-index" 331source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -381,9 +391,9 @@ dependencies = [
381 391
382[[package]] 392[[package]]
383name = "fst" 393name = "fst"
384version = "0.4.1" 394version = "0.4.3"
385source = "registry+https://github.com/rust-lang/crates.io-index" 395source = "registry+https://github.com/rust-lang/crates.io-index"
386checksum = "4eaf9ea41cc964d742f7fc7861db75d2d6e83a3ce0d897d5c6f8b621f015ddc8" 396checksum = "81f9cac32c1741cdf6b66be7dcf0d9c7f25ccf12f8aa84c16cfa31f9f14513b3"
387 397
388[[package]] 398[[package]]
389name = "fuchsia-zircon" 399name = "fuchsia-zircon"
@@ -447,9 +457,9 @@ dependencies = [
447 457
448[[package]] 458[[package]]
449name = "hermit-abi" 459name = "hermit-abi"
450version = "0.1.11" 460version = "0.1.12"
451source = "registry+https://github.com/rust-lang/crates.io-index" 461source = "registry+https://github.com/rust-lang/crates.io-index"
452checksum = "8a0d737e0f947a1864e93d33fdef4af8445a00d1ed8dc0c8ddb73139ea6abf15" 462checksum = "61565ff7aaace3525556587bd2dc31d4a07071957be715e63ce7b1eccf51a8f4"
453dependencies = [ 463dependencies = [
454 "libc", 464 "libc",
455] 465]
@@ -645,9 +655,9 @@ dependencies = [
645 655
646[[package]] 656[[package]]
647name = "lsp-types" 657name = "lsp-types"
648version = "0.74.0" 658version = "0.74.1"
649source = "registry+https://github.com/rust-lang/crates.io-index" 659source = "registry+https://github.com/rust-lang/crates.io-index"
650checksum = "820f746e5716ab9a2d664794636188bd003023b72e55404ee27105dc22869922" 660checksum = "57c0e6a2b8837d27b29deb3f3e6dc1c6d2f57947677f9be1024e482ec5b59525"
651dependencies = [ 661dependencies = [
652 "base64", 662 "base64",
653 "bitflags", 663 "bitflags",
@@ -696,9 +706,9 @@ dependencies = [
696 706
697[[package]] 707[[package]]
698name = "mio" 708name = "mio"
699version = "0.6.21" 709version = "0.6.22"
700source = "registry+https://github.com/rust-lang/crates.io-index" 710source = "registry+https://github.com/rust-lang/crates.io-index"
701checksum = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f" 711checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430"
702dependencies = [ 712dependencies = [
703 "cfg-if", 713 "cfg-if",
704 "fuchsia-zircon", 714 "fuchsia-zircon",
@@ -739,9 +749,9 @@ dependencies = [
739 749
740[[package]] 750[[package]]
741name = "net2" 751name = "net2"
742version = "0.2.33" 752version = "0.2.34"
743source = "registry+https://github.com/rust-lang/crates.io-index" 753source = "registry+https://github.com/rust-lang/crates.io-index"
744checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" 754checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7"
745dependencies = [ 755dependencies = [
746 "cfg-if", 756 "cfg-if",
747 "libc", 757 "libc",
@@ -814,9 +824,9 @@ dependencies = [
814 824
815[[package]] 825[[package]]
816name = "paste" 826name = "paste"
817version = "0.1.10" 827version = "0.1.11"
818source = "registry+https://github.com/rust-lang/crates.io-index" 828source = "registry+https://github.com/rust-lang/crates.io-index"
819checksum = "ab4fb1930692d1b6a9cfabdde3d06ea0a7d186518e2f4d67660d8970e2fa647a" 829checksum = "a3c897744f63f34f7ae3a024d9162bb5001f4ad661dd24bea0dc9f075d2de1c6"
820dependencies = [ 830dependencies = [
821 "paste-impl", 831 "paste-impl",
822 "proc-macro-hack", 832 "proc-macro-hack",
@@ -824,9 +834,9 @@ dependencies = [
824 834
825[[package]] 835[[package]]
826name = "paste-impl" 836name = "paste-impl"
827version = "0.1.10" 837version = "0.1.11"
828source = "registry+https://github.com/rust-lang/crates.io-index" 838source = "registry+https://github.com/rust-lang/crates.io-index"
829checksum = "a62486e111e571b1e93b710b61e8f493c0013be39629b714cb166bdb06aa5a8a" 839checksum = "66fd6f92e3594f2dd7b3fc23e42d82e292f7bcda6d8e5dcd167072327234ab89"
830dependencies = [ 840dependencies = [
831 "proc-macro-hack", 841 "proc-macro-hack",
832 "proc-macro2", 842 "proc-macro2",
@@ -885,9 +895,9 @@ dependencies = [
885 895
886[[package]] 896[[package]]
887name = "quote" 897name = "quote"
888version = "1.0.3" 898version = "1.0.4"
889source = "registry+https://github.com/rust-lang/crates.io-index" 899source = "registry+https://github.com/rust-lang/crates.io-index"
890checksum = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f" 900checksum = "4c1f4b0efa5fc5e8ceb705136bfee52cfdb6a4e3509f770b478cd6ed434232a7"
891dependencies = [ 901dependencies = [
892 "proc-macro2", 902 "proc-macro2",
893] 903]
@@ -1023,7 +1033,7 @@ dependencies = [
1023 "chalk-ir", 1033 "chalk-ir",
1024 "chalk-rust-ir", 1034 "chalk-rust-ir",
1025 "chalk-solve", 1035 "chalk-solve",
1026 "ena", 1036 "ena 0.14.0",
1027 "insta", 1037 "insta",
1028 "itertools", 1038 "itertools",
1029 "log", 1039 "log",
@@ -1374,9 +1384,9 @@ dependencies = [
1374 1384
1375[[package]] 1385[[package]]
1376name = "rustc-ap-rustc_lexer" 1386name = "rustc-ap-rustc_lexer"
1377version = "652.0.0" 1387version = "656.0.0"
1378source = "registry+https://github.com/rust-lang/crates.io-index" 1388source = "registry+https://github.com/rust-lang/crates.io-index"
1379checksum = "3a6a43c4d0889218c5e2ae68ffea239f303fc05ab1078c73f74e63feb87f7889" 1389checksum = "9cbba98ec46e96a4663197dfa8c0378752de2006e314e5400c0ca74929d6692f"
1380dependencies = [ 1390dependencies = [
1381 "unicode-xid", 1391 "unicode-xid",
1382] 1392]
@@ -1486,18 +1496,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
1486 1496
1487[[package]] 1497[[package]]
1488name = "serde" 1498name = "serde"
1489version = "1.0.104" 1499version = "1.0.106"
1490source = "registry+https://github.com/rust-lang/crates.io-index" 1500source = "registry+https://github.com/rust-lang/crates.io-index"
1491checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" 1501checksum = "36df6ac6412072f67cf767ebbde4133a5b2e88e76dc6187fa7104cd16f783399"
1492dependencies = [ 1502dependencies = [
1493 "serde_derive", 1503 "serde_derive",
1494] 1504]
1495 1505
1496[[package]] 1506[[package]]
1497name = "serde_derive" 1507name = "serde_derive"
1498version = "1.0.104" 1508version = "1.0.106"
1499source = "registry+https://github.com/rust-lang/crates.io-index" 1509source = "registry+https://github.com/rust-lang/crates.io-index"
1500checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" 1510checksum = "9e549e3abf4fb8621bd1609f11dfc9f5e50320802273b12f3811a67e6716ea6c"
1501dependencies = [ 1511dependencies = [
1502 "proc-macro2", 1512 "proc-macro2",
1503 "quote", 1513 "quote",
@@ -1506,9 +1516,9 @@ dependencies = [
1506 1516
1507[[package]] 1517[[package]]
1508name = "serde_json" 1518name = "serde_json"
1509version = "1.0.51" 1519version = "1.0.52"
1510source = "registry+https://github.com/rust-lang/crates.io-index" 1520source = "registry+https://github.com/rust-lang/crates.io-index"
1511checksum = "da07b57ee2623368351e9a0488bb0b261322a15a6e0ae53e243cbdc0f4208da9" 1521checksum = "a7894c8ed05b7a3a279aeb79025fdec1d3158080b75b98a08faf2806bb799edd"
1512dependencies = [ 1522dependencies = [
1513 "itoa", 1523 "itoa",
1514 "ryu", 1524 "ryu",
@@ -1607,6 +1617,16 @@ dependencies = [
1607] 1617]
1608 1618
1609[[package]] 1619[[package]]
1620name = "terminal_size"
1621version = "0.1.12"
1622source = "registry+https://github.com/rust-lang/crates.io-index"
1623checksum = "8038f95fc7a6f351163f4b964af631bd26c9e828f7db085f2a84aca56f70d13b"
1624dependencies = [
1625 "libc",
1626 "winapi 0.3.8",
1627]
1628
1629[[package]]
1610name = "termios" 1630name = "termios"
1611version = "0.3.2" 1631version = "0.3.2"
1612source = "registry+https://github.com/rust-lang/crates.io-index" 1632source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/crates/ra_assists/src/ast_transform.rs b/crates/ra_assists/src/ast_transform.rs
index 52b4c82db..9ac65ab39 100644
--- a/crates/ra_assists/src/ast_transform.rs
+++ b/crates/ra_assists/src/ast_transform.rs
@@ -85,6 +85,7 @@ impl<'a> SubstituteTypeParams<'a> {
85 ast::TypeRef::PathType(path_type) => path_type.path()?, 85 ast::TypeRef::PathType(path_type) => path_type.path()?,
86 _ => return None, 86 _ => return None,
87 }; 87 };
88 // FIXME: use `hir::Path::from_src` instead.
88 let path = hir::Path::from_ast(path)?; 89 let path = hir::Path::from_ast(path)?;
89 let resolution = self.source_scope.resolve_hir_path(&path)?; 90 let resolution = self.source_scope.resolve_hir_path(&path)?;
90 match resolution { 91 match resolution {
@@ -128,6 +129,7 @@ impl<'a> QualifyPaths<'a> {
128 // don't try to qualify `Fn(Foo) -> Bar` paths, they are in prelude anyway 129 // don't try to qualify `Fn(Foo) -> Bar` paths, they are in prelude anyway
129 return None; 130 return None;
130 } 131 }
132 // FIXME: use `hir::Path::from_src` instead.
131 let hir_path = hir::Path::from_ast(p.clone()); 133 let hir_path = hir::Path::from_ast(p.clone());
132 let resolution = self.source_scope.resolve_hir_path(&hir_path?)?; 134 let resolution = self.source_scope.resolve_hir_path(&hir_path?)?;
133 match resolution { 135 match resolution {
diff --git a/crates/ra_assists/src/doc_tests/generated.rs b/crates/ra_assists/src/doc_tests/generated.rs
index b53b97e89..6696cc832 100644
--- a/crates/ra_assists/src/doc_tests/generated.rs
+++ b/crates/ra_assists/src/doc_tests/generated.rs
@@ -180,7 +180,9 @@ trait Trait<T> {
180} 180}
181 181
182impl Trait<u32> for () { 182impl Trait<u32> for () {
183 fn foo(&self) -> u32 { todo!() } 183 fn foo(&self) -> u32 {
184 todo!()
185 }
184 186
185} 187}
186"#####, 188"#####,
diff --git a/crates/ra_assists/src/handlers/add_missing_impl_members.rs b/crates/ra_assists/src/handlers/add_missing_impl_members.rs
index 2d6d44980..e466c9a86 100644
--- a/crates/ra_assists/src/handlers/add_missing_impl_members.rs
+++ b/crates/ra_assists/src/handlers/add_missing_impl_members.rs
@@ -1,6 +1,10 @@
1use hir::HasSource; 1use hir::HasSource;
2use ra_syntax::{ 2use ra_syntax::{
3 ast::{self, edit, make, AstNode, NameOwner}, 3 ast::{
4 self,
5 edit::{self, IndentLevel},
6 make, AstNode, NameOwner,
7 },
4 SmolStr, 8 SmolStr,
5}; 9};
6 10
@@ -40,7 +44,9 @@ enum AddMissingImplMembersMode {
40// } 44// }
41// 45//
42// impl Trait<u32> for () { 46// impl Trait<u32> for () {
43// fn foo(&self) -> u32 { todo!() } 47// fn foo(&self) -> u32 {
48// todo!()
49// }
44// 50//
45// } 51// }
46// ``` 52// ```
@@ -165,7 +171,9 @@ fn add_missing_impl_members_inner(
165 171
166fn add_body(fn_def: ast::FnDef) -> ast::FnDef { 172fn add_body(fn_def: ast::FnDef) -> ast::FnDef {
167 if fn_def.body().is_none() { 173 if fn_def.body().is_none() {
168 fn_def.with_body(make::block_from_expr(make::expr_todo())) 174 let body = make::block_expr(None, Some(make::expr_todo()));
175 let body = IndentLevel(1).increase_indent(body);
176 fn_def.with_body(body)
169 } else { 177 } else {
170 fn_def 178 fn_def
171 } 179 }
@@ -181,7 +189,7 @@ mod tests {
181 fn test_add_missing_impl_members() { 189 fn test_add_missing_impl_members() {
182 check_assist( 190 check_assist(
183 add_missing_impl_members, 191 add_missing_impl_members,
184 " 192 r#"
185trait Foo { 193trait Foo {
186 type Output; 194 type Output;
187 195
@@ -197,8 +205,8 @@ struct S;
197impl Foo for S { 205impl Foo for S {
198 fn bar(&self) {} 206 fn bar(&self) {}
199<|> 207<|>
200}", 208}"#,
201 " 209 r#"
202trait Foo { 210trait Foo {
203 type Output; 211 type Output;
204 212
@@ -215,10 +223,14 @@ impl Foo for S {
215 fn bar(&self) {} 223 fn bar(&self) {}
216 <|>type Output; 224 <|>type Output;
217 const CONST: usize = 42; 225 const CONST: usize = 42;
218 fn foo(&self) { todo!() } 226 fn foo(&self) {
219 fn baz(&self) { todo!() } 227 todo!()
228 }
229 fn baz(&self) {
230 todo!()
231 }
220 232
221}", 233}"#,
222 ); 234 );
223 } 235 }
224 236
@@ -226,7 +238,7 @@ impl Foo for S {
226 fn test_copied_overriden_members() { 238 fn test_copied_overriden_members() {
227 check_assist( 239 check_assist(
228 add_missing_impl_members, 240 add_missing_impl_members,
229 " 241 r#"
230trait Foo { 242trait Foo {
231 fn foo(&self); 243 fn foo(&self);
232 fn bar(&self) -> bool { true } 244 fn bar(&self) -> bool { true }
@@ -238,8 +250,8 @@ struct S;
238impl Foo for S { 250impl Foo for S {
239 fn bar(&self) {} 251 fn bar(&self) {}
240<|> 252<|>
241}", 253}"#,
242 " 254 r#"
243trait Foo { 255trait Foo {
244 fn foo(&self); 256 fn foo(&self);
245 fn bar(&self) -> bool { true } 257 fn bar(&self) -> bool { true }
@@ -250,9 +262,11 @@ struct S;
250 262
251impl Foo for S { 263impl Foo for S {
252 fn bar(&self) {} 264 fn bar(&self) {}
253 <|>fn foo(&self) { todo!() } 265 <|>fn foo(&self) {
266 todo!()
267 }
254 268
255}", 269}"#,
256 ); 270 );
257 } 271 }
258 272
@@ -260,16 +274,18 @@ impl Foo for S {
260 fn test_empty_impl_def() { 274 fn test_empty_impl_def() {
261 check_assist( 275 check_assist(
262 add_missing_impl_members, 276 add_missing_impl_members,
263 " 277 r#"
264trait Foo { fn foo(&self); } 278trait Foo { fn foo(&self); }
265struct S; 279struct S;
266impl Foo for S { <|> }", 280impl Foo for S { <|> }"#,
267 " 281 r#"
268trait Foo { fn foo(&self); } 282trait Foo { fn foo(&self); }
269struct S; 283struct S;
270impl Foo for S { 284impl Foo for S {
271 <|>fn foo(&self) { todo!() } 285 <|>fn foo(&self) {
272}", 286 todo!()
287 }
288}"#,
273 ); 289 );
274 } 290 }
275 291
@@ -277,16 +293,18 @@ impl Foo for S {
277 fn fill_in_type_params_1() { 293 fn fill_in_type_params_1() {
278 check_assist( 294 check_assist(
279 add_missing_impl_members, 295 add_missing_impl_members,
280 " 296 r#"
281trait Foo<T> { fn foo(&self, t: T) -> &T; } 297trait Foo<T> { fn foo(&self, t: T) -> &T; }
282struct S; 298struct S;
283impl Foo<u32> for S { <|> }", 299impl Foo<u32> for S { <|> }"#,
284 " 300 r#"
285trait Foo<T> { fn foo(&self, t: T) -> &T; } 301trait Foo<T> { fn foo(&self, t: T) -> &T; }
286struct S; 302struct S;
287impl Foo<u32> for S { 303impl Foo<u32> for S {
288 <|>fn foo(&self, t: u32) -> &u32 { todo!() } 304 <|>fn foo(&self, t: u32) -> &u32 {
289}", 305 todo!()
306 }
307}"#,
290 ); 308 );
291 } 309 }
292 310
@@ -294,16 +312,18 @@ impl Foo<u32> for S {
294 fn fill_in_type_params_2() { 312 fn fill_in_type_params_2() {
295 check_assist( 313 check_assist(
296 add_missing_impl_members, 314 add_missing_impl_members,
297 " 315 r#"
298trait Foo<T> { fn foo(&self, t: T) -> &T; } 316trait Foo<T> { fn foo(&self, t: T) -> &T; }
299struct S; 317struct S;
300impl<U> Foo<U> for S { <|> }", 318impl<U> Foo<U> for S { <|> }"#,
301 " 319 r#"
302trait Foo<T> { fn foo(&self, t: T) -> &T; } 320trait Foo<T> { fn foo(&self, t: T) -> &T; }
303struct S; 321struct S;
304impl<U> Foo<U> for S { 322impl<U> Foo<U> for S {
305 <|>fn foo(&self, t: U) -> &U { todo!() } 323 <|>fn foo(&self, t: U) -> &U {
306}", 324 todo!()
325 }
326}"#,
307 ); 327 );
308 } 328 }
309 329
@@ -311,16 +331,18 @@ impl<U> Foo<U> for S {
311 fn test_cursor_after_empty_impl_def() { 331 fn test_cursor_after_empty_impl_def() {
312 check_assist( 332 check_assist(
313 add_missing_impl_members, 333 add_missing_impl_members,
314 " 334 r#"
315trait Foo { fn foo(&self); } 335trait Foo { fn foo(&self); }
316struct S; 336struct S;
317impl Foo for S {}<|>", 337impl Foo for S {}<|>"#,
318 " 338 r#"
319trait Foo { fn foo(&self); } 339trait Foo { fn foo(&self); }
320struct S; 340struct S;
321impl Foo for S { 341impl Foo for S {
322 <|>fn foo(&self) { todo!() } 342 <|>fn foo(&self) {
323}", 343 todo!()
344 }
345}"#,
324 ) 346 )
325 } 347 }
326 348
@@ -328,22 +350,24 @@ impl Foo for S {
328 fn test_qualify_path_1() { 350 fn test_qualify_path_1() {
329 check_assist( 351 check_assist(
330 add_missing_impl_members, 352 add_missing_impl_members,
331 " 353 r#"
332mod foo { 354mod foo {
333 pub struct Bar; 355 pub struct Bar;
334 trait Foo { fn foo(&self, bar: Bar); } 356 trait Foo { fn foo(&self, bar: Bar); }
335} 357}
336struct S; 358struct S;
337impl foo::Foo for S { <|> }", 359impl foo::Foo for S { <|> }"#,
338 " 360 r#"
339mod foo { 361mod foo {
340 pub struct Bar; 362 pub struct Bar;
341 trait Foo { fn foo(&self, bar: Bar); } 363 trait Foo { fn foo(&self, bar: Bar); }
342} 364}
343struct S; 365struct S;
344impl foo::Foo for S { 366impl foo::Foo for S {
345 <|>fn foo(&self, bar: foo::Bar) { todo!() } 367 <|>fn foo(&self, bar: foo::Bar) {
346}", 368 todo!()
369 }
370}"#,
347 ); 371 );
348 } 372 }
349 373
@@ -351,22 +375,24 @@ impl foo::Foo for S {
351 fn test_qualify_path_generic() { 375 fn test_qualify_path_generic() {
352 check_assist( 376 check_assist(
353 add_missing_impl_members, 377 add_missing_impl_members,
354 " 378 r#"
355mod foo { 379mod foo {
356 pub struct Bar<T>; 380 pub struct Bar<T>;
357 trait Foo { fn foo(&self, bar: Bar<u32>); } 381 trait Foo { fn foo(&self, bar: Bar<u32>); }
358} 382}
359struct S; 383struct S;
360impl foo::Foo for S { <|> }", 384impl foo::Foo for S { <|> }"#,
361 " 385 r#"
362mod foo { 386mod foo {
363 pub struct Bar<T>; 387 pub struct Bar<T>;
364 trait Foo { fn foo(&self, bar: Bar<u32>); } 388 trait Foo { fn foo(&self, bar: Bar<u32>); }
365} 389}
366struct S; 390struct S;
367impl foo::Foo for S { 391impl foo::Foo for S {
368 <|>fn foo(&self, bar: foo::Bar<u32>) { todo!() } 392 <|>fn foo(&self, bar: foo::Bar<u32>) {
369}", 393 todo!()
394 }
395}"#,
370 ); 396 );
371 } 397 }
372 398
@@ -374,22 +400,24 @@ impl foo::Foo for S {
374 fn test_qualify_path_and_substitute_param() { 400 fn test_qualify_path_and_substitute_param() {
375 check_assist( 401 check_assist(
376 add_missing_impl_members, 402 add_missing_impl_members,
377 " 403 r#"
378mod foo { 404mod foo {
379 pub struct Bar<T>; 405 pub struct Bar<T>;
380 trait Foo<T> { fn foo(&self, bar: Bar<T>); } 406 trait Foo<T> { fn foo(&self, bar: Bar<T>); }
381} 407}
382struct S; 408struct S;
383impl foo::Foo<u32> for S { <|> }", 409impl foo::Foo<u32> for S { <|> }"#,
384 " 410 r#"
385mod foo { 411mod foo {
386 pub struct Bar<T>; 412 pub struct Bar<T>;
387 trait Foo<T> { fn foo(&self, bar: Bar<T>); } 413 trait Foo<T> { fn foo(&self, bar: Bar<T>); }
388} 414}
389struct S; 415struct S;
390impl foo::Foo<u32> for S { 416impl foo::Foo<u32> for S {
391 <|>fn foo(&self, bar: foo::Bar<u32>) { todo!() } 417 <|>fn foo(&self, bar: foo::Bar<u32>) {
392}", 418 todo!()
419 }
420}"#,
393 ); 421 );
394 } 422 }
395 423
@@ -398,15 +426,15 @@ impl foo::Foo<u32> for S {
398 // when substituting params, the substituted param should not be qualified! 426 // when substituting params, the substituted param should not be qualified!
399 check_assist( 427 check_assist(
400 add_missing_impl_members, 428 add_missing_impl_members,
401 " 429 r#"
402mod foo { 430mod foo {
403 trait Foo<T> { fn foo(&self, bar: T); } 431 trait Foo<T> { fn foo(&self, bar: T); }
404 pub struct Param; 432 pub struct Param;
405} 433}
406struct Param; 434struct Param;
407struct S; 435struct S;
408impl foo::Foo<Param> for S { <|> }", 436impl foo::Foo<Param> for S { <|> }"#,
409 " 437 r#"
410mod foo { 438mod foo {
411 trait Foo<T> { fn foo(&self, bar: T); } 439 trait Foo<T> { fn foo(&self, bar: T); }
412 pub struct Param; 440 pub struct Param;
@@ -414,8 +442,10 @@ mod foo {
414struct Param; 442struct Param;
415struct S; 443struct S;
416impl foo::Foo<Param> for S { 444impl foo::Foo<Param> for S {
417 <|>fn foo(&self, bar: Param) { todo!() } 445 <|>fn foo(&self, bar: Param) {
418}", 446 todo!()
447 }
448}"#,
419 ); 449 );
420 } 450 }
421 451
@@ -423,15 +453,15 @@ impl foo::Foo<Param> for S {
423 fn test_qualify_path_associated_item() { 453 fn test_qualify_path_associated_item() {
424 check_assist( 454 check_assist(
425 add_missing_impl_members, 455 add_missing_impl_members,
426 " 456 r#"
427mod foo { 457mod foo {
428 pub struct Bar<T>; 458 pub struct Bar<T>;
429 impl Bar<T> { type Assoc = u32; } 459 impl Bar<T> { type Assoc = u32; }
430 trait Foo { fn foo(&self, bar: Bar<u32>::Assoc); } 460 trait Foo { fn foo(&self, bar: Bar<u32>::Assoc); }
431} 461}
432struct S; 462struct S;
433impl foo::Foo for S { <|> }", 463impl foo::Foo for S { <|> }"#,
434 " 464 r#"
435mod foo { 465mod foo {
436 pub struct Bar<T>; 466 pub struct Bar<T>;
437 impl Bar<T> { type Assoc = u32; } 467 impl Bar<T> { type Assoc = u32; }
@@ -439,8 +469,10 @@ mod foo {
439} 469}
440struct S; 470struct S;
441impl foo::Foo for S { 471impl foo::Foo for S {
442 <|>fn foo(&self, bar: foo::Bar<u32>::Assoc) { todo!() } 472 <|>fn foo(&self, bar: foo::Bar<u32>::Assoc) {
443}", 473 todo!()
474 }
475}"#,
444 ); 476 );
445 } 477 }
446 478
@@ -448,15 +480,15 @@ impl foo::Foo for S {
448 fn test_qualify_path_nested() { 480 fn test_qualify_path_nested() {
449 check_assist( 481 check_assist(
450 add_missing_impl_members, 482 add_missing_impl_members,
451 " 483 r#"
452mod foo { 484mod foo {
453 pub struct Bar<T>; 485 pub struct Bar<T>;
454 pub struct Baz; 486 pub struct Baz;
455 trait Foo { fn foo(&self, bar: Bar<Baz>); } 487 trait Foo { fn foo(&self, bar: Bar<Baz>); }
456} 488}
457struct S; 489struct S;
458impl foo::Foo for S { <|> }", 490impl foo::Foo for S { <|> }"#,
459 " 491 r#"
460mod foo { 492mod foo {
461 pub struct Bar<T>; 493 pub struct Bar<T>;
462 pub struct Baz; 494 pub struct Baz;
@@ -464,8 +496,10 @@ mod foo {
464} 496}
465struct S; 497struct S;
466impl foo::Foo for S { 498impl foo::Foo for S {
467 <|>fn foo(&self, bar: foo::Bar<foo::Baz>) { todo!() } 499 <|>fn foo(&self, bar: foo::Bar<foo::Baz>) {
468}", 500 todo!()
501 }
502}"#,
469 ); 503 );
470 } 504 }
471 505
@@ -473,22 +507,24 @@ impl foo::Foo for S {
473 fn test_qualify_path_fn_trait_notation() { 507 fn test_qualify_path_fn_trait_notation() {
474 check_assist( 508 check_assist(
475 add_missing_impl_members, 509 add_missing_impl_members,
476 " 510 r#"
477mod foo { 511mod foo {
478 pub trait Fn<Args> { type Output; } 512 pub trait Fn<Args> { type Output; }
479 trait Foo { fn foo(&self, bar: dyn Fn(u32) -> i32); } 513 trait Foo { fn foo(&self, bar: dyn Fn(u32) -> i32); }
480} 514}
481struct S; 515struct S;
482impl foo::Foo for S { <|> }", 516impl foo::Foo for S { <|> }"#,
483 " 517 r#"
484mod foo { 518mod foo {
485 pub trait Fn<Args> { type Output; } 519 pub trait Fn<Args> { type Output; }
486 trait Foo { fn foo(&self, bar: dyn Fn(u32) -> i32); } 520 trait Foo { fn foo(&self, bar: dyn Fn(u32) -> i32); }
487} 521}
488struct S; 522struct S;
489impl foo::Foo for S { 523impl foo::Foo for S {
490 <|>fn foo(&self, bar: dyn Fn(u32) -> i32) { todo!() } 524 <|>fn foo(&self, bar: dyn Fn(u32) -> i32) {
491}", 525 todo!()
526 }
527}"#,
492 ); 528 );
493 } 529 }
494 530
@@ -496,10 +532,10 @@ impl foo::Foo for S {
496 fn test_empty_trait() { 532 fn test_empty_trait() {
497 check_assist_not_applicable( 533 check_assist_not_applicable(
498 add_missing_impl_members, 534 add_missing_impl_members,
499 " 535 r#"
500trait Foo; 536trait Foo;
501struct S; 537struct S;
502impl Foo for S { <|> }", 538impl Foo for S { <|> }"#,
503 ) 539 )
504 } 540 }
505 541
@@ -507,13 +543,13 @@ impl Foo for S { <|> }",
507 fn test_ignore_unnamed_trait_members_and_default_methods() { 543 fn test_ignore_unnamed_trait_members_and_default_methods() {
508 check_assist_not_applicable( 544 check_assist_not_applicable(
509 add_missing_impl_members, 545 add_missing_impl_members,
510 " 546 r#"
511trait Foo { 547trait Foo {
512 fn (arg: u32); 548 fn (arg: u32);
513 fn valid(some: u32) -> bool { false } 549 fn valid(some: u32) -> bool { false }
514} 550}
515struct S; 551struct S;
516impl Foo for S { <|> }", 552impl Foo for S { <|> }"#,
517 ) 553 )
518 } 554 }
519 555
@@ -544,7 +580,9 @@ trait Foo {
544struct S; 580struct S;
545impl Foo for S { 581impl Foo for S {
546 <|>type Output; 582 <|>type Output;
547 fn foo(&self) { todo!() } 583 fn foo(&self) {
584 todo!()
585 }
548}"#, 586}"#,
549 ) 587 )
550 } 588 }
@@ -553,7 +591,7 @@ impl Foo for S {
553 fn test_default_methods() { 591 fn test_default_methods() {
554 check_assist( 592 check_assist(
555 add_missing_default_members, 593 add_missing_default_members,
556 " 594 r#"
557trait Foo { 595trait Foo {
558 type Output; 596 type Output;
559 597
@@ -563,8 +601,8 @@ trait Foo {
563 fn foo(some: u32) -> bool; 601 fn foo(some: u32) -> bool;
564} 602}
565struct S; 603struct S;
566impl Foo for S { <|> }", 604impl Foo for S { <|> }"#,
567 " 605 r#"
568trait Foo { 606trait Foo {
569 type Output; 607 type Output;
570 608
@@ -576,7 +614,7 @@ trait Foo {
576struct S; 614struct S;
577impl Foo for S { 615impl Foo for S {
578 <|>fn valid(some: u32) -> bool { false } 616 <|>fn valid(some: u32) -> bool { false }
579}", 617}"#,
580 ) 618 )
581 } 619 }
582} 620}
diff --git a/crates/ra_assists/src/handlers/early_return.rs b/crates/ra_assists/src/handlers/early_return.rs
index ea6c56f8c..eede2fe91 100644
--- a/crates/ra_assists/src/handlers/early_return.rs
+++ b/crates/ra_assists/src/handlers/early_return.rs
@@ -2,7 +2,7 @@ use std::{iter::once, ops::RangeInclusive};
2 2
3use ra_syntax::{ 3use ra_syntax::{
4 algo::replace_children, 4 algo::replace_children,
5 ast::{self, edit::IndentLevel, make, Block, Pat::TupleStructPat}, 5 ast::{self, edit::IndentLevel, make},
6 AstNode, 6 AstNode,
7 SyntaxKind::{FN_DEF, LOOP_EXPR, L_CURLY, R_CURLY, WHILE_EXPR, WHITESPACE}, 7 SyntaxKind::{FN_DEF, LOOP_EXPR, L_CURLY, R_CURLY, WHILE_EXPR, WHITESPACE},
8 SyntaxNode, 8 SyntaxNode,
@@ -47,7 +47,7 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
47 // Check if there is an IfLet that we can handle. 47 // Check if there is an IfLet that we can handle.
48 let if_let_pat = match cond.pat() { 48 let if_let_pat = match cond.pat() {
49 None => None, // No IfLet, supported. 49 None => None, // No IfLet, supported.
50 Some(TupleStructPat(pat)) if pat.args().count() == 1 => { 50 Some(ast::Pat::TupleStructPat(pat)) if pat.args().count() == 1 => {
51 let path = pat.path()?; 51 let path = pat.path()?;
52 match path.qualifier() { 52 match path.qualifier() {
53 None => { 53 None => {
@@ -61,9 +61,9 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
61 }; 61 };
62 62
63 let cond_expr = cond.expr()?; 63 let cond_expr = cond.expr()?;
64 let then_block = if_expr.then_branch()?.block()?; 64 let then_block = if_expr.then_branch()?;
65 65
66 let parent_block = if_expr.syntax().parent()?.ancestors().find_map(ast::Block::cast)?; 66 let parent_block = if_expr.syntax().parent()?.ancestors().find_map(ast::BlockExpr::cast)?;
67 67
68 if parent_block.expr()? != if_expr.clone().into() { 68 if parent_block.expr()? != if_expr.clone().into() {
69 return None; 69 return None;
@@ -80,7 +80,7 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
80 return None; 80 return None;
81 } 81 }
82 82
83 let parent_container = parent_block.syntax().parent()?.parent()?; 83 let parent_container = parent_block.syntax().parent()?;
84 84
85 let early_expression: ast::Expr = match parent_container.kind() { 85 let early_expression: ast::Expr = match parent_container.kind() {
86 WHILE_EXPR | LOOP_EXPR => make::expr_continue(), 86 WHILE_EXPR | LOOP_EXPR => make::expr_continue(),
@@ -144,13 +144,13 @@ pub(crate) fn convert_to_guarded_return(ctx: AssistCtx) -> Option<Assist> {
144 } 144 }
145 }; 145 };
146 edit.target(if_expr.syntax().text_range()); 146 edit.target(if_expr.syntax().text_range());
147 edit.replace_ast(parent_block, ast::Block::cast(new_block).unwrap()); 147 edit.replace_ast(parent_block, ast::BlockExpr::cast(new_block).unwrap());
148 edit.set_cursor(cursor_position); 148 edit.set_cursor(cursor_position);
149 149
150 fn replace( 150 fn replace(
151 new_expr: &SyntaxNode, 151 new_expr: &SyntaxNode,
152 then_block: &Block, 152 then_block: &ast::BlockExpr,
153 parent_block: &Block, 153 parent_block: &ast::BlockExpr,
154 if_expr: &ast::IfExpr, 154 if_expr: &ast::IfExpr,
155 ) -> SyntaxNode { 155 ) -> SyntaxNode {
156 let then_block_items = IndentLevel::from(1).decrease_indent(then_block.clone()); 156 let then_block_items = IndentLevel::from(1).decrease_indent(then_block.clone());
diff --git a/crates/ra_assists/src/handlers/inline_local_variable.rs b/crates/ra_assists/src/handlers/inline_local_variable.rs
index f5702f6e0..60ec536a7 100644
--- a/crates/ra_assists/src/handlers/inline_local_variable.rs
+++ b/crates/ra_assists/src/handlers/inline_local_variable.rs
@@ -89,6 +89,7 @@ pub(crate) fn inline_local_variable(ctx: AssistCtx) -> Option<Assist> {
89 | (ast::Expr::ParenExpr(_), _) 89 | (ast::Expr::ParenExpr(_), _)
90 | (ast::Expr::PathExpr(_), _) 90 | (ast::Expr::PathExpr(_), _)
91 | (ast::Expr::BlockExpr(_), _) 91 | (ast::Expr::BlockExpr(_), _)
92 | (ast::Expr::EffectExpr(_), _)
92 | (_, ast::Expr::CallExpr(_)) 93 | (_, ast::Expr::CallExpr(_))
93 | (_, ast::Expr::TupleExpr(_)) 94 | (_, ast::Expr::TupleExpr(_))
94 | (_, ast::Expr::ArrayExpr(_)) 95 | (_, ast::Expr::ArrayExpr(_))
diff --git a/crates/ra_assists/src/handlers/introduce_variable.rs b/crates/ra_assists/src/handlers/introduce_variable.rs
index eda9ac296..39c656305 100644
--- a/crates/ra_assists/src/handlers/introduce_variable.rs
+++ b/crates/ra_assists/src/handlers/introduce_variable.rs
@@ -111,7 +111,7 @@ fn valid_target_expr(node: SyntaxNode) -> Option<ast::Expr> {
111/// expression like a lambda or match arm. 111/// expression like a lambda or match arm.
112fn anchor_stmt(expr: ast::Expr) -> Option<(SyntaxNode, bool)> { 112fn anchor_stmt(expr: ast::Expr) -> Option<(SyntaxNode, bool)> {
113 expr.syntax().ancestors().find_map(|node| { 113 expr.syntax().ancestors().find_map(|node| {
114 if let Some(expr) = node.parent().and_then(ast::Block::cast).and_then(|it| it.expr()) { 114 if let Some(expr) = node.parent().and_then(ast::BlockExpr::cast).and_then(|it| it.expr()) {
115 if expr.syntax() == &node { 115 if expr.syntax() == &node {
116 tested_by!(test_introduce_var_last_expr); 116 tested_by!(test_introduce_var_last_expr);
117 return Some((node, false)); 117 return Some((node, false));
diff --git a/crates/ra_assists/src/handlers/move_guard.rs b/crates/ra_assists/src/handlers/move_guard.rs
index d5ccdd91c..b084dd9ee 100644
--- a/crates/ra_assists/src/handlers/move_guard.rs
+++ b/crates/ra_assists/src/handlers/move_guard.rs
@@ -113,9 +113,9 @@ pub(crate) fn move_arm_cond_to_match_guard(ctx: AssistCtx) -> Option<Assist> {
113 "Move condition to match guard", 113 "Move condition to match guard",
114 |edit| { 114 |edit| {
115 edit.target(if_expr.syntax().text_range()); 115 edit.target(if_expr.syntax().text_range());
116 let then_only_expr = then_block.block().and_then(|it| it.statements().next()).is_none(); 116 let then_only_expr = then_block.statements().next().is_none();
117 117
118 match &then_block.block().and_then(|it| it.expr()) { 118 match &then_block.expr() {
119 Some(then_expr) if then_only_expr => { 119 Some(then_expr) if then_only_expr => {
120 edit.replace(if_expr.syntax().text_range(), then_expr.syntax().text()) 120 edit.replace(if_expr.syntax().text_range(), then_expr.syntax().text())
121 } 121 }
diff --git a/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs b/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
index 2f02df303..918e8dd8d 100644
--- a/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
+++ b/crates/ra_assists/src/handlers/replace_qualified_name_with_use.rs
@@ -27,7 +27,7 @@ pub(crate) fn replace_qualified_name_with_use(ctx: AssistCtx) -> Option<Assist>
27 return None; 27 return None;
28 } 28 }
29 29
30 let hir_path = hir::Path::from_ast(path.clone())?; 30 let hir_path = ctx.sema.lower_path(&path)?;
31 let segments = collect_hir_path_segments(&hir_path)?; 31 let segments = collect_hir_path_segments(&hir_path)?;
32 if segments.len() < 2 { 32 if segments.len() < 2 {
33 return None; 33 return None;
diff --git a/crates/ra_fmt/src/lib.rs b/crates/ra_fmt/src/lib.rs
index 1a30b2b3a..f910ded9d 100644
--- a/crates/ra_fmt/src/lib.rs
+++ b/crates/ra_fmt/src/lib.rs
@@ -42,7 +42,6 @@ pub fn unwrap_trivial_block(block: ast::BlockExpr) -> ast::Expr {
42} 42}
43 43
44pub fn extract_trivial_expression(block: &ast::BlockExpr) -> Option<ast::Expr> { 44pub fn extract_trivial_expression(block: &ast::BlockExpr) -> Option<ast::Expr> {
45 let block = block.block()?;
46 let has_anything_else = |thing: &SyntaxNode| -> bool { 45 let has_anything_else = |thing: &SyntaxNode| -> bool {
47 let mut non_trivial_children = 46 let mut non_trivial_children =
48 block.syntax().children_with_tokens().filter(|it| match it.kind() { 47 block.syntax().children_with_tokens().filter(|it| match it.kind() {
diff --git a/crates/ra_hir/src/lib.rs b/crates/ra_hir/src/lib.rs
index 312ef3814..c5df4ac24 100644
--- a/crates/ra_hir/src/lib.rs
+++ b/crates/ra_hir/src/lib.rs
@@ -70,6 +70,7 @@ pub use hir_def::{
70 type_ref::Mutability, 70 type_ref::Mutability,
71}; 71};
72pub use hir_expand::{ 72pub use hir_expand::{
73 name::Name, HirFileId, InFile, MacroCallId, MacroCallLoc, MacroDefId, MacroFile, Origin, 73 hygiene::Hygiene, name::Name, HirFileId, InFile, MacroCallId, MacroCallLoc, MacroDefId,
74 MacroFile, Origin,
74}; 75};
75pub use hir_ty::{display::HirDisplay, CallableDef}; 76pub use hir_ty::{display::HirDisplay, CallableDef};
diff --git a/crates/ra_hir/src/semantics.rs b/crates/ra_hir/src/semantics.rs
index a0a0f234b..515e5eb17 100644
--- a/crates/ra_hir/src/semantics.rs
+++ b/crates/ra_hir/src/semantics.rs
@@ -8,7 +8,7 @@ use hir_def::{
8 resolver::{self, HasResolver, Resolver}, 8 resolver::{self, HasResolver, Resolver},
9 AsMacroCall, TraitId, 9 AsMacroCall, TraitId,
10}; 10};
11use hir_expand::ExpansionInfo; 11use hir_expand::{hygiene::Hygiene, ExpansionInfo};
12use hir_ty::associated_type_shorthand_candidates; 12use hir_ty::associated_type_shorthand_candidates;
13use itertools::Itertools; 13use itertools::Itertools;
14use ra_db::{FileId, FileRange}; 14use ra_db::{FileId, FileRange};
@@ -246,6 +246,11 @@ impl<'db, DB: HirDatabase> Semantics<'db, DB> {
246 self.analyze(path.syntax()).resolve_path(self.db, path) 246 self.analyze(path.syntax()).resolve_path(self.db, path)
247 } 247 }
248 248
249 pub fn lower_path(&self, path: &ast::Path) -> Option<Path> {
250 let src = self.find_file(path.syntax().clone());
251 Path::from_src(path.clone(), &Hygiene::new(self.db.upcast(), src.file_id.into()))
252 }
253
249 pub fn resolve_bind_pat_to_const(&self, pat: &ast::BindPat) -> Option<ModuleDef> { 254 pub fn resolve_bind_pat_to_const(&self, pat: &ast::BindPat) -> Option<ModuleDef> {
250 self.analyze(pat.syntax()).resolve_bind_pat_to_const(self.db, pat) 255 self.analyze(pat.syntax()).resolve_bind_pat_to_const(self.db, pat)
251 } 256 }
diff --git a/crates/ra_hir/src/source_analyzer.rs b/crates/ra_hir/src/source_analyzer.rs
index 74d64c97d..c63d1b847 100644
--- a/crates/ra_hir/src/source_analyzer.rs
+++ b/crates/ra_hir/src/source_analyzer.rs
@@ -224,7 +224,8 @@ impl SourceAnalyzer {
224 } 224 }
225 } 225 }
226 // This must be a normal source file rather than macro file. 226 // This must be a normal source file rather than macro file.
227 let hir_path = crate::Path::from_ast(path.clone())?; 227 let hir_path =
228 crate::Path::from_src(path.clone(), &Hygiene::new(db.upcast(), self.file_id))?;
228 resolve_hir_path(db, &self.resolver, &hir_path) 229 resolve_hir_path(db, &self.resolver, &hir_path)
229 } 230 }
230 231
diff --git a/crates/ra_hir_def/src/adt.rs b/crates/ra_hir_def/src/adt.rs
index 753becc3d..8eef51828 100644
--- a/crates/ra_hir_def/src/adt.rs
+++ b/crates/ra_hir_def/src/adt.rs
@@ -12,9 +12,15 @@ use ra_prof::profile;
12use ra_syntax::ast::{self, NameOwner, TypeAscriptionOwner, VisibilityOwner}; 12use ra_syntax::ast::{self, NameOwner, TypeAscriptionOwner, VisibilityOwner};
13 13
14use crate::{ 14use crate::{
15 body::CfgExpander, db::DefDatabase, src::HasChildSource, src::HasSource, trace::Trace, 15 body::{CfgExpander, LowerCtx},
16 type_ref::TypeRef, visibility::RawVisibility, EnumId, HasModule, LocalEnumVariantId, 16 db::DefDatabase,
17 LocalFieldId, Lookup, ModuleId, StructId, UnionId, VariantId, 17 src::HasChildSource,
18 src::HasSource,
19 trace::Trace,
20 type_ref::TypeRef,
21 visibility::RawVisibility,
22 EnumId, HasModule, LocalEnumVariantId, LocalFieldId, Lookup, ModuleId, StructId, UnionId,
23 VariantId,
18}; 24};
19 25
20/// Note that we use `StructData` for unions as well! 26/// Note that we use `StructData` for unions as well!
@@ -198,6 +204,8 @@ fn lower_struct(
198 trace: &mut Trace<FieldData, Either<ast::TupleFieldDef, ast::RecordFieldDef>>, 204 trace: &mut Trace<FieldData, Either<ast::TupleFieldDef, ast::RecordFieldDef>>,
199 ast: &InFile<ast::StructKind>, 205 ast: &InFile<ast::StructKind>,
200) -> StructKind { 206) -> StructKind {
207 let ctx = LowerCtx::new(db, ast.file_id);
208
201 match &ast.value { 209 match &ast.value {
202 ast::StructKind::Tuple(fl) => { 210 ast::StructKind::Tuple(fl) => {
203 for (i, fd) in fl.fields().enumerate() { 211 for (i, fd) in fl.fields().enumerate() {
@@ -210,7 +218,7 @@ fn lower_struct(
210 || Either::Left(fd.clone()), 218 || Either::Left(fd.clone()),
211 || FieldData { 219 || FieldData {
212 name: Name::new_tuple_field(i), 220 name: Name::new_tuple_field(i),
213 type_ref: TypeRef::from_ast_opt(fd.type_ref()), 221 type_ref: TypeRef::from_ast_opt(&ctx, fd.type_ref()),
214 visibility: RawVisibility::from_ast(db, ast.with_value(fd.visibility())), 222 visibility: RawVisibility::from_ast(db, ast.with_value(fd.visibility())),
215 }, 223 },
216 ); 224 );
@@ -228,7 +236,7 @@ fn lower_struct(
228 || Either::Right(fd.clone()), 236 || Either::Right(fd.clone()),
229 || FieldData { 237 || FieldData {
230 name: fd.name().map(|n| n.as_name()).unwrap_or_else(Name::missing), 238 name: fd.name().map(|n| n.as_name()).unwrap_or_else(Name::missing),
231 type_ref: TypeRef::from_ast_opt(fd.ascribed_type()), 239 type_ref: TypeRef::from_ast_opt(&ctx, fd.ascribed_type()),
232 visibility: RawVisibility::from_ast(db, ast.with_value(fd.visibility())), 240 visibility: RawVisibility::from_ast(db, ast.with_value(fd.visibility())),
233 }, 241 },
234 ); 242 );
diff --git a/crates/ra_hir_def/src/body.rs b/crates/ra_hir_def/src/body.rs
index 890cefcaf..4edaad960 100644
--- a/crates/ra_hir_def/src/body.rs
+++ b/crates/ra_hir_def/src/body.rs
@@ -15,6 +15,8 @@ use ra_prof::profile;
15use ra_syntax::{ast, AstNode, AstPtr}; 15use ra_syntax::{ast, AstNode, AstPtr};
16use rustc_hash::FxHashMap; 16use rustc_hash::FxHashMap;
17 17
18pub(crate) use lower::LowerCtx;
19
18use crate::{ 20use crate::{
19 attr::Attrs, 21 attr::Attrs,
20 db::DefDatabase, 22 db::DefDatabase,
diff --git a/crates/ra_hir_def/src/body/lower.rs b/crates/ra_hir_def/src/body/lower.rs
index f467ed3fe..58b3d10d8 100644
--- a/crates/ra_hir_def/src/body/lower.rs
+++ b/crates/ra_hir_def/src/body/lower.rs
@@ -3,8 +3,9 @@
3 3
4use either::Either; 4use either::Either;
5use hir_expand::{ 5use hir_expand::{
6 hygiene::Hygiene,
6 name::{name, AsName, Name}, 7 name::{name, AsName, Name},
7 MacroDefId, MacroDefKind, 8 HirFileId, MacroDefId, MacroDefKind,
8}; 9};
9use ra_arena::Arena; 10use ra_arena::Arena;
10use ra_syntax::{ 11use ra_syntax::{
@@ -26,7 +27,7 @@ use crate::{
26 LogicOp, MatchArm, Ordering, Pat, PatId, RecordFieldPat, RecordLitField, Statement, 27 LogicOp, MatchArm, Ordering, Pat, PatId, RecordFieldPat, RecordLitField, Statement,
27 }, 28 },
28 item_scope::BuiltinShadowMode, 29 item_scope::BuiltinShadowMode,
29 path::GenericArgs, 30 path::{GenericArgs, Path},
30 type_ref::{Mutability, TypeRef}, 31 type_ref::{Mutability, TypeRef},
31 AdtId, ConstLoc, ContainerId, DefWithBodyId, EnumLoc, FunctionLoc, Intern, ModuleDefId, 32 AdtId, ConstLoc, ContainerId, DefWithBodyId, EnumLoc, FunctionLoc, Intern, ModuleDefId,
32 StaticLoc, StructLoc, TraitLoc, TypeAliasLoc, UnionLoc, 33 StaticLoc, StructLoc, TraitLoc, TypeAliasLoc, UnionLoc,
@@ -35,6 +36,23 @@ use crate::{
35use super::{ExprSource, PatSource}; 36use super::{ExprSource, PatSource};
36use ast::AstChildren; 37use ast::AstChildren;
37 38
39pub(crate) struct LowerCtx {
40 hygiene: Hygiene,
41}
42
43impl LowerCtx {
44 pub fn new(db: &dyn DefDatabase, file_id: HirFileId) -> Self {
45 LowerCtx { hygiene: Hygiene::new(db.upcast(), file_id) }
46 }
47 pub fn with_hygiene(hygiene: &Hygiene) -> Self {
48 LowerCtx { hygiene: hygiene.clone() }
49 }
50
51 pub fn lower_path(&self, ast: ast::Path) -> Option<Path> {
52 Path::from_src(ast, &self.hygiene)
53 }
54}
55
38pub(super) fn lower( 56pub(super) fn lower(
39 db: &dyn DefDatabase, 57 db: &dyn DefDatabase,
40 def: DefWithBodyId, 58 def: DefWithBodyId,
@@ -42,10 +60,13 @@ pub(super) fn lower(
42 params: Option<ast::ParamList>, 60 params: Option<ast::ParamList>,
43 body: Option<ast::Expr>, 61 body: Option<ast::Expr>,
44) -> (Body, BodySourceMap) { 62) -> (Body, BodySourceMap) {
63 let ctx = LowerCtx::new(db, expander.current_file_id.clone());
64
45 ExprCollector { 65 ExprCollector {
46 db, 66 db,
47 def, 67 def,
48 expander, 68 expander,
69 ctx,
49 source_map: BodySourceMap::default(), 70 source_map: BodySourceMap::default(),
50 body: Body { 71 body: Body {
51 exprs: Arena::default(), 72 exprs: Arena::default(),
@@ -62,7 +83,7 @@ struct ExprCollector<'a> {
62 db: &'a dyn DefDatabase, 83 db: &'a dyn DefDatabase,
63 def: DefWithBodyId, 84 def: DefWithBodyId,
64 expander: Expander, 85 expander: Expander,
65 86 ctx: LowerCtx,
66 body: Body, 87 body: Body,
67 source_map: BodySourceMap, 88 source_map: BodySourceMap,
68} 89}
@@ -182,6 +203,16 @@ impl ExprCollector<'_> {
182 203
183 self.alloc_expr(Expr::If { condition, then_branch, else_branch }, syntax_ptr) 204 self.alloc_expr(Expr::If { condition, then_branch, else_branch }, syntax_ptr)
184 } 205 }
206 ast::Expr::EffectExpr(e) => match e.effect() {
207 ast::Effect::Try(_) => {
208 let body = self.collect_block_opt(e.block_expr());
209 self.alloc_expr(Expr::TryBlock { body }, syntax_ptr)
210 }
211 // FIXME: we need to record these effects somewhere...
212 ast::Effect::Async(_) | ast::Effect::Label(_) | ast::Effect::Unsafe(_) => {
213 self.collect_block_opt(e.block_expr())
214 }
215 },
185 ast::Expr::BlockExpr(e) => self.collect_block(e), 216 ast::Expr::BlockExpr(e) => self.collect_block(e),
186 ast::Expr::LoopExpr(e) => { 217 ast::Expr::LoopExpr(e) => {
187 let body = self.collect_block_opt(e.loop_body()); 218 let body = self.collect_block_opt(e.loop_body());
@@ -237,7 +268,8 @@ impl ExprCollector<'_> {
237 Vec::new() 268 Vec::new()
238 }; 269 };
239 let method_name = e.name_ref().map(|nr| nr.as_name()).unwrap_or_else(Name::missing); 270 let method_name = e.name_ref().map(|nr| nr.as_name()).unwrap_or_else(Name::missing);
240 let generic_args = e.type_arg_list().and_then(GenericArgs::from_ast); 271 let generic_args =
272 e.type_arg_list().and_then(|it| GenericArgs::from_ast(&self.ctx, it));
241 self.alloc_expr( 273 self.alloc_expr(
242 Expr::MethodCall { receiver, method_name, args, generic_args }, 274 Expr::MethodCall { receiver, method_name, args, generic_args },
243 syntax_ptr, 275 syntax_ptr,
@@ -343,7 +375,7 @@ impl ExprCollector<'_> {
343 } 375 }
344 ast::Expr::CastExpr(e) => { 376 ast::Expr::CastExpr(e) => {
345 let expr = self.collect_expr_opt(e.expr()); 377 let expr = self.collect_expr_opt(e.expr());
346 let type_ref = TypeRef::from_ast_opt(e.type_ref()); 378 let type_ref = TypeRef::from_ast_opt(&self.ctx, e.type_ref());
347 self.alloc_expr(Expr::Cast { expr, type_ref }, syntax_ptr) 379 self.alloc_expr(Expr::Cast { expr, type_ref }, syntax_ptr)
348 } 380 }
349 ast::Expr::RefExpr(e) => { 381 ast::Expr::RefExpr(e) => {
@@ -365,12 +397,16 @@ impl ExprCollector<'_> {
365 if let Some(pl) = e.param_list() { 397 if let Some(pl) = e.param_list() {
366 for param in pl.params() { 398 for param in pl.params() {
367 let pat = self.collect_pat_opt(param.pat()); 399 let pat = self.collect_pat_opt(param.pat());
368 let type_ref = param.ascribed_type().map(TypeRef::from_ast); 400 let type_ref =
401 param.ascribed_type().map(|it| TypeRef::from_ast(&self.ctx, it));
369 args.push(pat); 402 args.push(pat);
370 arg_types.push(type_ref); 403 arg_types.push(type_ref);
371 } 404 }
372 } 405 }
373 let ret_type = e.ret_type().and_then(|r| r.type_ref()).map(TypeRef::from_ast); 406 let ret_type = e
407 .ret_type()
408 .and_then(|r| r.type_ref())
409 .map(|it| TypeRef::from_ast(&self.ctx, it));
374 let body = self.collect_expr_opt(e.body()); 410 let body = self.collect_expr_opt(e.body());
375 self.alloc_expr(Expr::Lambda { args, arg_types, ret_type, body }, syntax_ptr) 411 self.alloc_expr(Expr::Lambda { args, arg_types, ret_type, body }, syntax_ptr)
376 } 412 }
@@ -464,19 +500,15 @@ impl ExprCollector<'_> {
464 } 500 }
465 } 501 }
466 502
467 fn collect_block(&mut self, expr: ast::BlockExpr) -> ExprId { 503 fn collect_block(&mut self, block: ast::BlockExpr) -> ExprId {
468 let syntax_node_ptr = AstPtr::new(&expr.clone().into()); 504 let syntax_node_ptr = AstPtr::new(&block.clone().into());
469 let block = match expr.block() {
470 Some(block) => block,
471 None => return self.alloc_expr(Expr::Missing, syntax_node_ptr),
472 };
473 self.collect_block_items(&block); 505 self.collect_block_items(&block);
474 let statements = block 506 let statements = block
475 .statements() 507 .statements()
476 .map(|s| match s { 508 .map(|s| match s {
477 ast::Stmt::LetStmt(stmt) => { 509 ast::Stmt::LetStmt(stmt) => {
478 let pat = self.collect_pat_opt(stmt.pat()); 510 let pat = self.collect_pat_opt(stmt.pat());
479 let type_ref = stmt.ascribed_type().map(TypeRef::from_ast); 511 let type_ref = stmt.ascribed_type().map(|it| TypeRef::from_ast(&self.ctx, it));
480 let initializer = stmt.initializer().map(|e| self.collect_expr(e)); 512 let initializer = stmt.initializer().map(|e| self.collect_expr(e));
481 Statement::Let { pat, type_ref, initializer } 513 Statement::Let { pat, type_ref, initializer }
482 } 514 }
@@ -487,7 +519,7 @@ impl ExprCollector<'_> {
487 self.alloc_expr(Expr::Block { statements, tail }, syntax_node_ptr) 519 self.alloc_expr(Expr::Block { statements, tail }, syntax_node_ptr)
488 } 520 }
489 521
490 fn collect_block_items(&mut self, block: &ast::Block) { 522 fn collect_block_items(&mut self, block: &ast::BlockExpr) {
491 let container = ContainerId::DefWithBodyId(self.def); 523 let container = ContainerId::DefWithBodyId(self.def);
492 for item in block.items() { 524 for item in block.items() {
493 let (def, name): (ModuleDefId, Option<ast::Name>) = match item { 525 let (def, name): (ModuleDefId, Option<ast::Name>) = match item {
diff --git a/crates/ra_hir_def/src/data.rs b/crates/ra_hir_def/src/data.rs
index ccb682f9a..7a2067e49 100644
--- a/crates/ra_hir_def/src/data.rs
+++ b/crates/ra_hir_def/src/data.rs
@@ -15,6 +15,7 @@ use ra_syntax::ast::{
15 15
16use crate::{ 16use crate::{
17 attr::Attrs, 17 attr::Attrs,
18 body::LowerCtx,
18 db::DefDatabase, 19 db::DefDatabase,
19 path::{path, AssociatedTypeBinding, GenericArgs, Path}, 20 path::{path, AssociatedTypeBinding, GenericArgs, Path},
20 src::HasSource, 21 src::HasSource,
@@ -40,13 +41,14 @@ impl FunctionData {
40 pub(crate) fn fn_data_query(db: &impl DefDatabase, func: FunctionId) -> Arc<FunctionData> { 41 pub(crate) fn fn_data_query(db: &impl DefDatabase, func: FunctionId) -> Arc<FunctionData> {
41 let loc = func.lookup(db); 42 let loc = func.lookup(db);
42 let src = loc.source(db); 43 let src = loc.source(db);
44 let ctx = LowerCtx::new(db, src.file_id);
43 let name = src.value.name().map(|n| n.as_name()).unwrap_or_else(Name::missing); 45 let name = src.value.name().map(|n| n.as_name()).unwrap_or_else(Name::missing);
44 let mut params = Vec::new(); 46 let mut params = Vec::new();
45 let mut has_self_param = false; 47 let mut has_self_param = false;
46 if let Some(param_list) = src.value.param_list() { 48 if let Some(param_list) = src.value.param_list() {
47 if let Some(self_param) = param_list.self_param() { 49 if let Some(self_param) = param_list.self_param() {
48 let self_type = if let Some(type_ref) = self_param.ascribed_type() { 50 let self_type = if let Some(type_ref) = self_param.ascribed_type() {
49 TypeRef::from_ast(type_ref) 51 TypeRef::from_ast(&ctx, type_ref)
50 } else { 52 } else {
51 let self_type = TypeRef::Path(name![Self].into()); 53 let self_type = TypeRef::Path(name![Self].into());
52 match self_param.kind() { 54 match self_param.kind() {
@@ -63,14 +65,14 @@ impl FunctionData {
63 has_self_param = true; 65 has_self_param = true;
64 } 66 }
65 for param in param_list.params() { 67 for param in param_list.params() {
66 let type_ref = TypeRef::from_ast_opt(param.ascribed_type()); 68 let type_ref = TypeRef::from_ast_opt(&ctx, param.ascribed_type());
67 params.push(type_ref); 69 params.push(type_ref);
68 } 70 }
69 } 71 }
70 let attrs = Attrs::new(&src.value, &Hygiene::new(db.upcast(), src.file_id)); 72 let attrs = Attrs::new(&src.value, &Hygiene::new(db.upcast(), src.file_id));
71 73
72 let ret_type = if let Some(type_ref) = src.value.ret_type().and_then(|rt| rt.type_ref()) { 74 let ret_type = if let Some(type_ref) = src.value.ret_type().and_then(|rt| rt.type_ref()) {
73 TypeRef::from_ast(type_ref) 75 TypeRef::from_ast(&ctx, type_ref)
74 } else { 76 } else {
75 TypeRef::unit() 77 TypeRef::unit()
76 }; 78 };
@@ -122,7 +124,8 @@ impl TypeAliasData {
122 let loc = typ.lookup(db); 124 let loc = typ.lookup(db);
123 let node = loc.source(db); 125 let node = loc.source(db);
124 let name = node.value.name().map_or_else(Name::missing, |n| n.as_name()); 126 let name = node.value.name().map_or_else(Name::missing, |n| n.as_name());
125 let type_ref = node.value.type_ref().map(TypeRef::from_ast); 127 let lower_ctx = LowerCtx::new(db, node.file_id);
128 let type_ref = node.value.type_ref().map(|it| TypeRef::from_ast(&lower_ctx, it));
126 let vis_default = RawVisibility::default_for_container(loc.container); 129 let vis_default = RawVisibility::default_for_container(loc.container);
127 let visibility = RawVisibility::from_ast_with_default( 130 let visibility = RawVisibility::from_ast_with_default(
128 db, 131 db,
@@ -130,7 +133,7 @@ impl TypeAliasData {
130 node.as_ref().map(|n| n.visibility()), 133 node.as_ref().map(|n| n.visibility()),
131 ); 134 );
132 let bounds = if let Some(bound_list) = node.value.type_bound_list() { 135 let bounds = if let Some(bound_list) = node.value.type_bound_list() {
133 bound_list.bounds().map(TypeBound::from_ast).collect() 136 bound_list.bounds().map(|it| TypeBound::from_ast(&lower_ctx, it)).collect()
134 } else { 137 } else {
135 Vec::new() 138 Vec::new()
136 }; 139 };
@@ -223,9 +226,10 @@ impl ImplData {
223 let _p = profile("impl_data_query"); 226 let _p = profile("impl_data_query");
224 let impl_loc = id.lookup(db); 227 let impl_loc = id.lookup(db);
225 let src = impl_loc.source(db); 228 let src = impl_loc.source(db);
229 let lower_ctx = LowerCtx::new(db, src.file_id);
226 230
227 let target_trait = src.value.target_trait().map(TypeRef::from_ast); 231 let target_trait = src.value.target_trait().map(|it| TypeRef::from_ast(&lower_ctx, it));
228 let target_type = TypeRef::from_ast_opt(src.value.target_type()); 232 let target_type = TypeRef::from_ast_opt(&lower_ctx, src.value.target_type());
229 let is_negative = src.value.excl_token().is_some(); 233 let is_negative = src.value.excl_token().is_some();
230 let module_id = impl_loc.container.module(db); 234 let module_id = impl_loc.container.module(db);
231 235
@@ -279,8 +283,9 @@ impl ConstData {
279 vis_default: RawVisibility, 283 vis_default: RawVisibility,
280 node: InFile<N>, 284 node: InFile<N>,
281 ) -> ConstData { 285 ) -> ConstData {
286 let ctx = LowerCtx::new(db, node.file_id);
282 let name = node.value.name().map(|n| n.as_name()); 287 let name = node.value.name().map(|n| n.as_name());
283 let type_ref = TypeRef::from_ast_opt(node.value.ascribed_type()); 288 let type_ref = TypeRef::from_ast_opt(&ctx, node.value.ascribed_type());
284 let visibility = 289 let visibility =
285 RawVisibility::from_ast_with_default(db, vis_default, node.map(|n| n.visibility())); 290 RawVisibility::from_ast_with_default(db, vis_default, node.map(|n| n.visibility()));
286 ConstData { name, type_ref, visibility } 291 ConstData { name, type_ref, visibility }
diff --git a/crates/ra_hir_def/src/expr.rs b/crates/ra_hir_def/src/expr.rs
index aad12e123..a0cdad529 100644
--- a/crates/ra_hir_def/src/expr.rs
+++ b/crates/ra_hir_def/src/expr.rs
@@ -101,6 +101,9 @@ pub enum Expr {
101 Try { 101 Try {
102 expr: ExprId, 102 expr: ExprId,
103 }, 103 },
104 TryBlock {
105 body: ExprId,
106 },
104 Cast { 107 Cast {
105 expr: ExprId, 108 expr: ExprId,
106 type_ref: TypeRef, 109 type_ref: TypeRef,
@@ -236,6 +239,7 @@ impl Expr {
236 f(*expr); 239 f(*expr);
237 } 240 }
238 } 241 }
242 Expr::TryBlock { body } => f(*body),
239 Expr::Loop { body } => f(*body), 243 Expr::Loop { body } => f(*body),
240 Expr::While { condition, body } => { 244 Expr::While { condition, body } => {
241 f(*condition); 245 f(*condition);
diff --git a/crates/ra_hir_def/src/generics.rs b/crates/ra_hir_def/src/generics.rs
index d850244c4..09a5241f7 100644
--- a/crates/ra_hir_def/src/generics.rs
+++ b/crates/ra_hir_def/src/generics.rs
@@ -15,6 +15,7 @@ use ra_prof::profile;
15use ra_syntax::ast::{self, NameOwner, TypeBoundsOwner, TypeParamsOwner}; 15use ra_syntax::ast::{self, NameOwner, TypeBoundsOwner, TypeParamsOwner};
16 16
17use crate::{ 17use crate::{
18 body::LowerCtx,
18 child_by_source::ChildBySource, 19 child_by_source::ChildBySource,
19 db::DefDatabase, 20 db::DefDatabase,
20 dyn_map::DynMap, 21 dyn_map::DynMap,
@@ -80,11 +81,13 @@ impl GenericParams {
80 fn new(db: &dyn DefDatabase, def: GenericDefId) -> (GenericParams, InFile<SourceMap>) { 81 fn new(db: &dyn DefDatabase, def: GenericDefId) -> (GenericParams, InFile<SourceMap>) {
81 let mut generics = GenericParams { types: Arena::default(), where_predicates: Vec::new() }; 82 let mut generics = GenericParams { types: Arena::default(), where_predicates: Vec::new() };
82 let mut sm = ArenaMap::default(); 83 let mut sm = ArenaMap::default();
84
83 // FIXME: add `: Sized` bound for everything except for `Self` in traits 85 // FIXME: add `: Sized` bound for everything except for `Self` in traits
84 let file_id = match def { 86 let file_id = match def {
85 GenericDefId::FunctionId(it) => { 87 GenericDefId::FunctionId(it) => {
86 let src = it.lookup(db).source(db); 88 let src = it.lookup(db).source(db);
87 generics.fill(&mut sm, &src.value); 89 let lower_ctx = LowerCtx::new(db, src.file_id);
90 generics.fill(&lower_ctx, &mut sm, &src.value);
88 // lower `impl Trait` in arguments 91 // lower `impl Trait` in arguments
89 let data = db.function_data(it); 92 let data = db.function_data(it);
90 for param in &data.params { 93 for param in &data.params {
@@ -94,21 +97,25 @@ impl GenericParams {
94 } 97 }
95 GenericDefId::AdtId(AdtId::StructId(it)) => { 98 GenericDefId::AdtId(AdtId::StructId(it)) => {
96 let src = it.lookup(db).source(db); 99 let src = it.lookup(db).source(db);
97 generics.fill(&mut sm, &src.value); 100 let lower_ctx = LowerCtx::new(db, src.file_id);
101 generics.fill(&lower_ctx, &mut sm, &src.value);
98 src.file_id 102 src.file_id
99 } 103 }
100 GenericDefId::AdtId(AdtId::UnionId(it)) => { 104 GenericDefId::AdtId(AdtId::UnionId(it)) => {
101 let src = it.lookup(db).source(db); 105 let src = it.lookup(db).source(db);
102 generics.fill(&mut sm, &src.value); 106 let lower_ctx = LowerCtx::new(db, src.file_id);
107 generics.fill(&lower_ctx, &mut sm, &src.value);
103 src.file_id 108 src.file_id
104 } 109 }
105 GenericDefId::AdtId(AdtId::EnumId(it)) => { 110 GenericDefId::AdtId(AdtId::EnumId(it)) => {
106 let src = it.lookup(db).source(db); 111 let src = it.lookup(db).source(db);
107 generics.fill(&mut sm, &src.value); 112 let lower_ctx = LowerCtx::new(db, src.file_id);
113 generics.fill(&lower_ctx, &mut sm, &src.value);
108 src.file_id 114 src.file_id
109 } 115 }
110 GenericDefId::TraitId(it) => { 116 GenericDefId::TraitId(it) => {
111 let src = it.lookup(db).source(db); 117 let src = it.lookup(db).source(db);
118 let lower_ctx = LowerCtx::new(db, src.file_id);
112 119
113 // traits get the Self type as an implicit first type parameter 120 // traits get the Self type as an implicit first type parameter
114 let self_param_id = generics.types.alloc(TypeParamData { 121 let self_param_id = generics.types.alloc(TypeParamData {
@@ -120,14 +127,16 @@ impl GenericParams {
120 // add super traits as bounds on Self 127 // add super traits as bounds on Self
121 // i.e., trait Foo: Bar is equivalent to trait Foo where Self: Bar 128 // i.e., trait Foo: Bar is equivalent to trait Foo where Self: Bar
122 let self_param = TypeRef::Path(name![Self].into()); 129 let self_param = TypeRef::Path(name![Self].into());
123 generics.fill_bounds(&src.value, self_param); 130 generics.fill_bounds(&lower_ctx, &src.value, self_param);
124 131
125 generics.fill(&mut sm, &src.value); 132 generics.fill(&lower_ctx, &mut sm, &src.value);
126 src.file_id 133 src.file_id
127 } 134 }
128 GenericDefId::TypeAliasId(it) => { 135 GenericDefId::TypeAliasId(it) => {
129 let src = it.lookup(db).source(db); 136 let src = it.lookup(db).source(db);
130 generics.fill(&mut sm, &src.value); 137 let lower_ctx = LowerCtx::new(db, src.file_id);
138
139 generics.fill(&lower_ctx, &mut sm, &src.value);
131 src.file_id 140 src.file_id
132 } 141 }
133 // Note that we don't add `Self` here: in `impl`s, `Self` is not a 142 // Note that we don't add `Self` here: in `impl`s, `Self` is not a
@@ -135,7 +144,9 @@ impl GenericParams {
135 // type, so this is handled by the resolver. 144 // type, so this is handled by the resolver.
136 GenericDefId::ImplId(it) => { 145 GenericDefId::ImplId(it) => {
137 let src = it.lookup(db).source(db); 146 let src = it.lookup(db).source(db);
138 generics.fill(&mut sm, &src.value); 147 let lower_ctx = LowerCtx::new(db, src.file_id);
148
149 generics.fill(&lower_ctx, &mut sm, &src.value);
139 src.file_id 150 src.file_id
140 } 151 }
141 // We won't be using this ID anyway 152 // We won't be using this ID anyway
@@ -145,28 +156,38 @@ impl GenericParams {
145 (generics, InFile::new(file_id, sm)) 156 (generics, InFile::new(file_id, sm))
146 } 157 }
147 158
148 fn fill(&mut self, sm: &mut SourceMap, node: &dyn TypeParamsOwner) { 159 fn fill(&mut self, lower_ctx: &LowerCtx, sm: &mut SourceMap, node: &dyn TypeParamsOwner) {
149 if let Some(params) = node.type_param_list() { 160 if let Some(params) = node.type_param_list() {
150 self.fill_params(sm, params) 161 self.fill_params(lower_ctx, sm, params)
151 } 162 }
152 if let Some(where_clause) = node.where_clause() { 163 if let Some(where_clause) = node.where_clause() {
153 self.fill_where_predicates(where_clause); 164 self.fill_where_predicates(lower_ctx, where_clause);
154 } 165 }
155 } 166 }
156 167
157 fn fill_bounds(&mut self, node: &dyn ast::TypeBoundsOwner, type_ref: TypeRef) { 168 fn fill_bounds(
169 &mut self,
170 lower_ctx: &LowerCtx,
171 node: &dyn ast::TypeBoundsOwner,
172 type_ref: TypeRef,
173 ) {
158 for bound in 174 for bound in
159 node.type_bound_list().iter().flat_map(|type_bound_list| type_bound_list.bounds()) 175 node.type_bound_list().iter().flat_map(|type_bound_list| type_bound_list.bounds())
160 { 176 {
161 self.add_where_predicate_from_bound(bound, type_ref.clone()); 177 self.add_where_predicate_from_bound(lower_ctx, bound, type_ref.clone());
162 } 178 }
163 } 179 }
164 180
165 fn fill_params(&mut self, sm: &mut SourceMap, params: ast::TypeParamList) { 181 fn fill_params(
182 &mut self,
183 lower_ctx: &LowerCtx,
184 sm: &mut SourceMap,
185 params: ast::TypeParamList,
186 ) {
166 for type_param in params.type_params() { 187 for type_param in params.type_params() {
167 let name = type_param.name().map_or_else(Name::missing, |it| it.as_name()); 188 let name = type_param.name().map_or_else(Name::missing, |it| it.as_name());
168 // FIXME: Use `Path::from_src` 189 // FIXME: Use `Path::from_src`
169 let default = type_param.default_type().map(TypeRef::from_ast); 190 let default = type_param.default_type().map(|it| TypeRef::from_ast(lower_ctx, it));
170 let param = TypeParamData { 191 let param = TypeParamData {
171 name: Some(name.clone()), 192 name: Some(name.clone()),
172 default, 193 default,
@@ -176,29 +197,34 @@ impl GenericParams {
176 sm.insert(param_id, Either::Right(type_param.clone())); 197 sm.insert(param_id, Either::Right(type_param.clone()));
177 198
178 let type_ref = TypeRef::Path(name.into()); 199 let type_ref = TypeRef::Path(name.into());
179 self.fill_bounds(&type_param, type_ref); 200 self.fill_bounds(&lower_ctx, &type_param, type_ref);
180 } 201 }
181 } 202 }
182 203
183 fn fill_where_predicates(&mut self, where_clause: ast::WhereClause) { 204 fn fill_where_predicates(&mut self, lower_ctx: &LowerCtx, where_clause: ast::WhereClause) {
184 for pred in where_clause.predicates() { 205 for pred in where_clause.predicates() {
185 let type_ref = match pred.type_ref() { 206 let type_ref = match pred.type_ref() {
186 Some(type_ref) => type_ref, 207 Some(type_ref) => type_ref,
187 None => continue, 208 None => continue,
188 }; 209 };
189 let type_ref = TypeRef::from_ast(type_ref); 210 let type_ref = TypeRef::from_ast(lower_ctx, type_ref);
190 for bound in pred.type_bound_list().iter().flat_map(|l| l.bounds()) { 211 for bound in pred.type_bound_list().iter().flat_map(|l| l.bounds()) {
191 self.add_where_predicate_from_bound(bound, type_ref.clone()); 212 self.add_where_predicate_from_bound(lower_ctx, bound, type_ref.clone());
192 } 213 }
193 } 214 }
194 } 215 }
195 216
196 fn add_where_predicate_from_bound(&mut self, bound: ast::TypeBound, type_ref: TypeRef) { 217 fn add_where_predicate_from_bound(
218 &mut self,
219 lower_ctx: &LowerCtx,
220 bound: ast::TypeBound,
221 type_ref: TypeRef,
222 ) {
197 if bound.question_token().is_some() { 223 if bound.question_token().is_some() {
198 // FIXME: remove this bound 224 // FIXME: remove this bound
199 return; 225 return;
200 } 226 }
201 let bound = TypeBound::from_ast(bound); 227 let bound = TypeBound::from_ast(lower_ctx, bound);
202 self.where_predicates 228 self.where_predicates
203 .push(WherePredicate { target: WherePredicateTarget::TypeRef(type_ref), bound }); 229 .push(WherePredicate { target: WherePredicateTarget::TypeRef(type_ref), bound });
204 } 230 }
diff --git a/crates/ra_hir_def/src/path.rs b/crates/ra_hir_def/src/path.rs
index 162b3c8c7..e84efe2ab 100644
--- a/crates/ra_hir_def/src/path.rs
+++ b/crates/ra_hir_def/src/path.rs
@@ -7,6 +7,7 @@ use std::{
7 sync::Arc, 7 sync::Arc,
8}; 8};
9 9
10use crate::body::LowerCtx;
10use hir_expand::{ 11use hir_expand::{
11 hygiene::Hygiene, 12 hygiene::Hygiene,
12 name::{AsName, Name}, 13 name::{AsName, Name},
@@ -244,8 +245,8 @@ impl<'a> PathSegments<'a> {
244} 245}
245 246
246impl GenericArgs { 247impl GenericArgs {
247 pub(crate) fn from_ast(node: ast::TypeArgList) -> Option<GenericArgs> { 248 pub(crate) fn from_ast(lower_ctx: &LowerCtx, node: ast::TypeArgList) -> Option<GenericArgs> {
248 lower::lower_generic_args(node) 249 lower::lower_generic_args(lower_ctx, node)
249 } 250 }
250 251
251 pub(crate) fn empty() -> GenericArgs { 252 pub(crate) fn empty() -> GenericArgs {
diff --git a/crates/ra_hir_def/src/path/lower.rs b/crates/ra_hir_def/src/path/lower.rs
index 9ec2e0dcd..e3d237a0a 100644
--- a/crates/ra_hir_def/src/path/lower.rs
+++ b/crates/ra_hir_def/src/path/lower.rs
@@ -13,6 +13,7 @@ use ra_syntax::ast::{self, AstNode, TypeAscriptionOwner, TypeBoundsOwner};
13 13
14use super::AssociatedTypeBinding; 14use super::AssociatedTypeBinding;
15use crate::{ 15use crate::{
16 body::LowerCtx,
16 path::{GenericArg, GenericArgs, ModPath, Path, PathKind}, 17 path::{GenericArg, GenericArgs, ModPath, Path, PathKind},
17 type_ref::{TypeBound, TypeRef}, 18 type_ref::{TypeBound, TypeRef},
18}; 19};
@@ -26,6 +27,7 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path>
26 let mut type_anchor = None; 27 let mut type_anchor = None;
27 let mut segments = Vec::new(); 28 let mut segments = Vec::new();
28 let mut generic_args = Vec::new(); 29 let mut generic_args = Vec::new();
30 let ctx = LowerCtx::with_hygiene(hygiene);
29 loop { 31 loop {
30 let segment = path.segment()?; 32 let segment = path.segment()?;
31 33
@@ -40,9 +42,10 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path>
40 Either::Left(name) => { 42 Either::Left(name) => {
41 let args = segment 43 let args = segment
42 .type_arg_list() 44 .type_arg_list()
43 .and_then(lower_generic_args) 45 .and_then(|it| lower_generic_args(&ctx, it))
44 .or_else(|| { 46 .or_else(|| {
45 lower_generic_args_from_fn_path( 47 lower_generic_args_from_fn_path(
48 &ctx,
46 segment.param_list(), 49 segment.param_list(),
47 segment.ret_type(), 50 segment.ret_type(),
48 ) 51 )
@@ -60,7 +63,7 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path>
60 ast::PathSegmentKind::Type { type_ref, trait_ref } => { 63 ast::PathSegmentKind::Type { type_ref, trait_ref } => {
61 assert!(path.qualifier().is_none()); // this can only occur at the first segment 64 assert!(path.qualifier().is_none()); // this can only occur at the first segment
62 65
63 let self_type = TypeRef::from_ast(type_ref?); 66 let self_type = TypeRef::from_ast(&ctx, type_ref?);
64 67
65 match trait_ref { 68 match trait_ref {
66 // <T>::foo 69 // <T>::foo
@@ -128,10 +131,13 @@ pub(super) fn lower_path(mut path: ast::Path, hygiene: &Hygiene) -> Option<Path>
128 } 131 }
129} 132}
130 133
131pub(super) fn lower_generic_args(node: ast::TypeArgList) -> Option<GenericArgs> { 134pub(super) fn lower_generic_args(
135 lower_ctx: &LowerCtx,
136 node: ast::TypeArgList,
137) -> Option<GenericArgs> {
132 let mut args = Vec::new(); 138 let mut args = Vec::new();
133 for type_arg in node.type_args() { 139 for type_arg in node.type_args() {
134 let type_ref = TypeRef::from_ast_opt(type_arg.type_ref()); 140 let type_ref = TypeRef::from_ast_opt(lower_ctx, type_arg.type_ref());
135 args.push(GenericArg::Type(type_ref)); 141 args.push(GenericArg::Type(type_ref));
136 } 142 }
137 // lifetimes ignored for now 143 // lifetimes ignored for now
@@ -140,9 +146,9 @@ pub(super) fn lower_generic_args(node: ast::TypeArgList) -> Option<GenericArgs>
140 let assoc_type_arg: ast::AssocTypeArg = assoc_type_arg; 146 let assoc_type_arg: ast::AssocTypeArg = assoc_type_arg;
141 if let Some(name_ref) = assoc_type_arg.name_ref() { 147 if let Some(name_ref) = assoc_type_arg.name_ref() {
142 let name = name_ref.as_name(); 148 let name = name_ref.as_name();
143 let type_ref = assoc_type_arg.type_ref().map(TypeRef::from_ast); 149 let type_ref = assoc_type_arg.type_ref().map(|it| TypeRef::from_ast(lower_ctx, it));
144 let bounds = if let Some(l) = assoc_type_arg.type_bound_list() { 150 let bounds = if let Some(l) = assoc_type_arg.type_bound_list() {
145 l.bounds().map(TypeBound::from_ast).collect() 151 l.bounds().map(|it| TypeBound::from_ast(lower_ctx, it)).collect()
146 } else { 152 } else {
147 Vec::new() 153 Vec::new()
148 }; 154 };
@@ -159,6 +165,7 @@ pub(super) fn lower_generic_args(node: ast::TypeArgList) -> Option<GenericArgs>
159/// Collect `GenericArgs` from the parts of a fn-like path, i.e. `Fn(X, Y) 165/// Collect `GenericArgs` from the parts of a fn-like path, i.e. `Fn(X, Y)
160/// -> Z` (which desugars to `Fn<(X, Y), Output=Z>`). 166/// -> Z` (which desugars to `Fn<(X, Y), Output=Z>`).
161fn lower_generic_args_from_fn_path( 167fn lower_generic_args_from_fn_path(
168 ctx: &LowerCtx,
162 params: Option<ast::ParamList>, 169 params: Option<ast::ParamList>,
163 ret_type: Option<ast::RetType>, 170 ret_type: Option<ast::RetType>,
164) -> Option<GenericArgs> { 171) -> Option<GenericArgs> {
@@ -167,14 +174,14 @@ fn lower_generic_args_from_fn_path(
167 if let Some(params) = params { 174 if let Some(params) = params {
168 let mut param_types = Vec::new(); 175 let mut param_types = Vec::new();
169 for param in params.params() { 176 for param in params.params() {
170 let type_ref = TypeRef::from_ast_opt(param.ascribed_type()); 177 let type_ref = TypeRef::from_ast_opt(&ctx, param.ascribed_type());
171 param_types.push(type_ref); 178 param_types.push(type_ref);
172 } 179 }
173 let arg = GenericArg::Type(TypeRef::Tuple(param_types)); 180 let arg = GenericArg::Type(TypeRef::Tuple(param_types));
174 args.push(arg); 181 args.push(arg);
175 } 182 }
176 if let Some(ret_type) = ret_type { 183 if let Some(ret_type) = ret_type {
177 let type_ref = TypeRef::from_ast_opt(ret_type.type_ref()); 184 let type_ref = TypeRef::from_ast_opt(&ctx, ret_type.type_ref());
178 bindings.push(AssociatedTypeBinding { 185 bindings.push(AssociatedTypeBinding {
179 name: name![Output], 186 name: name![Output],
180 type_ref: Some(type_ref), 187 type_ref: Some(type_ref),
diff --git a/crates/ra_hir_def/src/type_ref.rs b/crates/ra_hir_def/src/type_ref.rs
index f308c6bdf..5bdad9efd 100644
--- a/crates/ra_hir_def/src/type_ref.rs
+++ b/crates/ra_hir_def/src/type_ref.rs
@@ -3,7 +3,7 @@
3 3
4use ra_syntax::ast::{self, TypeAscriptionOwner, TypeBoundsOwner}; 4use ra_syntax::ast::{self, TypeAscriptionOwner, TypeBoundsOwner};
5 5
6use crate::path::Path; 6use crate::{body::LowerCtx, path::Path};
7 7
8#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] 8#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
9pub enum Mutability { 9pub enum Mutability {
@@ -64,30 +64,34 @@ pub enum TypeBound {
64 64
65impl TypeRef { 65impl TypeRef {
66 /// Converts an `ast::TypeRef` to a `hir::TypeRef`. 66 /// Converts an `ast::TypeRef` to a `hir::TypeRef`.
67 pub(crate) fn from_ast(node: ast::TypeRef) -> Self { 67 pub(crate) fn from_ast(ctx: &LowerCtx, node: ast::TypeRef) -> Self {
68 match node { 68 match node {
69 ast::TypeRef::ParenType(inner) => TypeRef::from_ast_opt(inner.type_ref()), 69 ast::TypeRef::ParenType(inner) => TypeRef::from_ast_opt(&ctx, inner.type_ref()),
70 ast::TypeRef::TupleType(inner) => { 70 ast::TypeRef::TupleType(inner) => {
71 TypeRef::Tuple(inner.fields().map(TypeRef::from_ast).collect()) 71 TypeRef::Tuple(inner.fields().map(|it| TypeRef::from_ast(ctx, it)).collect())
72 } 72 }
73 ast::TypeRef::NeverType(..) => TypeRef::Never, 73 ast::TypeRef::NeverType(..) => TypeRef::Never,
74 ast::TypeRef::PathType(inner) => { 74 ast::TypeRef::PathType(inner) => {
75 // FIXME: Use `Path::from_src` 75 // FIXME: Use `Path::from_src`
76 inner.path().and_then(Path::from_ast).map(TypeRef::Path).unwrap_or(TypeRef::Error) 76 inner
77 .path()
78 .and_then(|it| ctx.lower_path(it))
79 .map(TypeRef::Path)
80 .unwrap_or(TypeRef::Error)
77 } 81 }
78 ast::TypeRef::PointerType(inner) => { 82 ast::TypeRef::PointerType(inner) => {
79 let inner_ty = TypeRef::from_ast_opt(inner.type_ref()); 83 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.type_ref());
80 let mutability = Mutability::from_mutable(inner.mut_token().is_some()); 84 let mutability = Mutability::from_mutable(inner.mut_token().is_some());
81 TypeRef::RawPtr(Box::new(inner_ty), mutability) 85 TypeRef::RawPtr(Box::new(inner_ty), mutability)
82 } 86 }
83 ast::TypeRef::ArrayType(inner) => { 87 ast::TypeRef::ArrayType(inner) => {
84 TypeRef::Array(Box::new(TypeRef::from_ast_opt(inner.type_ref()))) 88 TypeRef::Array(Box::new(TypeRef::from_ast_opt(&ctx, inner.type_ref())))
85 } 89 }
86 ast::TypeRef::SliceType(inner) => { 90 ast::TypeRef::SliceType(inner) => {
87 TypeRef::Slice(Box::new(TypeRef::from_ast_opt(inner.type_ref()))) 91 TypeRef::Slice(Box::new(TypeRef::from_ast_opt(&ctx, inner.type_ref())))
88 } 92 }
89 ast::TypeRef::ReferenceType(inner) => { 93 ast::TypeRef::ReferenceType(inner) => {
90 let inner_ty = TypeRef::from_ast_opt(inner.type_ref()); 94 let inner_ty = TypeRef::from_ast_opt(&ctx, inner.type_ref());
91 let mutability = Mutability::from_mutable(inner.mut_token().is_some()); 95 let mutability = Mutability::from_mutable(inner.mut_token().is_some());
92 TypeRef::Reference(Box::new(inner_ty), mutability) 96 TypeRef::Reference(Box::new(inner_ty), mutability)
93 } 97 }
@@ -96,10 +100,13 @@ impl TypeRef {
96 let ret_ty = inner 100 let ret_ty = inner
97 .ret_type() 101 .ret_type()
98 .and_then(|rt| rt.type_ref()) 102 .and_then(|rt| rt.type_ref())
99 .map(TypeRef::from_ast) 103 .map(|it| TypeRef::from_ast(ctx, it))
100 .unwrap_or_else(|| TypeRef::Tuple(Vec::new())); 104 .unwrap_or_else(|| TypeRef::Tuple(Vec::new()));
101 let mut params = if let Some(pl) = inner.param_list() { 105 let mut params = if let Some(pl) = inner.param_list() {
102 pl.params().map(|p| p.ascribed_type()).map(TypeRef::from_ast_opt).collect() 106 pl.params()
107 .map(|p| p.ascribed_type())
108 .map(|it| TypeRef::from_ast_opt(&ctx, it))
109 .collect()
103 } else { 110 } else {
104 Vec::new() 111 Vec::new()
105 }; 112 };
@@ -107,19 +114,19 @@ impl TypeRef {
107 TypeRef::Fn(params) 114 TypeRef::Fn(params)
108 } 115 }
109 // for types are close enough for our purposes to the inner type for now... 116 // for types are close enough for our purposes to the inner type for now...
110 ast::TypeRef::ForType(inner) => TypeRef::from_ast_opt(inner.type_ref()), 117 ast::TypeRef::ForType(inner) => TypeRef::from_ast_opt(&ctx, inner.type_ref()),
111 ast::TypeRef::ImplTraitType(inner) => { 118 ast::TypeRef::ImplTraitType(inner) => {
112 TypeRef::ImplTrait(type_bounds_from_ast(inner.type_bound_list())) 119 TypeRef::ImplTrait(type_bounds_from_ast(ctx, inner.type_bound_list()))
113 } 120 }
114 ast::TypeRef::DynTraitType(inner) => { 121 ast::TypeRef::DynTraitType(inner) => {
115 TypeRef::DynTrait(type_bounds_from_ast(inner.type_bound_list())) 122 TypeRef::DynTrait(type_bounds_from_ast(ctx, inner.type_bound_list()))
116 } 123 }
117 } 124 }
118 } 125 }
119 126
120 pub(crate) fn from_ast_opt(node: Option<ast::TypeRef>) -> Self { 127 pub(crate) fn from_ast_opt(ctx: &LowerCtx, node: Option<ast::TypeRef>) -> Self {
121 if let Some(node) = node { 128 if let Some(node) = node {
122 TypeRef::from_ast(node) 129 TypeRef::from_ast(ctx, node)
123 } else { 130 } else {
124 TypeRef::Error 131 TypeRef::Error
125 } 132 }
@@ -180,24 +187,27 @@ impl TypeRef {
180 } 187 }
181} 188}
182 189
183pub(crate) fn type_bounds_from_ast(type_bounds_opt: Option<ast::TypeBoundList>) -> Vec<TypeBound> { 190pub(crate) fn type_bounds_from_ast(
191 lower_ctx: &LowerCtx,
192 type_bounds_opt: Option<ast::TypeBoundList>,
193) -> Vec<TypeBound> {
184 if let Some(type_bounds) = type_bounds_opt { 194 if let Some(type_bounds) = type_bounds_opt {
185 type_bounds.bounds().map(TypeBound::from_ast).collect() 195 type_bounds.bounds().map(|it| TypeBound::from_ast(lower_ctx, it)).collect()
186 } else { 196 } else {
187 vec![] 197 vec![]
188 } 198 }
189} 199}
190 200
191impl TypeBound { 201impl TypeBound {
192 pub(crate) fn from_ast(node: ast::TypeBound) -> Self { 202 pub(crate) fn from_ast(ctx: &LowerCtx, node: ast::TypeBound) -> Self {
193 match node.kind() { 203 match node.kind() {
194 ast::TypeBoundKind::PathType(path_type) => { 204 ast::TypeBoundKind::PathType(path_type) => {
195 let path = match path_type.path() { 205 let path = match path_type.path() {
196 Some(p) => p, 206 Some(p) => p,
197 None => return TypeBound::Error, 207 None => return TypeBound::Error,
198 }; 208 };
199 // FIXME: Use `Path::from_src` 209
200 let path = match Path::from_ast(path) { 210 let path = match ctx.lower_path(path) {
201 Some(p) => p, 211 Some(p) => p,
202 None => return TypeBound::Error, 212 None => return TypeBound::Error,
203 }; 213 };
diff --git a/crates/ra_hir_expand/src/db.rs b/crates/ra_hir_expand/src/db.rs
index 047452306..4c12d0a15 100644
--- a/crates/ra_hir_expand/src/db.rs
+++ b/crates/ra_hir_expand/src/db.rs
@@ -330,7 +330,7 @@ fn to_fragment_kind(db: &dyn AstDatabase, id: MacroCallId) -> FragmentKind {
330 FragmentKind::Expr 330 FragmentKind::Expr
331 } 331 }
332 // FIXME: Expand to statements in appropriate positions; HIR lowering needs to handle that 332 // FIXME: Expand to statements in appropriate positions; HIR lowering needs to handle that
333 EXPR_STMT | BLOCK => FragmentKind::Expr, 333 EXPR_STMT | BLOCK_EXPR => FragmentKind::Expr,
334 ARG_LIST => FragmentKind::Expr, 334 ARG_LIST => FragmentKind::Expr,
335 TRY_EXPR => FragmentKind::Expr, 335 TRY_EXPR => FragmentKind::Expr,
336 TUPLE_EXPR => FragmentKind::Expr, 336 TUPLE_EXPR => FragmentKind::Expr,
@@ -342,7 +342,6 @@ fn to_fragment_kind(db: &dyn AstDatabase, id: MacroCallId) -> FragmentKind {
342 CONDITION => FragmentKind::Expr, 342 CONDITION => FragmentKind::Expr,
343 BREAK_EXPR => FragmentKind::Expr, 343 BREAK_EXPR => FragmentKind::Expr,
344 RETURN_EXPR => FragmentKind::Expr, 344 RETURN_EXPR => FragmentKind::Expr,
345 BLOCK_EXPR => FragmentKind::Expr,
346 MATCH_EXPR => FragmentKind::Expr, 345 MATCH_EXPR => FragmentKind::Expr,
347 MATCH_ARM => FragmentKind::Expr, 346 MATCH_ARM => FragmentKind::Expr,
348 MATCH_GUARD => FragmentKind::Expr, 347 MATCH_GUARD => FragmentKind::Expr,
diff --git a/crates/ra_hir_expand/src/hygiene.rs b/crates/ra_hir_expand/src/hygiene.rs
index 0b41d0e95..53866bbcb 100644
--- a/crates/ra_hir_expand/src/hygiene.rs
+++ b/crates/ra_hir_expand/src/hygiene.rs
@@ -12,7 +12,7 @@ use crate::{
12 HirFileId, HirFileIdRepr, MacroCallId, MacroDefKind, 12 HirFileId, HirFileIdRepr, MacroCallId, MacroDefKind,
13}; 13};
14 14
15#[derive(Debug)] 15#[derive(Clone, Debug)]
16pub struct Hygiene { 16pub struct Hygiene {
17 // This is what `$crate` expands to 17 // This is what `$crate` expands to
18 def_crate: Option<CrateId>, 18 def_crate: Option<CrateId>,
diff --git a/crates/ra_hir_ty/Cargo.toml b/crates/ra_hir_ty/Cargo.toml
index 04d3cd6a2..65db6d1b0 100644
--- a/crates/ra_hir_ty/Cargo.toml
+++ b/crates/ra_hir_ty/Cargo.toml
@@ -11,7 +11,7 @@ doctest = false
11itertools = "0.9.0" 11itertools = "0.9.0"
12arrayvec = "0.5.1" 12arrayvec = "0.5.1"
13smallvec = "1.2.0" 13smallvec = "1.2.0"
14ena = "0.13.1" 14ena = "0.14.0"
15log = "0.4.8" 15log = "0.4.8"
16rustc-hash = "1.1.0" 16rustc-hash = "1.1.0"
17 17
diff --git a/crates/ra_hir_ty/src/infer/expr.rs b/crates/ra_hir_ty/src/infer/expr.rs
index efc60986b..83f946eee 100644
--- a/crates/ra_hir_ty/src/infer/expr.rs
+++ b/crates/ra_hir_ty/src/infer/expr.rs
@@ -73,6 +73,11 @@ impl<'a> InferenceContext<'a> {
73 self.coerce_merge_branch(&then_ty, &else_ty) 73 self.coerce_merge_branch(&then_ty, &else_ty)
74 } 74 }
75 Expr::Block { statements, tail } => self.infer_block(statements, *tail, expected), 75 Expr::Block { statements, tail } => self.infer_block(statements, *tail, expected),
76 Expr::TryBlock { body } => {
77 let _inner = self.infer_expr(*body, expected);
78 // FIXME should be std::result::Result<{inner}, _>
79 Ty::Unknown
80 }
76 Expr::Loop { body } => { 81 Expr::Loop { body } => {
77 self.infer_expr(*body, &Expectation::has_type(Ty::unit())); 82 self.infer_expr(*body, &Expectation::has_type(Ty::unit()));
78 // FIXME handle break with value 83 // FIXME handle break with value
diff --git a/crates/ra_hir_ty/src/tests/macros.rs b/crates/ra_hir_ty/src/tests/macros.rs
index 5ddecbdc6..1f796876d 100644
--- a/crates/ra_hir_ty/src/tests/macros.rs
+++ b/crates/ra_hir_ty/src/tests/macros.rs
@@ -339,6 +339,46 @@ pub fn baz() -> usize { 31usize }
339} 339}
340 340
341#[test] 341#[test]
342fn infer_macro_with_dollar_crate_is_correct_in_trait_associate_type() {
343 let (db, pos) = TestDB::with_position(
344 r#"
345//- /main.rs crate:main deps:foo
346use foo::Trait;
347
348fn test() {
349 let msg = foo::Message(foo::MessageRef);
350 let r = msg.deref();
351 r<|>;
352}
353
354//- /lib.rs crate:foo
355pub struct MessageRef;
356pub struct Message(MessageRef);
357
358pub trait Trait {
359 type Target;
360 fn deref(&self) -> &Self::Target;
361}
362
363#[macro_export]
364macro_rules! expand {
365 () => {
366 impl Trait for Message {
367 type Target = $crate::MessageRef;
368 fn deref(&self) -> &Self::Target {
369 &self.0
370 }
371 }
372 }
373}
374
375expand!();
376"#,
377 );
378 assert_eq!("&MessageRef", type_at_pos(&db, pos));
379}
380
381#[test]
342fn infer_type_value_non_legacy_macro_use_as() { 382fn infer_type_value_non_legacy_macro_use_as() {
343 assert_snapshot!( 383 assert_snapshot!(
344 infer(r#" 384 infer(r#"
diff --git a/crates/ra_hir_ty/src/tests/simple.rs b/crates/ra_hir_ty/src/tests/simple.rs
index 56abc65b8..3d3088965 100644
--- a/crates/ra_hir_ty/src/tests/simple.rs
+++ b/crates/ra_hir_ty/src/tests/simple.rs
@@ -1755,3 +1755,35 @@ fn main() {
1755 "### 1755 "###
1756 ); 1756 );
1757} 1757}
1758
1759#[test]
1760fn effects_smoke_test() {
1761 assert_snapshot!(
1762 infer(r#"
1763fn main() {
1764 let x = unsafe { 92 };
1765 let y = async { async { () }.await };
1766 let z = try { () };
1767 let t = 'a: { 92 };
1768}
1769"#),
1770 @r###"
1771 11..131 '{ ...2 }; }': ()
1772 21..22 'x': i32
1773 32..38 '{ 92 }': i32
1774 34..36 '92': i32
1775 48..49 'y': {unknown}
1776 58..80 '{ asyn...wait }': {unknown}
1777 60..78 'async ....await': {unknown}
1778 66..72 '{ () }': ()
1779 68..70 '()': ()
1780 90..91 'z': {unknown}
1781 94..104 'try { () }': {unknown}
1782 98..104 '{ () }': ()
1783 100..102 '()': ()
1784 114..115 't': i32
1785 122..128 '{ 92 }': i32
1786 124..126 '92': i32
1787 "###
1788 )
1789}
diff --git a/crates/ra_ide/src/completion/completion_context.rs b/crates/ra_ide/src/completion/completion_context.rs
index 118fceb2e..c529752d4 100644
--- a/crates/ra_ide/src/completion/completion_context.rs
+++ b/crates/ra_ide/src/completion/completion_context.rs
@@ -344,7 +344,7 @@ impl<'a> CompletionContext<'a> {
344 stmt.syntax().text_range() == name_ref.syntax().text_range(), 344 stmt.syntax().text_range() == name_ref.syntax().text_range(),
345 ); 345 );
346 } 346 }
347 if let Some(block) = ast::Block::cast(node) { 347 if let Some(block) = ast::BlockExpr::cast(node) {
348 return Some( 348 return Some(
349 block.expr().map(|e| e.syntax().text_range()) 349 block.expr().map(|e| e.syntax().text_range())
350 == Some(name_ref.syntax().text_range()), 350 == Some(name_ref.syntax().text_range()),
diff --git a/crates/ra_ide/src/display/short_label.rs b/crates/ra_ide/src/display/short_label.rs
index 4b081bf6c..d37260e96 100644
--- a/crates/ra_ide/src/display/short_label.rs
+++ b/crates/ra_ide/src/display/short_label.rs
@@ -33,7 +33,11 @@ impl ShortLabel for ast::EnumDef {
33 33
34impl ShortLabel for ast::TraitDef { 34impl ShortLabel for ast::TraitDef {
35 fn short_label(&self) -> Option<String> { 35 fn short_label(&self) -> Option<String> {
36 short_label_from_node(self, "trait ") 36 if self.unsafe_token().is_some() {
37 short_label_from_node(self, "unsafe trait ")
38 } else {
39 short_label_from_node(self, "trait ")
40 }
37 } 41 }
38} 42}
39 43
diff --git a/crates/ra_ide/src/folding_ranges.rs b/crates/ra_ide/src/folding_ranges.rs
index 4379005aa..8657377de 100644
--- a/crates/ra_ide/src/folding_ranges.rs
+++ b/crates/ra_ide/src/folding_ranges.rs
@@ -88,7 +88,7 @@ fn fold_kind(kind: SyntaxKind) -> Option<FoldKind> {
88 | ITEM_LIST 88 | ITEM_LIST
89 | EXTERN_ITEM_LIST 89 | EXTERN_ITEM_LIST
90 | USE_TREE_LIST 90 | USE_TREE_LIST
91 | BLOCK 91 | BLOCK_EXPR
92 | MATCH_ARM_LIST 92 | MATCH_ARM_LIST
93 | ENUM_VARIANT_LIST 93 | ENUM_VARIANT_LIST
94 | TOKEN_TREE => Some(FoldKind::Block), 94 | TOKEN_TREE => Some(FoldKind::Block),
diff --git a/crates/ra_ide/src/hover.rs b/crates/ra_ide/src/hover.rs
index a62f598f0..54d318858 100644
--- a/crates/ra_ide/src/hover.rs
+++ b/crates/ra_ide/src/hover.rs
@@ -869,4 +869,15 @@ fn func(foo: i32) { if true { <|>foo; }; }
869 &[r#"pub(crate) async unsafe extern "C" fn foo()"#], 869 &[r#"pub(crate) async unsafe extern "C" fn foo()"#],
870 ); 870 );
871 } 871 }
872
873 #[test]
874 fn test_hover_trait_show_qualifiers() {
875 check_hover_result(
876 "
877 //- /lib.rs
878 unsafe trait foo<|>() {}
879 ",
880 &["unsafe trait foo"],
881 );
882 }
872} 883}
diff --git a/crates/ra_ide/src/join_lines.rs b/crates/ra_ide/src/join_lines.rs
index d0def7eaa..63fd6b3e4 100644
--- a/crates/ra_ide/src/join_lines.rs
+++ b/crates/ra_ide/src/join_lines.rs
@@ -129,8 +129,7 @@ fn has_comma_after(node: &SyntaxNode) -> bool {
129} 129}
130 130
131fn join_single_expr_block(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Option<()> { 131fn join_single_expr_block(edit: &mut TextEditBuilder, token: &SyntaxToken) -> Option<()> {
132 let block = ast::Block::cast(token.parent())?; 132 let block_expr = ast::BlockExpr::cast(token.parent())?;
133 let block_expr = ast::BlockExpr::cast(block.syntax().parent()?)?;
134 if !block_expr.is_standalone() { 133 if !block_expr.is_standalone() {
135 return None; 134 return None;
136 } 135 }
diff --git a/crates/ra_ide/src/syntax_tree.rs b/crates/ra_ide/src/syntax_tree.rs
index bf97f8c56..86c70ff83 100644
--- a/crates/ra_ide/src/syntax_tree.rs
+++ b/crates/ra_ide/src/syntax_tree.rs
@@ -120,9 +120,8 @@ [email protected]
120 [email protected] ")" 120 [email protected] ")"
121 [email protected] " " 121 [email protected] " "
122 [email protected] 122 [email protected]
123 [email protected] 123 [email protected] "{"
124 [email protected] "{" 124 [email protected] "}"
125 [email protected] "}"
126"# 125"#
127 .trim() 126 .trim()
128 ); 127 );
@@ -153,26 +152,25 @@ [email protected]
153 [email protected] ")" 152 [email protected] ")"
154 [email protected] " " 153 [email protected] " "
155 [email protected] 154 [email protected]
156 [email protected] 155 [email protected] "{"
157 [email protected] "{" 156 [email protected] "\n "
158 [email protected] "\n " 157 [email protected]
159 [email protected] 158 [email protected]
160 [email protected] 159 [email protected]
161 [email protected] 160 [email protected]
162 [email protected] 161 [email protected]
163 [email protected] 162 [email protected] "assert"
164 [email protected] "assert" 163 [email protected] "!"
165 [email protected] "!" 164 [email protected]
166 [email protected] 165 [email protected] "("
167 [email protected] "(" 166 [email protected] "\"\n fn foo() {\n ..."
168 [email protected] "\"\n fn foo() {\n ..." 167 [email protected] ","
169 [email protected] "," 168 [email protected] " "
170 [email protected] " " 169 [email protected] "\"\""
171 [email protected] "\"\"" 170 [email protected] ")"
172 [email protected] ")" 171 [email protected] ";"
173 [email protected] ";" 172 [email protected] "\n"
174 [email protected] "\n" 173 [email protected] "}"
175 [email protected] "}"
176"# 174"#
177 .trim() 175 .trim()
178 ); 176 );
@@ -196,9 +194,8 @@ [email protected]
196 [email protected] ")" 194 [email protected] ")"
197 [email protected] " " 195 [email protected] " "
198 [email protected] 196 [email protected]
199 [email protected] 197 [email protected] "{"
200 [email protected] "{" 198 [email protected] "}"
201 [email protected] "}"
202"# 199"#
203 .trim() 200 .trim()
204 ); 201 );
@@ -265,10 +262,9 @@ [email protected]
265 [email protected] ")" 262 [email protected] ")"
266 [email protected] " " 263 [email protected] " "
267 [email protected] 264 [email protected]
268 [email protected] 265 [email protected] "{"
269 [email protected] "{" 266 [email protected] "\n"
270 [email protected] "\n" 267 [email protected] "}"
271 [email protected] "}"
272"# 268"#
273 .trim() 269 .trim()
274 ); 270 );
@@ -300,10 +296,9 @@ [email protected]
300 [email protected] ")" 296 [email protected] ")"
301 [email protected] " " 297 [email protected] " "
302 [email protected] 298 [email protected]
303 [email protected] 299 [email protected] "{"
304 [email protected] "{" 300 [email protected] "\n"
305 [email protected] "\n" 301 [email protected] "}"
306 [email protected] "}"
307"# 302"#
308 .trim() 303 .trim()
309 ); 304 );
@@ -334,10 +329,9 @@ [email protected]
334 [email protected] ")" 329 [email protected] ")"
335 [email protected] " " 330 [email protected] " "
336 [email protected] 331 [email protected]
337 [email protected] 332 [email protected] "{"
338 [email protected] "{" 333 [email protected] "\n"
339 [email protected] "\n" 334 [email protected] "}"
340 [email protected] "}"
341 [email protected] "\n" 335 [email protected] "\n"
342 [email protected] 336 [email protected]
343 [email protected] "fn" 337 [email protected] "fn"
@@ -349,10 +343,9 @@ [email protected]
349 [email protected] ")" 343 [email protected] ")"
350 [email protected] " " 344 [email protected] " "
351 [email protected] 345 [email protected]
352 [email protected] 346 [email protected] "{"
353 [email protected] "{" 347 [email protected] "\n"
354 [email protected] "\n" 348 [email protected] "}"
355 [email protected] "}"
356"# 349"#
357 .trim() 350 .trim()
358 ); 351 );
diff --git a/crates/ra_mbe/src/tests.rs b/crates/ra_mbe/src/tests.rs
index 0d924ce58..c43003fd6 100644
--- a/crates/ra_mbe/src/tests.rs
+++ b/crates/ra_mbe/src/tests.rs
@@ -266,21 +266,20 @@ fn test_expr_order() {
266 [email protected] "(" 266 [email protected] "("
267 [email protected] ")" 267 [email protected] ")"
268 [email protected] 268 [email protected]
269 [email protected] 269 [email protected] "{"
270 [email protected] "{" 270 [email protected]
271 [email protected] 271 [email protected]
272 [email protected] 272 [email protected]
273 [email protected] 273 [email protected]
274 [email protected] 274 [email protected] "1"
275 [email protected] "1" 275 [email protected] "+"
276 [email protected] "+" 276 [email protected]
277 [email protected] 277 [email protected] "1"
278 [email protected] "1" 278 [email protected] "*"
279 [email protected] "*" 279 [email protected]
280 [email protected] 280 [email protected] "2"
281 [email protected] "2" 281 [email protected] ";"
282 [email protected] ";" 282 [email protected] "}""#,
283 [email protected] "}""#,
284 ); 283 );
285} 284}
286 285
@@ -1114,68 +1113,67 @@ fn test_vec() {
1114 assert_eq!( 1113 assert_eq!(
1115 format!("{:#?}", tree).trim(), 1114 format!("{:#?}", tree).trim(),
1116 r#"[email protected] 1115 r#"[email protected]
1117 [email protected] 1116 [email protected] "{"
1118 [email protected] "{" 1117 [email protected]
1119 [email protected] 1118 [email protected] "let"
1120 [email protected] "let" 1119 [email protected]
1121 [email protected] 1120 [email protected] "mut"
1122 [email protected] "mut" 1121 [email protected]
1123 [email protected] 1122 [email protected] "v"
1124 [email protected] "v" 1123 [email protected] "="
1125 [email protected] "=" 1124 [email protected]
1126 [email protected] 1125 [email protected]
1127 [email protected] 1126 [email protected]
1128 [email protected] 1127 [email protected]
1129 [email protected] 1128 [email protected]
1130 [email protected] 1129 [email protected]
1131 [email protected] 1130 [email protected] "Vec"
1132 [email protected] "Vec" 1131 [email protected] "::"
1133 [email protected] "::" 1132 [email protected]
1134 [email protected] 1133 [email protected]
1135 [email protected] 1134 [email protected] "new"
1136 [email protected] "new" 1135 [email protected]
1137 [email protected] 1136 [email protected] "("
1138 [email protected] "(" 1137 [email protected] ")"
1139 [email protected] ")" 1138 [email protected] ";"
1140 [email protected] ";" 1139 [email protected]
1141 [email protected] 1140 [email protected]
1142 [email protected] 1141 [email protected]
1143 [email protected] 1142 [email protected]
1144 [email protected] 1143 [email protected]
1145 [email protected] 1144 [email protected]
1146 [email protected] 1145 [email protected] "v"
1147 [email protected] "v" 1146 [email protected] "."
1148 [email protected] "." 1147 [email protected]
1149 [email protected] 1148 [email protected] "push"
1150 [email protected] "push" 1149 [email protected]
1151 [email protected] 1150 [email protected] "("
1152 [email protected] "(" 1151 [email protected]
1153 [email protected] 1152 [email protected] "1u32"
1154 [email protected] "1u32" 1153 [email protected] ")"
1155 [email protected] ")" 1154 [email protected] ";"
1156 [email protected] ";" 1155 [email protected]
1157 [email protected] 1156 [email protected]
1158 [email protected] 1157 [email protected]
1159 [email protected] 1158 [email protected]
1160 [email protected] 1159 [email protected]
1161 [email protected] 1160 [email protected]
1162 [email protected] 1161 [email protected] "v"
1163 [email protected] "v" 1162 [email protected] "."
1164 [email protected] "." 1163 [email protected]
1165 [email protected] 1164 [email protected] "push"
1166 [email protected] "push" 1165 [email protected]
1167 [email protected] 1166 [email protected] "("
1168 [email protected] "(" 1167 [email protected]
1169 [email protected] 1168 [email protected] "2"
1170 [email protected] "2" 1169 [email protected] ")"
1171 [email protected] ")" 1170 [email protected] ";"
1172 [email protected] ";" 1171 [email protected]
1173 [email protected] 1172 [email protected]
1174 [email protected] 1173 [email protected]
1175 [email protected] 1174 [email protected]
1176 [email protected] 1175 [email protected] "v"
1177 [email protected] "v" 1176 [email protected] "}""#
1178 [email protected] "}""#
1179 ); 1177 );
1180} 1178}
1181 1179
diff --git a/crates/ra_parser/src/grammar.rs b/crates/ra_parser/src/grammar.rs
index c2a6e82e9..d9824ff9b 100644
--- a/crates/ra_parser/src/grammar.rs
+++ b/crates/ra_parser/src/grammar.rs
@@ -143,7 +143,7 @@ pub(crate) fn reparser(
143 parent: Option<SyntaxKind>, 143 parent: Option<SyntaxKind>,
144) -> Option<fn(&mut Parser)> { 144) -> Option<fn(&mut Parser)> {
145 let res = match node { 145 let res = match node {
146 BLOCK => expressions::naked_block, 146 BLOCK_EXPR => expressions::block,
147 RECORD_FIELD_DEF_LIST => items::record_field_def_list, 147 RECORD_FIELD_DEF_LIST => items::record_field_def_list,
148 RECORD_FIELD_LIST => items::record_field_list, 148 RECORD_FIELD_LIST => items::record_field_list,
149 ENUM_VARIANT_LIST => items::enum_variant_list, 149 ENUM_VARIANT_LIST => items::enum_variant_list,
diff --git a/crates/ra_parser/src/grammar/expressions.rs b/crates/ra_parser/src/grammar/expressions.rs
index cb30b25a8..a23dbcacf 100644
--- a/crates/ra_parser/src/grammar/expressions.rs
+++ b/crates/ra_parser/src/grammar/expressions.rs
@@ -59,16 +59,7 @@ pub(crate) fn block(p: &mut Parser) {
59 p.error("expected a block"); 59 p.error("expected a block");
60 return; 60 return;
61 } 61 }
62 atom::block_expr(p, None); 62 atom::block_expr(p);
63}
64
65pub(crate) fn naked_block(p: &mut Parser) {
66 assert!(p.at(T!['{']));
67 let m = p.start();
68 p.bump(T!['{']);
69 expr_block_contents(p);
70 p.expect(T!['}']);
71 m.complete(p, BLOCK);
72} 63}
73 64
74fn is_expr_stmt_attr_allowed(kind: SyntaxKind) -> bool { 65fn is_expr_stmt_attr_allowed(kind: SyntaxKind) -> bool {
@@ -197,7 +188,7 @@ pub(super) fn stmt(p: &mut Parser, with_semi: StmtWithSemi) {
197 } 188 }
198} 189}
199 190
200pub(crate) fn expr_block_contents(p: &mut Parser) { 191pub(super) fn expr_block_contents(p: &mut Parser) {
201 // This is checked by a validator 192 // This is checked by a validator
202 attributes::inner_attributes(p); 193 attributes::inner_attributes(p);
203 194
diff --git a/crates/ra_parser/src/grammar/expressions/atom.rs b/crates/ra_parser/src/grammar/expressions/atom.rs
index 76aa601cb..efb424dae 100644
--- a/crates/ra_parser/src/grammar/expressions/atom.rs
+++ b/crates/ra_parser/src/grammar/expressions/atom.rs
@@ -84,7 +84,7 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
84 T![box] => box_expr(p, None), 84 T![box] => box_expr(p, None),
85 T![for] => for_expr(p, None), 85 T![for] => for_expr(p, None),
86 T![while] => while_expr(p, None), 86 T![while] => while_expr(p, None),
87 T![try] => try_expr(p, None), 87 T![try] => try_block_expr(p, None),
88 LIFETIME if la == T![:] => { 88 LIFETIME if la == T![:] => {
89 let m = p.start(); 89 let m = p.start();
90 label(p); 90 label(p);
@@ -92,7 +92,12 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
92 T![loop] => loop_expr(p, Some(m)), 92 T![loop] => loop_expr(p, Some(m)),
93 T![for] => for_expr(p, Some(m)), 93 T![for] => for_expr(p, Some(m)),
94 T![while] => while_expr(p, Some(m)), 94 T![while] => while_expr(p, Some(m)),
95 T!['{'] => block_expr(p, Some(m)), 95 // test labeled_block
96 // fn f() { 'label: {}; }
97 T!['{'] => {
98 block_expr(p);
99 m.complete(p, EFFECT_EXPR)
100 }
96 _ => { 101 _ => {
97 // test_err misplaced_label_err 102 // test_err misplaced_label_err
98 // fn main() { 103 // fn main() {
@@ -108,13 +113,17 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
108 let m = p.start(); 113 let m = p.start();
109 p.bump(T![async]); 114 p.bump(T![async]);
110 p.eat(T![move]); 115 p.eat(T![move]);
111 block_expr(p, Some(m)) 116 block_expr(p);
117 m.complete(p, EFFECT_EXPR)
112 } 118 }
113 T![match] => match_expr(p), 119 T![match] => match_expr(p),
120 // test unsafe_block
121 // fn f() { unsafe { } }
114 T![unsafe] if la == T!['{'] => { 122 T![unsafe] if la == T!['{'] => {
115 let m = p.start(); 123 let m = p.start();
116 p.bump(T![unsafe]); 124 p.bump(T![unsafe]);
117 block_expr(p, Some(m)) 125 block_expr(p);
126 m.complete(p, EFFECT_EXPR)
118 } 127 }
119 T!['{'] => { 128 T!['{'] => {
120 // test for_range_from 129 // test for_range_from
@@ -123,7 +132,7 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
123 // break; 132 // break;
124 // } 133 // }
125 // } 134 // }
126 block_expr(p, None) 135 block_expr(p)
127 } 136 }
128 T![return] => return_expr(p), 137 T![return] => return_expr(p),
129 T![continue] => continue_expr(p), 138 T![continue] => continue_expr(p),
@@ -134,7 +143,7 @@ pub(super) fn atom_expr(p: &mut Parser, r: Restrictions) -> Option<(CompletedMar
134 } 143 }
135 }; 144 };
136 let blocklike = match done.kind() { 145 let blocklike = match done.kind() {
137 IF_EXPR | WHILE_EXPR | FOR_EXPR | LOOP_EXPR | MATCH_EXPR | BLOCK_EXPR | TRY_EXPR => { 146 IF_EXPR | WHILE_EXPR | FOR_EXPR | LOOP_EXPR | MATCH_EXPR | BLOCK_EXPR | EFFECT_EXPR => {
138 BlockLike::Block 147 BlockLike::Block
139 } 148 }
140 _ => BlockLike::NotBlock, 149 _ => BlockLike::NotBlock,
@@ -234,7 +243,7 @@ fn lambda_expr(p: &mut Parser) -> CompletedMarker {
234 if p.at(T!['{']) { 243 if p.at(T!['{']) {
235 // test lambda_ret_block 244 // test lambda_ret_block
236 // fn main() { || -> i32 { 92 }(); } 245 // fn main() { || -> i32 { 92 }(); }
237 block_expr(p, None); 246 block_expr(p);
238 } else { 247 } else {
239 p.error("expected `{`"); 248 p.error("expected `{`");
240 } 249 }
@@ -461,13 +470,13 @@ fn match_guard(p: &mut Parser) -> CompletedMarker {
461// test block_expr 470// test block_expr
462// fn foo() { 471// fn foo() {
463// {}; 472// {};
464// unsafe {};
465// 'label: {};
466// } 473// }
467pub(super) fn block_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker { 474pub(super) fn block_expr(p: &mut Parser) -> CompletedMarker {
468 assert!(p.at(T!['{'])); 475 assert!(p.at(T!['{']));
469 let m = m.unwrap_or_else(|| p.start()); 476 let m = p.start();
470 naked_block(p); 477 p.bump(T!['{']);
478 expr_block_contents(p);
479 p.expect(T!['}']);
471 m.complete(p, BLOCK_EXPR) 480 m.complete(p, BLOCK_EXPR)
472} 481}
473 482
@@ -532,7 +541,7 @@ fn break_expr(p: &mut Parser, r: Restrictions) -> CompletedMarker {
532// fn foo() { 541// fn foo() {
533// let _ = try {}; 542// let _ = try {};
534// } 543// }
535fn try_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker { 544fn try_block_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
536 assert!(p.at(T![try])); 545 assert!(p.at(T![try]));
537 let m = m.unwrap_or_else(|| p.start()); 546 let m = m.unwrap_or_else(|| p.start());
538 // Special-case `try!` as macro. 547 // Special-case `try!` as macro.
@@ -552,8 +561,8 @@ fn try_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker {
552 } 561 }
553 562
554 p.bump(T![try]); 563 p.bump(T![try]);
555 block(p); 564 block_expr(p);
556 m.complete(p, TRY_EXPR) 565 m.complete(p, EFFECT_EXPR)
557} 566}
558 567
559// test box_expr 568// test box_expr
diff --git a/crates/ra_parser/src/syntax_kind/generated.rs b/crates/ra_parser/src/syntax_kind/generated.rs
index ab727ed7e..e7404492a 100644
--- a/crates/ra_parser/src/syntax_kind/generated.rs
+++ b/crates/ra_parser/src/syntax_kind/generated.rs
@@ -191,6 +191,7 @@ pub enum SyntaxKind {
191 RECORD_LIT, 191 RECORD_LIT,
192 RECORD_FIELD_LIST, 192 RECORD_FIELD_LIST,
193 RECORD_FIELD, 193 RECORD_FIELD,
194 EFFECT_EXPR,
194 BOX_EXPR, 195 BOX_EXPR,
195 CALL_EXPR, 196 CALL_EXPR,
196 INDEX_EXPR, 197 INDEX_EXPR,
@@ -203,7 +204,6 @@ pub enum SyntaxKind {
203 PREFIX_EXPR, 204 PREFIX_EXPR,
204 RANGE_EXPR, 205 RANGE_EXPR,
205 BIN_EXPR, 206 BIN_EXPR,
206 BLOCK,
207 EXTERN_BLOCK, 207 EXTERN_BLOCK,
208 EXTERN_ITEM_LIST, 208 EXTERN_ITEM_LIST,
209 ENUM_VARIANT, 209 ENUM_VARIANT,
diff --git a/crates/ra_proc_macro_srv/Cargo.toml b/crates/ra_proc_macro_srv/Cargo.toml
index ac2d156dc..886e14870 100644
--- a/crates/ra_proc_macro_srv/Cargo.toml
+++ b/crates/ra_proc_macro_srv/Cargo.toml
@@ -21,4 +21,4 @@ test_utils = { path = "../test_utils" }
21cargo_metadata = "0.9.1" 21cargo_metadata = "0.9.1"
22difference = "2.0.0" 22difference = "2.0.0"
23# used as proc macro test target 23# used as proc macro test target
24serde_derive = "=1.0.104" 24serde_derive = "=1.0.106"
diff --git a/crates/ra_proc_macro_srv/src/tests/fixtures/test_serialize_proc_macro.txt b/crates/ra_proc_macro_srv/src/tests/fixtures/test_serialize_proc_macro.txt
index 1f5d940fa..6776f5231 100644
--- a/crates/ra_proc_macro_srv/src/tests/fixtures/test_serialize_proc_macro.txt
+++ b/crates/ra_proc_macro_srv/src/tests/fixtures/test_serialize_proc_macro.txt
@@ -1,6 +1,11 @@
1SUBTREE $ 1SUBTREE $
2 PUNCH # [alone] 4294967295 2 PUNCH # [alone] 4294967295
3 SUBTREE [] 4294967295 3 SUBTREE [] 4294967295
4 IDENT doc 4294967295
5 SUBTREE () 4294967295
6 IDENT hidden 4294967295
7 PUNCH # [alone] 4294967295
8 SUBTREE [] 4294967295
4 IDENT allow 4294967295 9 IDENT allow 4294967295
5 SUBTREE () 4294967295 10 SUBTREE () 4294967295
6 IDENT non_upper_case_globals 4294967295 11 IDENT non_upper_case_globals 4294967295
@@ -184,4 +189,4 @@ SUBTREE $
184 IDENT end 4294967295 189 IDENT end 4294967295
185 SUBTREE () 4294967295 190 SUBTREE () 4294967295
186 IDENT __serde_state 4294967295 191 IDENT __serde_state 4294967295
187 PUNCH ; [alone] 4294967295 \ No newline at end of file 192 PUNCH ; [alone] 4294967295
diff --git a/crates/ra_proc_macro_srv/src/tests/mod.rs b/crates/ra_proc_macro_srv/src/tests/mod.rs
index 03f79bc5d..9cf58511c 100644
--- a/crates/ra_proc_macro_srv/src/tests/mod.rs
+++ b/crates/ra_proc_macro_srv/src/tests/mod.rs
@@ -10,7 +10,7 @@ fn test_derive_serialize_proc_macro() {
10 assert_expand( 10 assert_expand(
11 "serde_derive", 11 "serde_derive",
12 "Serialize", 12 "Serialize",
13 "1.0.104", 13 "1.0.106",
14 r##"struct Foo {}"##, 14 r##"struct Foo {}"##,
15 include_str!("fixtures/test_serialize_proc_macro.txt"), 15 include_str!("fixtures/test_serialize_proc_macro.txt"),
16 ); 16 );
@@ -21,7 +21,7 @@ fn test_derive_serialize_proc_macro_failed() {
21 assert_expand( 21 assert_expand(
22 "serde_derive", 22 "serde_derive",
23 "Serialize", 23 "Serialize",
24 "1.0.104", 24 "1.0.106",
25 r##" 25 r##"
26 struct {} 26 struct {}
27"##, 27"##,
@@ -37,7 +37,7 @@ SUBTREE $
37 37
38#[test] 38#[test]
39fn test_derive_proc_macro_list() { 39fn test_derive_proc_macro_list() {
40 let res = list("serde_derive", "1.0.104").join("\n"); 40 let res = list("serde_derive", "1.0.106").join("\n");
41 41
42 assert_eq_text!( 42 assert_eq_text!(
43 &res, 43 &res,
diff --git a/crates/ra_project_model/Cargo.toml b/crates/ra_project_model/Cargo.toml
index b10644b4b..5e651fe70 100644
--- a/crates/ra_project_model/Cargo.toml
+++ b/crates/ra_project_model/Cargo.toml
@@ -18,7 +18,7 @@ ra_db = { path = "../ra_db" }
18ra_cfg = { path = "../ra_cfg" } 18ra_cfg = { path = "../ra_cfg" }
19ra_proc_macro = { path = "../ra_proc_macro" } 19ra_proc_macro = { path = "../ra_proc_macro" }
20 20
21serde = { version = "1.0.104", features = ["derive"] } 21serde = { version = "1.0.106", features = ["derive"] }
22serde_json = "1.0.48" 22serde_json = "1.0.48"
23 23
24anyhow = "1.0.26" 24anyhow = "1.0.26"
diff --git a/crates/ra_syntax/Cargo.toml b/crates/ra_syntax/Cargo.toml
index 7ffe46c69..c07ff488e 100644
--- a/crates/ra_syntax/Cargo.toml
+++ b/crates/ra_syntax/Cargo.toml
@@ -13,7 +13,7 @@ doctest = false
13[dependencies] 13[dependencies]
14itertools = "0.9.0" 14itertools = "0.9.0"
15rowan = "0.10.0" 15rowan = "0.10.0"
16rustc_lexer = { version = "652.0.0", package = "rustc-ap-rustc_lexer" } 16rustc_lexer = { version = "656.0.0", package = "rustc-ap-rustc_lexer" }
17rustc-hash = "1.1.0" 17rustc-hash = "1.1.0"
18arrayvec = "0.5.1" 18arrayvec = "0.5.1"
19once_cell = "1.3.1" 19once_cell = "1.3.1"
@@ -27,7 +27,7 @@ ra_parser = { path = "../ra_parser" }
27# ideally, `serde` should be enabled by `rust-analyzer`, but we enable it here 27# ideally, `serde` should be enabled by `rust-analyzer`, but we enable it here
28# to reduce number of compilations 28# to reduce number of compilations
29smol_str = { version = "0.1.15", features = ["serde"] } 29smol_str = { version = "0.1.15", features = ["serde"] }
30serde = { version = "1.0.104", features = ["derive"] } 30serde = { version = "1.0.106", features = ["derive"] }
31 31
32[dev-dependencies] 32[dev-dependencies]
33test_utils = { path = "../test_utils" } 33test_utils = { path = "../test_utils" }
diff --git a/crates/ra_syntax/src/ast.rs b/crates/ra_syntax/src/ast.rs
index 521ca8ab8..1876afe95 100644
--- a/crates/ra_syntax/src/ast.rs
+++ b/crates/ra_syntax/src/ast.rs
@@ -16,9 +16,7 @@ use crate::{
16}; 16};
17 17
18pub use self::{ 18pub use self::{
19 expr_extensions::{ 19 expr_extensions::{ArrayExprKind, BinOp, Effect, ElseBranch, LiteralKind, PrefixOp, RangeOp},
20 ArrayExprKind, BinOp, BlockModifier, ElseBranch, LiteralKind, PrefixOp, RangeOp,
21 },
22 extensions::{ 20 extensions::{
23 AttrKind, FieldKind, NameOrNameRef, PathSegmentKind, SelfParamKind, SlicePatComponents, 21 AttrKind, FieldKind, NameOrNameRef, PathSegmentKind, SelfParamKind, SlicePatComponents,
24 StructKind, TypeBoundKind, VisibilityKind, 22 StructKind, TypeBoundKind, VisibilityKind,
diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs
index 26e4576ff..c507dc683 100644
--- a/crates/ra_syntax/src/ast/edit.rs
+++ b/crates/ra_syntax/src/ast/edit.rs
@@ -28,7 +28,7 @@ impl ast::BinExpr {
28 28
29impl ast::FnDef { 29impl ast::FnDef {
30 #[must_use] 30 #[must_use]
31 pub fn with_body(&self, body: ast::Block) -> ast::FnDef { 31 pub fn with_body(&self, body: ast::BlockExpr) -> ast::FnDef {
32 let mut to_insert: ArrayVec<[SyntaxElement; 2]> = ArrayVec::new(); 32 let mut to_insert: ArrayVec<[SyntaxElement; 2]> = ArrayVec::new();
33 let old_body_or_semi: SyntaxElement = if let Some(old_body) = self.body() { 33 let old_body_or_semi: SyntaxElement = if let Some(old_body) = self.body() {
34 old_body.syntax().clone().into() 34 old_body.syntax().clone().into()
diff --git a/crates/ra_syntax/src/ast/expr_extensions.rs b/crates/ra_syntax/src/ast/expr_extensions.rs
index 329c80749..7771d6759 100644
--- a/crates/ra_syntax/src/ast/expr_extensions.rs
+++ b/crates/ra_syntax/src/ast/expr_extensions.rs
@@ -16,7 +16,7 @@ impl ast::Expr {
16 | ast::Expr::WhileExpr(_) 16 | ast::Expr::WhileExpr(_)
17 | ast::Expr::BlockExpr(_) 17 | ast::Expr::BlockExpr(_)
18 | ast::Expr::MatchExpr(_) 18 | ast::Expr::MatchExpr(_)
19 | ast::Expr::TryExpr(_) => true, 19 | ast::Expr::EffectExpr(_) => true,
20 _ => false, 20 _ => false,
21 } 21 }
22 } 22 }
@@ -359,22 +359,34 @@ impl ast::Literal {
359 } 359 }
360} 360}
361 361
362pub enum BlockModifier { 362#[derive(Debug, Clone, PartialEq, Eq)]
363pub enum Effect {
363 Async(SyntaxToken), 364 Async(SyntaxToken),
364 Unsafe(SyntaxToken), 365 Unsafe(SyntaxToken),
366 Try(SyntaxToken),
367 // Very much not an effect, but we stuff it into this node anyway
368 Label(ast::Label),
365} 369}
366 370
367impl ast::BlockExpr { 371impl ast::EffectExpr {
368 pub fn modifier(&self) -> Option<BlockModifier> { 372 pub fn effect(&self) -> Effect {
369 if let Some(token) = self.async_token() { 373 if let Some(token) = self.async_token() {
370 return Some(BlockModifier::Async(token)); 374 return Effect::Async(token);
371 } 375 }
372 if let Some(token) = self.unsafe_token() { 376 if let Some(token) = self.unsafe_token() {
373 return Some(BlockModifier::Unsafe(token)); 377 return Effect::Unsafe(token);
378 }
379 if let Some(token) = self.try_token() {
380 return Effect::Try(token);
381 }
382 if let Some(label) = self.label() {
383 return Effect::Label(label);
374 } 384 }
375 None 385 unreachable!("ast::EffectExpr without Effect")
376 } 386 }
387}
377 388
389impl ast::BlockExpr {
378 /// false if the block is an intrinsic part of the syntax and can't be 390 /// false if the block is an intrinsic part of the syntax and can't be
379 /// replaced with arbitrary expression. 391 /// replaced with arbitrary expression.
380 /// 392 ///
@@ -383,15 +395,12 @@ impl ast::BlockExpr {
383 /// const FOO: () = { stand_alone }; 395 /// const FOO: () = { stand_alone };
384 /// ``` 396 /// ```
385 pub fn is_standalone(&self) -> bool { 397 pub fn is_standalone(&self) -> bool {
386 if self.modifier().is_some() {
387 return false;
388 }
389 let parent = match self.syntax().parent() { 398 let parent = match self.syntax().parent() {
390 Some(it) => it, 399 Some(it) => it,
391 None => return true, 400 None => return true,
392 }; 401 };
393 match parent.kind() { 402 match parent.kind() {
394 FN_DEF | IF_EXPR | WHILE_EXPR | LOOP_EXPR => false, 403 FN_DEF | IF_EXPR | WHILE_EXPR | LOOP_EXPR | EFFECT_EXPR => false,
395 _ => true, 404 _ => true,
396 } 405 }
397 } 406 }
diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs
index f2ea5088e..45e3dd2d3 100644
--- a/crates/ra_syntax/src/ast/extensions.rs
+++ b/crates/ra_syntax/src/ast/extensions.rs
@@ -407,7 +407,7 @@ impl ast::Visibility {
407 } else if self.super_token().is_some() { 407 } else if self.super_token().is_some() {
408 VisibilityKind::PubSuper 408 VisibilityKind::PubSuper
409 } else if self.self_token().is_some() { 409 } else if self.self_token().is_some() {
410 VisibilityKind::PubSuper 410 VisibilityKind::PubSelf
411 } else { 411 } else {
412 VisibilityKind::Pub 412 VisibilityKind::Pub
413 } 413 }
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs
index 81260680f..5e844d5ae 100644
--- a/crates/ra_syntax/src/ast/generated/nodes.rs
+++ b/crates/ra_syntax/src/ast/generated/nodes.rs
@@ -476,6 +476,19 @@ impl LoopExpr {
476} 476}
477 477
478#[derive(Debug, Clone, PartialEq, Eq, Hash)] 478#[derive(Debug, Clone, PartialEq, Eq, Hash)]
479pub struct EffectExpr {
480 pub(crate) syntax: SyntaxNode,
481}
482impl ast::AttrsOwner for EffectExpr {}
483impl EffectExpr {
484 pub fn label(&self) -> Option<Label> { support::child(&self.syntax) }
485 pub fn try_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![try]) }
486 pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) }
487 pub fn async_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![async]) }
488 pub fn block_expr(&self) -> Option<BlockExpr> { support::child(&self.syntax) }
489}
490
491#[derive(Debug, Clone, PartialEq, Eq, Hash)]
479pub struct ForExpr { 492pub struct ForExpr {
480 pub(crate) syntax: SyntaxNode, 493 pub(crate) syntax: SyntaxNode,
481} 494}
@@ -541,11 +554,12 @@ pub struct BlockExpr {
541 pub(crate) syntax: SyntaxNode, 554 pub(crate) syntax: SyntaxNode,
542} 555}
543impl ast::AttrsOwner for BlockExpr {} 556impl ast::AttrsOwner for BlockExpr {}
557impl ast::ModuleItemOwner for BlockExpr {}
544impl BlockExpr { 558impl BlockExpr {
545 pub fn label(&self) -> Option<Label> { support::child(&self.syntax) } 559 pub fn l_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['{']) }
546 pub fn unsafe_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![unsafe]) } 560 pub fn statements(&self) -> AstChildren<Stmt> { support::children(&self.syntax) }
547 pub fn async_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![async]) } 561 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
548 pub fn block(&self) -> Option<Block> { support::child(&self.syntax) } 562 pub fn r_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['}']) }
549} 563}
550 564
551#[derive(Debug, Clone, PartialEq, Eq, Hash)] 565#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -617,8 +631,8 @@ pub struct TryExpr {
617} 631}
618impl ast::AttrsOwner for TryExpr {} 632impl ast::AttrsOwner for TryExpr {}
619impl TryExpr { 633impl TryExpr {
620 pub fn try_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![try]) }
621 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) } 634 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
635 pub fn question_mark_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![?]) }
622} 636}
623 637
624#[derive(Debug, Clone, PartialEq, Eq, Hash)] 638#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1112,19 +1126,6 @@ impl Condition {
1112} 1126}
1113 1127
1114#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1128#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1115pub struct Block {
1116 pub(crate) syntax: SyntaxNode,
1117}
1118impl ast::AttrsOwner for Block {}
1119impl ast::ModuleItemOwner for Block {}
1120impl Block {
1121 pub fn l_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['{']) }
1122 pub fn statements(&self) -> AstChildren<Stmt> { support::children(&self.syntax) }
1123 pub fn expr(&self) -> Option<Expr> { support::child(&self.syntax) }
1124 pub fn r_curly_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T!['}']) }
1125}
1126
1127#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1128pub struct ParamList { 1129pub struct ParamList {
1129 pub(crate) syntax: SyntaxNode, 1130 pub(crate) syntax: SyntaxNode,
1130} 1131}
@@ -1241,6 +1242,8 @@ pub struct PathSegment {
1241impl PathSegment { 1242impl PathSegment {
1242 pub fn coloncolon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![::]) } 1243 pub fn coloncolon_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![::]) }
1243 pub fn crate_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![crate]) } 1244 pub fn crate_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![crate]) }
1245 pub fn self_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![self]) }
1246 pub fn super_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![super]) }
1244 pub fn l_angle_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![<]) } 1247 pub fn l_angle_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![<]) }
1245 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) } 1248 pub fn name_ref(&self) -> Option<NameRef> { support::child(&self.syntax) }
1246 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) } 1249 pub fn type_arg_list(&self) -> Option<TypeArgList> { support::child(&self.syntax) }
@@ -1465,6 +1468,7 @@ pub enum Expr {
1465 FieldExpr(FieldExpr), 1468 FieldExpr(FieldExpr),
1466 AwaitExpr(AwaitExpr), 1469 AwaitExpr(AwaitExpr),
1467 TryExpr(TryExpr), 1470 TryExpr(TryExpr),
1471 EffectExpr(EffectExpr),
1468 CastExpr(CastExpr), 1472 CastExpr(CastExpr),
1469 RefExpr(RefExpr), 1473 RefExpr(RefExpr),
1470 PrefixExpr(PrefixExpr), 1474 PrefixExpr(PrefixExpr),
@@ -1947,6 +1951,17 @@ impl AstNode for LoopExpr {
1947 } 1951 }
1948 fn syntax(&self) -> &SyntaxNode { &self.syntax } 1952 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1949} 1953}
1954impl AstNode for EffectExpr {
1955 fn can_cast(kind: SyntaxKind) -> bool { kind == EFFECT_EXPR }
1956 fn cast(syntax: SyntaxNode) -> Option<Self> {
1957 if Self::can_cast(syntax.kind()) {
1958 Some(Self { syntax })
1959 } else {
1960 None
1961 }
1962 }
1963 fn syntax(&self) -> &SyntaxNode { &self.syntax }
1964}
1950impl AstNode for ForExpr { 1965impl AstNode for ForExpr {
1951 fn can_cast(kind: SyntaxKind) -> bool { kind == FOR_EXPR } 1966 fn can_cast(kind: SyntaxKind) -> bool { kind == FOR_EXPR }
1952 fn cast(syntax: SyntaxNode) -> Option<Self> { 1967 fn cast(syntax: SyntaxNode) -> Option<Self> {
@@ -2629,17 +2644,6 @@ impl AstNode for Condition {
2629 } 2644 }
2630 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2645 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2631} 2646}
2632impl AstNode for Block {
2633 fn can_cast(kind: SyntaxKind) -> bool { kind == BLOCK }
2634 fn cast(syntax: SyntaxNode) -> Option<Self> {
2635 if Self::can_cast(syntax.kind()) {
2636 Some(Self { syntax })
2637 } else {
2638 None
2639 }
2640 }
2641 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2642}
2643impl AstNode for ParamList { 2647impl AstNode for ParamList {
2644 fn can_cast(kind: SyntaxKind) -> bool { kind == PARAM_LIST } 2648 fn can_cast(kind: SyntaxKind) -> bool { kind == PARAM_LIST }
2645 fn cast(syntax: SyntaxNode) -> Option<Self> { 2649 fn cast(syntax: SyntaxNode) -> Option<Self> {
@@ -3288,6 +3292,9 @@ impl From<AwaitExpr> for Expr {
3288impl From<TryExpr> for Expr { 3292impl From<TryExpr> for Expr {
3289 fn from(node: TryExpr) -> Expr { Expr::TryExpr(node) } 3293 fn from(node: TryExpr) -> Expr { Expr::TryExpr(node) }
3290} 3294}
3295impl From<EffectExpr> for Expr {
3296 fn from(node: EffectExpr) -> Expr { Expr::EffectExpr(node) }
3297}
3291impl From<CastExpr> for Expr { 3298impl From<CastExpr> for Expr {
3292 fn from(node: CastExpr) -> Expr { Expr::CastExpr(node) } 3299 fn from(node: CastExpr) -> Expr { Expr::CastExpr(node) }
3293} 3300}
@@ -3318,8 +3325,10 @@ impl AstNode for Expr {
3318 TUPLE_EXPR | ARRAY_EXPR | PAREN_EXPR | PATH_EXPR | LAMBDA_EXPR | IF_EXPR 3325 TUPLE_EXPR | ARRAY_EXPR | PAREN_EXPR | PATH_EXPR | LAMBDA_EXPR | IF_EXPR
3319 | LOOP_EXPR | FOR_EXPR | WHILE_EXPR | CONTINUE_EXPR | BREAK_EXPR | LABEL 3326 | LOOP_EXPR | FOR_EXPR | WHILE_EXPR | CONTINUE_EXPR | BREAK_EXPR | LABEL
3320 | BLOCK_EXPR | RETURN_EXPR | MATCH_EXPR | RECORD_LIT | CALL_EXPR | INDEX_EXPR 3327 | BLOCK_EXPR | RETURN_EXPR | MATCH_EXPR | RECORD_LIT | CALL_EXPR | INDEX_EXPR
3321 | METHOD_CALL_EXPR | FIELD_EXPR | AWAIT_EXPR | TRY_EXPR | CAST_EXPR | REF_EXPR 3328 | METHOD_CALL_EXPR | FIELD_EXPR | AWAIT_EXPR | TRY_EXPR | EFFECT_EXPR | CAST_EXPR
3322 | PREFIX_EXPR | RANGE_EXPR | BIN_EXPR | LITERAL | MACRO_CALL | BOX_EXPR => true, 3329 | REF_EXPR | PREFIX_EXPR | RANGE_EXPR | BIN_EXPR | LITERAL | MACRO_CALL | BOX_EXPR => {
3330 true
3331 }
3323 _ => false, 3332 _ => false,
3324 } 3333 }
3325 } 3334 }
@@ -3347,6 +3356,7 @@ impl AstNode for Expr {
3347 FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }), 3356 FIELD_EXPR => Expr::FieldExpr(FieldExpr { syntax }),
3348 AWAIT_EXPR => Expr::AwaitExpr(AwaitExpr { syntax }), 3357 AWAIT_EXPR => Expr::AwaitExpr(AwaitExpr { syntax }),
3349 TRY_EXPR => Expr::TryExpr(TryExpr { syntax }), 3358 TRY_EXPR => Expr::TryExpr(TryExpr { syntax }),
3359 EFFECT_EXPR => Expr::EffectExpr(EffectExpr { syntax }),
3350 CAST_EXPR => Expr::CastExpr(CastExpr { syntax }), 3360 CAST_EXPR => Expr::CastExpr(CastExpr { syntax }),
3351 REF_EXPR => Expr::RefExpr(RefExpr { syntax }), 3361 REF_EXPR => Expr::RefExpr(RefExpr { syntax }),
3352 PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }), 3362 PREFIX_EXPR => Expr::PrefixExpr(PrefixExpr { syntax }),
@@ -3383,6 +3393,7 @@ impl AstNode for Expr {
3383 Expr::FieldExpr(it) => &it.syntax, 3393 Expr::FieldExpr(it) => &it.syntax,
3384 Expr::AwaitExpr(it) => &it.syntax, 3394 Expr::AwaitExpr(it) => &it.syntax,
3385 Expr::TryExpr(it) => &it.syntax, 3395 Expr::TryExpr(it) => &it.syntax,
3396 Expr::EffectExpr(it) => &it.syntax,
3386 Expr::CastExpr(it) => &it.syntax, 3397 Expr::CastExpr(it) => &it.syntax,
3387 Expr::RefExpr(it) => &it.syntax, 3398 Expr::RefExpr(it) => &it.syntax,
3388 Expr::PrefixExpr(it) => &it.syntax, 3399 Expr::PrefixExpr(it) => &it.syntax,
@@ -3863,6 +3874,11 @@ impl std::fmt::Display for LoopExpr {
3863 std::fmt::Display::fmt(self.syntax(), f) 3874 std::fmt::Display::fmt(self.syntax(), f)
3864 } 3875 }
3865} 3876}
3877impl std::fmt::Display for EffectExpr {
3878 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3879 std::fmt::Display::fmt(self.syntax(), f)
3880 }
3881}
3866impl std::fmt::Display for ForExpr { 3882impl std::fmt::Display for ForExpr {
3867 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { 3883 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3868 std::fmt::Display::fmt(self.syntax(), f) 3884 std::fmt::Display::fmt(self.syntax(), f)
@@ -4173,11 +4189,6 @@ impl std::fmt::Display for Condition {
4173 std::fmt::Display::fmt(self.syntax(), f) 4189 std::fmt::Display::fmt(self.syntax(), f)
4174 } 4190 }
4175} 4191}
4176impl std::fmt::Display for Block {
4177 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4178 std::fmt::Display::fmt(self.syntax(), f)
4179 }
4180}
4181impl std::fmt::Display for ParamList { 4192impl std::fmt::Display for ParamList {
4182 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { 4193 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4183 std::fmt::Display::fmt(self.syntax(), f) 4194 std::fmt::Display::fmt(self.syntax(), f)
diff --git a/crates/ra_syntax/src/ast/make.rs b/crates/ra_syntax/src/ast/make.rs
index 492088353..7b17fef49 100644
--- a/crates/ra_syntax/src/ast/make.rs
+++ b/crates/ra_syntax/src/ast/make.rs
@@ -82,14 +82,6 @@ pub fn block_expr(
82 ast_from_text(&format!("fn f() {}", buf)) 82 ast_from_text(&format!("fn f() {}", buf))
83} 83}
84 84
85pub fn block_from_expr(e: ast::Expr) -> ast::Block {
86 return from_text(&format!("{{ {} }}", e));
87
88 fn from_text(text: &str) -> ast::Block {
89 ast_from_text(&format!("fn f() {}", text))
90 }
91}
92
93pub fn expr_unit() -> ast::Expr { 85pub fn expr_unit() -> ast::Expr {
94 expr_from_text("()") 86 expr_from_text("()")
95} 87}
diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs
index ceeb2bde9..d0234cada 100644
--- a/crates/ra_syntax/src/lib.rs
+++ b/crates/ra_syntax/src/lib.rs
@@ -237,8 +237,7 @@ fn api_walkthrough() {
237 237
238 // Let's get the `1 + 1` expression! 238 // Let's get the `1 + 1` expression!
239 let body: ast::BlockExpr = func.body().unwrap(); 239 let body: ast::BlockExpr = func.body().unwrap();
240 let block = body.block().unwrap(); 240 let expr: ast::Expr = body.expr().unwrap();
241 let expr: ast::Expr = block.expr().unwrap();
242 241
243 // Enums are used to group related ast nodes together, and can be used for 242 // Enums are used to group related ast nodes together, and can be used for
244 // matching. However, because there are no public fields, it's possible to 243 // matching. However, because there are no public fields, it's possible to
@@ -274,8 +273,8 @@ fn api_walkthrough() {
274 assert_eq!(text.to_string(), "1 + 1"); 273 assert_eq!(text.to_string(), "1 + 1");
275 274
276 // There's a bunch of traversal methods on `SyntaxNode`: 275 // There's a bunch of traversal methods on `SyntaxNode`:
277 assert_eq!(expr_syntax.parent().as_ref(), Some(block.syntax())); 276 assert_eq!(expr_syntax.parent().as_ref(), Some(body.syntax()));
278 assert_eq!(block.syntax().first_child_or_token().map(|it| it.kind()), Some(T!['{'])); 277 assert_eq!(body.syntax().first_child_or_token().map(|it| it.kind()), Some(T!['{']));
279 assert_eq!( 278 assert_eq!(
280 expr_syntax.next_sibling_or_token().map(|it| it.kind()), 279 expr_syntax.next_sibling_or_token().map(|it| it.kind()),
281 Some(SyntaxKind::WHITESPACE) 280 Some(SyntaxKind::WHITESPACE)
diff --git a/crates/ra_syntax/src/parsing/lexer.rs b/crates/ra_syntax/src/parsing/lexer.rs
index f450ef4a2..1a5a6dc06 100644
--- a/crates/ra_syntax/src/parsing/lexer.rs
+++ b/crates/ra_syntax/src/parsing/lexer.rs
@@ -180,7 +180,7 @@ fn rustc_token_kind_to_syntax_kind(
180 return (syntax_kind, None); 180 return (syntax_kind, None);
181 181
182 fn match_literal_kind(kind: &rustc_lexer::LiteralKind) -> (SyntaxKind, Option<&'static str>) { 182 fn match_literal_kind(kind: &rustc_lexer::LiteralKind) -> (SyntaxKind, Option<&'static str>) {
183 use rustc_lexer::LiteralKind as LK; 183 use rustc_lexer::{LexRawStrError, LiteralKind as LK};
184 184
185 #[rustfmt::skip] 185 #[rustfmt::skip]
186 let syntax_kind = match *kind { 186 let syntax_kind = match *kind {
@@ -215,21 +215,28 @@ fn rustc_token_kind_to_syntax_kind(
215 return (BYTE_STRING, Some("Missing trailing `\"` symbol to terminate the byte string literal")) 215 return (BYTE_STRING, Some("Missing trailing `\"` symbol to terminate the byte string literal"))
216 } 216 }
217 217
218 LK::RawStr { started: true, terminated: true, .. } => RAW_STRING, 218 LK::RawStr(str) => match str.validate() {
219 LK::RawStr { started: true, terminated: false, .. } => { 219 Ok(_) => RAW_STRING,
220 return (RAW_STRING, Some("Missing trailing `\"` with `#` symbols to terminate the raw string literal")) 220 Err(LexRawStrError::InvalidStarter) => return (RAW_STRING, Some("Missing `\"` symbol after `#` symbols to begin the raw string literal")),
221 } 221 Err(LexRawStrError::NoTerminator { expected, found, .. }) => if expected == found {
222 LK::RawStr { started: false, .. } => { 222 return (RAW_STRING, Some("Missing trailing `\"` to terminate the raw string literal"))
223 return (RAW_STRING, Some("Missing `\"` symbol after `#` symbols to begin the raw string literal")) 223 } else {
224 } 224 return (RAW_STRING, Some("Missing trailing `\"` with `#` symbols to terminate the raw string literal"))
225
226 },
227 Err(LexRawStrError::TooManyDelimiters { .. }) => return (RAW_STRING, Some("Too many `#` symbols: raw strings may be delimited by up to 65535 `#` symbols")),
228 },
229 LK::RawByteStr(str) => match str.validate() {
230 Ok(_) => RAW_BYTE_STRING,
231 Err(LexRawStrError::InvalidStarter) => return (RAW_BYTE_STRING, Some("Missing `\"` symbol after `#` symbols to begin the raw byte string literal")),
232 Err(LexRawStrError::NoTerminator { expected, found, .. }) => if expected == found {
233 return (RAW_BYTE_STRING, Some("Missing trailing `\"` to terminate the raw byte string literal"))
234 } else {
235 return (RAW_BYTE_STRING, Some("Missing trailing `\"` with `#` symbols to terminate the raw byte string literal"))
225 236
226 LK::RawByteStr { started: true, terminated: true, .. } => RAW_BYTE_STRING, 237 },
227 LK::RawByteStr { started: true, terminated: false, .. } => { 238 Err(LexRawStrError::TooManyDelimiters { .. }) => return (RAW_BYTE_STRING, Some("Too many `#` symbols: raw byte strings may be delimited by up to 65535 `#` symbols")),
228 return (RAW_BYTE_STRING, Some("Missing trailing `\"` with `#` symbols to terminate the raw byte string literal")) 239 },
229 }
230 LK::RawByteStr { started: false, .. } => {
231 return (RAW_BYTE_STRING, Some("Missing `\"` symbol after `#` symbols to begin the raw byte string literal"))
232 }
233 }; 240 };
234 241
235 (syntax_kind, None) 242 (syntax_kind, None)
diff --git a/crates/ra_syntax/src/validation.rs b/crates/ra_syntax/src/validation.rs
index f0b3dec63..e075cd801 100644
--- a/crates/ra_syntax/src/validation.rs
+++ b/crates/ra_syntax/src/validation.rs
@@ -96,7 +96,7 @@ pub(crate) fn validate(root: &SyntaxNode) -> Vec<SyntaxError> {
96 ast::RecordField(it) => validate_numeric_name(it.name_ref(), &mut errors), 96 ast::RecordField(it) => validate_numeric_name(it.name_ref(), &mut errors),
97 ast::Visibility(it) => validate_visibility(it, &mut errors), 97 ast::Visibility(it) => validate_visibility(it, &mut errors),
98 ast::RangeExpr(it) => validate_range_expr(it, &mut errors), 98 ast::RangeExpr(it) => validate_range_expr(it, &mut errors),
99 ast::PathSegment(it) => validate_crate_keyword_in_path_segment(it, &mut errors), 99 ast::PathSegment(it) => validate_path_keywords(it, &mut errors),
100 _ => (), 100 _ => (),
101 } 101 }
102 } 102 }
@@ -224,59 +224,82 @@ fn validate_range_expr(expr: ast::RangeExpr, errors: &mut Vec<SyntaxError>) {
224 } 224 }
225} 225}
226 226
227fn validate_crate_keyword_in_path_segment( 227fn validate_path_keywords(segment: ast::PathSegment, errors: &mut Vec<SyntaxError>) {
228 segment: ast::PathSegment, 228 use ast::PathSegmentKind;
229 errors: &mut Vec<SyntaxError>,
230) {
231 const ERR_MSG: &str = "The `crate` keyword is only allowed as the first segment of a path";
232 229
233 let crate_token = match segment.crate_token() { 230 let path = segment.parent_path();
234 None => return, 231 let is_path_start = segment.coloncolon_token().is_none() && path.qualifier().is_none();
235 Some(it) => it, 232
236 }; 233 if let Some(token) = segment.self_token() {
234 if !is_path_start {
235 errors.push(SyntaxError::new(
236 "The `self` keyword is only allowed as the first segment of a path",
237 token.text_range(),
238 ));
239 }
240 } else if let Some(token) = segment.crate_token() {
241 if !is_path_start || use_prefix(path).is_some() {
242 errors.push(SyntaxError::new(
243 "The `crate` keyword is only allowed as the first segment of a path",
244 token.text_range(),
245 ));
246 }
247 } else if let Some(token) = segment.super_token() {
248 if !all_supers(&path) {
249 errors.push(SyntaxError::new(
250 "The `super` keyword may only be preceded by other `super`s",
251 token.text_range(),
252 ));
253 return;
254 }
237 255
238 // Disallow both ::crate and foo::crate 256 let mut curr_path = path;
239 let mut path = segment.parent_path(); 257 while let Some(prefix) = use_prefix(curr_path) {
240 if segment.coloncolon_token().is_some() || path.qualifier().is_some() { 258 if !all_supers(&prefix) {
241 errors.push(SyntaxError::new(ERR_MSG, crate_token.text_range())); 259 errors.push(SyntaxError::new(
242 return; 260 "The `super` keyword may only be preceded by other `super`s",
261 token.text_range(),
262 ));
263 return;
264 }
265 curr_path = prefix;
266 }
243 } 267 }
244 268
245 // For expressions and types, validation is complete, but we still have 269 fn use_prefix(mut path: ast::Path) -> Option<ast::Path> {
246 // to handle invalid UseItems like this: 270 for node in path.syntax().ancestors().skip(1) {
247 // 271 match_ast! {
248 // use foo:{crate::bar::baz}; 272 match node {
249 // 273 ast::UseTree(it) => if let Some(tree_path) = it.path() {
250 // To handle this we must inspect the parent `UseItem`s and `UseTree`s 274 // Even a top-level path exists within a `UseTree` so we must explicitly
251 // but right now we're looking deep inside the nested `Path` nodes because 275 // allow our path but disallow anything else
252 // `Path`s are left-associative: 276 if tree_path != path {
253 // 277 return Some(tree_path);
254 // ((crate)::bar)::baz) 278 }
255 // ^ current value of path 279 },
256 // 280 ast::UseTreeList(_it) => continue,
257 // So we need to climb to the top 281 ast::Path(parent) => path = parent,
258 while let Some(parent) = path.parent_path() { 282 _ => return None,
259 path = parent; 283 }
284 };
285 }
286 return None;
260 } 287 }
261 288
262 // Now that we've found the whole path we need to see if there's a prefix 289 fn all_supers(path: &ast::Path) -> bool {
263 // somewhere in the UseTree hierarchy. This check is arbitrarily deep 290 let segment = match path.segment() {
264 // because rust allows arbitrary nesting like so: 291 Some(it) => it,
265 // 292 None => return false,
266 // use {foo::{{{{crate::bar::baz}}}}};
267 for node in path.syntax().ancestors().skip(1) {
268 match_ast! {
269 match node {
270 ast::UseTree(it) => if let Some(tree_path) = it.path() {
271 // Even a top-level path exists within a `UseTree` so we must explicitly
272 // allow our path but disallow anything else
273 if tree_path != path {
274 errors.push(SyntaxError::new(ERR_MSG, crate_token.text_range()));
275 }
276 },
277 ast::UseTreeList(_it) => continue,
278 _ => return,
279 }
280 }; 293 };
294
295 if segment.kind() != Some(PathSegmentKind::SuperKw) {
296 return false;
297 }
298
299 if let Some(ref subpath) = path.qualifier() {
300 return all_supers(subpath);
301 }
302
303 return true;
281 } 304 }
282} 305}
diff --git a/crates/ra_syntax/src/validation/block.rs b/crates/ra_syntax/src/validation/block.rs
index 8e962ab5b..2c08f7e6e 100644
--- a/crates/ra_syntax/src/validation/block.rs
+++ b/crates/ra_syntax/src/validation/block.rs
@@ -6,19 +6,17 @@ use crate::{
6 SyntaxKind::*, 6 SyntaxKind::*,
7}; 7};
8 8
9pub(crate) fn validate_block_expr(expr: ast::BlockExpr, errors: &mut Vec<SyntaxError>) { 9pub(crate) fn validate_block_expr(block: ast::BlockExpr, errors: &mut Vec<SyntaxError>) {
10 if let Some(parent) = expr.syntax().parent() { 10 if let Some(parent) = block.syntax().parent() {
11 match parent.kind() { 11 match parent.kind() {
12 FN_DEF | EXPR_STMT | BLOCK => return, 12 FN_DEF | EXPR_STMT | BLOCK_EXPR => return,
13 _ => {} 13 _ => {}
14 } 14 }
15 } 15 }
16 if let Some(block) = expr.block() { 16 errors.extend(block.attrs().map(|attr| {
17 errors.extend(block.attrs().map(|attr| { 17 SyntaxError::new(
18 SyntaxError::new( 18 "A block in this position cannot accept inner attributes",
19 "A block in this position cannot accept inner attributes", 19 attr.syntax().text_range(),
20 attr.syntax().text_range(), 20 )
21 ) 21 }))
22 }))
23 }
24} 22}
diff --git a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast
index 95cc83caa..375ed45e0 100644
--- a/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast
+++ b/crates/ra_syntax/test_data/parser/err/0005_attribute_recover.rast
@@ -28,10 +28,9 @@ [email protected]
28 [email protected] ")" 28 [email protected] ")"
29 [email protected] " " 29 [email protected] " "
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "{"
32 [email protected] "{" 32 [email protected] "\n"
33 [email protected] "\n" 33 [email protected] "}"
34 [email protected] "}"
35 [email protected] "\n\n\n" 34 [email protected] "\n\n\n"
36 [email protected] 35 [email protected]
37 [email protected] "#" 36 [email protected] "#"
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 dc3e12091..b72c92c33 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
@@ -21,9 +21,8 @@ [email protected]
21 [email protected] "(" 21 [email protected] "("
22 [email protected] ")" 22 [email protected] ")"
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] "{" 25 [email protected] "}"
26 [email protected] "}"
27 [email protected] "\n\n" 26 [email protected] "\n\n"
28 [email protected] 27 [email protected]
29 [email protected] "}" 28 [email protected] "}"
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 97539fcf2..33953d8d7 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
@@ -9,10 +9,9 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n"
14 [email protected] "\n" 14 [email protected] "}"
15 [email protected] "}"
16 [email protected] "\n\n" 15 [email protected] "\n\n"
17 [email protected] 16 [email protected]
18 [email protected] 17 [email protected]
@@ -34,30 +33,28 @@ [email protected]
34 [email protected] "true" 33 [email protected] "true"
35 [email protected] " " 34 [email protected] " "
36 [email protected] 35 [email protected]
37 [email protected] 36 [email protected] "{"
38 [email protected] "{" 37 [email protected] "\n "
39 [email protected] "\n " 38 [email protected]
40 [email protected] 39 [email protected] "1"
41 [email protected] "1" 40 [email protected] "\n "
42 [email protected] "\n " 41 [email protected] "}"
43 [email protected] "}"
44 [email protected] " " 42 [email protected] " "
45 [email protected] "else" 43 [email protected] "else"
46 [email protected] " " 44 [email protected] " "
47 [email protected] 45 [email protected]
48 [email protected] 46 [email protected] "{"
49 [email protected] "{" 47 [email protected] "\n "
50 [email protected] "\n " 48 [email protected]
51 [email protected] 49 [email protected]
52 [email protected] 50 [email protected] "2"
53 [email protected] "2" 51 [email protected] " "
54 [email protected] " " 52 [email protected] "+"
55 [email protected] "+" 53 [email protected] " "
56 [email protected] " " 54 [email protected]
57 [email protected] 55 [email protected] "3"
58 [email protected] "3" 56 [email protected] "\n "
59 [email protected] "\n " 57 [email protected] "}"
60 [email protected] "}"
61 [email protected] "\n" 58 [email protected] "\n"
62 [email protected] "}" 59 [email protected] "}"
63 [email protected] "\n\n" 60 [email protected] "\n\n"
@@ -71,10 +68,9 @@ [email protected]
71 [email protected] ")" 68 [email protected] ")"
72 [email protected] " " 69 [email protected] " "
73 [email protected] 70 [email protected]
74 [email protected] 71 [email protected] "{"
75 [email protected] "{" 72 [email protected] "\n"
76 [email protected] "\n" 73 [email protected] "}"
77 [email protected] "}"
78 [email protected] "\n" 74 [email protected] "\n"
79error 17..17: expected BANG 75error 17..17: expected BANG
80error 19..19: expected SEMICOLON 76error 19..19: 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 e10bb8174..06a326d26 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
@@ -9,37 +9,36 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "|"
18 [email protected] "|" 18 [email protected] "|"
19 [email protected] "|" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "->"
22 [email protected] "->" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "("
25 [email protected] "(" 25 [email protected] ")"
26 [email protected] ")" 26 [email protected] " "
27 [email protected] " " 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "unsafe"
30 [email protected] "unsafe" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "{"
33 [email protected] "{" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "("
36 [email protected] "(" 36 [email protected] ")"
37 [email protected] ")" 37 [email protected] " "
38 [email protected] " " 38 [email protected] "}"
39 [email protected] "}" 39 [email protected] ";"
40 [email protected] ";" 40 [email protected] "\n"
41 [email protected] "\n" 41 [email protected] "}"
42 [email protected] "}"
43 [email protected] "\n" 42 [email protected] "\n"
44error 24..24: expected `{` 43error 24..24: expected `{`
45error 24..24: expected SEMICOLON 44error 24..24: expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast
index 61c361833..9323b7890 100644
--- a/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/err/0014_where_no_bounds.rast
@@ -25,8 +25,7 @@ [email protected]
25 [email protected] "T" 25 [email protected] "T"
26 [email protected] " " 26 [email protected] " "
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "{"
29 [email protected] "{" 29 [email protected] "}"
30 [email protected] "}"
31 [email protected] "\n" 30 [email protected] "\n"
32error 19..19: expected colon 31error 19..19: expected colon
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 92bb47316..93434f34f 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
@@ -9,36 +9,35 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "foo"
21 [email protected] "foo" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected] "1"
26 [email protected] "1" 26 [email protected] ","
27 [email protected] "," 27 [email protected] " "
28 [email protected] " " 28 [email protected]
29 [email protected] 29 [email protected] "2"
30 [email protected] "2" 30 [email protected] "\n "
31 [email protected] "\n " 31 [email protected] ")"
32 [email protected] ")" 32 [email protected] "\n "
33 [email protected] "\n " 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "return"
36 [email protected] "return" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "92"
39 [email protected] "92" 39 [email protected] ";"
40 [email protected] ";" 40 [email protected] "\n"
41 [email protected] "\n" 41 [email protected] "}"
42 [email protected] "}"
43 [email protected] "\n" 42 [email protected] "\n"
44error 38..38: expected SEMICOLON 43error 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 7bc718302..628315c78 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
@@ -20,28 +20,27 @@ [email protected]
20 [email protected] ")" 20 [email protected] ")"
21 [email protected] " " 21 [email protected] " "
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected] "let"
27 [email protected] "let" 27 [email protected] " "
28 [email protected] " " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "bar"
31 [email protected] "bar" 31 [email protected] " "
32 [email protected] " " 32 [email protected] "="
33 [email protected] "=" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "92"
36 [email protected] "92" 36 [email protected] ";"
37 [email protected] ";" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected] "1"
41 [email protected] "1" 41 [email protected] " "
42 [email protected] " " 42 [email protected] "+"
43 [email protected] "+" 43 [email protected] "\n"
44 [email protected] "\n" 44 [email protected] "}"
45 [email protected] "}"
46 [email protected] "\n" 45 [email protected] "\n"
47error 44..44: expected expression 46error 44..44: expected expression
diff --git a/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast b/crates/ra_syntax/test_data/parser/err/0018_incomplete_fn.rast
index 63194f974..31cc4e551 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
@@ -33,89 +33,88 @@ [email protected]
33 [email protected] "ScopeId" 33 [email protected] "ScopeId"
34 [email protected] " " 34 [email protected] " "
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "{"
37 [email protected] "{" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected] "let"
40 [email protected] "let" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "res"
44 [email protected] "res" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "="
46 [email protected] "=" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "self"
53 [email protected] "self" 53 [email protected] "."
54 [email protected] "." 54 [email protected]
55 [email protected] 55 [email protected] "scopes"
56 [email protected] "scopes" 56 [email protected] "."
57 [email protected] "." 57 [email protected]
58 [email protected] 58 [email protected] "len"
59 [email protected] "len" 59 [email protected]
60 [email protected] 60 [email protected] "("
61 [email protected] "(" 61 [email protected] ")"
62 [email protected] ")" 62 [email protected] ";"
63 [email protected] ";" 63 [email protected] "\n "
64 [email protected] "\n " 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected]
69 [email protected] 69 [email protected] "self"
70 [email protected] "self" 70 [email protected] "."
71 [email protected] "." 71 [email protected]
72 [email protected] 72 [email protected] "scopes"
73 [email protected] "scopes" 73 [email protected] "."
74 [email protected] "." 74 [email protected]
75 [email protected] 75 [email protected] "push"
76 [email protected] "push" 76 [email protected]
77 [email protected] 77 [email protected] "("
78 [email protected] "(" 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "ScopeData"
83 [email protected] "ScopeData" 83 [email protected] " "
84 [email protected] " " 84 [email protected]
85 [email protected] 85 [email protected] "{"
86 [email protected] "{" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected] "parent"
90 [email protected] "parent" 90 [email protected] ":"
91 [email protected] ":" 91 [email protected] " "
92 [email protected] " " 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected]
95 [email protected] 95 [email protected]
96 [email protected] 96 [email protected] "None"
97 [email protected] "None" 97 [email protected] ","
98 [email protected] "," 98 [email protected] " "
99 [email protected] " " 99 [email protected]
100 [email protected] 100 [email protected]
101 [email protected] 101 [email protected] "entries"
102 [email protected] "entries" 102 [email protected] ":"
103 [email protected] ":" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected]
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected] "vec"
109 [email protected] "vec" 109 [email protected] "!"
110 [email protected] "!" 110 [email protected]
111 [email protected] 111 [email protected] "["
112 [email protected] "[" 112 [email protected] "]"
113 [email protected] "]" 113 [email protected] " "
114 [email protected] " " 114 [email protected] "}"
115 [email protected] "}" 115 [email protected] ")"
116 [email protected] ")" 116 [email protected] "\n "
117 [email protected] "\n " 117 [email protected] "}"
118 [email protected] "}"
119 [email protected] "\n\n " 118 [email protected] "\n\n "
120 [email protected] 119 [email protected]
121 [email protected] "fn" 120 [email protected] "fn"
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 d20bb60f1..4ff27f5c8 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
@@ -9,91 +9,87 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "foo"
20 [email protected] "foo" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected] "let"
25 [email protected] "let" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "bar"
29 [email protected] "bar" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "="
31 [email protected] "=" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected] "1"
34 [email protected] "1" 34 [email protected] ";"
35 [email protected] ";" 35 [email protected] "\n "
36 [email protected] "\n " 36 [email protected]
37 [email protected] 37 [email protected] "let"
38 [email protected] "let" 38 [email protected] "\n "
39 [email protected] "\n " 39 [email protected]
40 [email protected] 40 [email protected] "let"
41 [email protected] "let" 41 [email protected] " "
42 [email protected] " " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected] "baz"
45 [email protected] "baz" 45 [email protected] " "
46 [email protected] " " 46 [email protected] "="
47 [email protected] "=" 47 [email protected] " "
48 [email protected] " " 48 [email protected]
49 [email protected] 49 [email protected] "92"
50 [email protected] "92" 50 [email protected] ";"
51 [email protected] ";" 51 [email protected] "\n "
52 [email protected] "\n " 52 [email protected]
53 [email protected] 53 [email protected] "let"
54 [email protected] "let" 54 [email protected] "\n "
55 [email protected] "\n " 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected] "if"
58 [email protected] "if" 58 [email protected] " "
59 [email protected] " " 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "true"
62 [email protected] "true" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "{"
65 [email protected] 65 [email protected] "}"
66 [email protected] "{" 66 [email protected] "\n "
67 [email protected] "}" 67 [email protected]
68 [email protected] "\n " 68 [email protected] "let"
69 [email protected] 69 [email protected] "\n "
70 [email protected] "let" 70 [email protected]
71 [email protected] "\n " 71 [email protected]
72 [email protected] 72 [email protected] "while"
73 [email protected] 73 [email protected] " "
74 [email protected] "while" 74 [email protected]
75 [email protected] " " 75 [email protected]
76 [email protected] 76 [email protected] "true"
77 [email protected] 77 [email protected] " "
78 [email protected] "true" 78 [email protected]
79 [email protected] " " 79 [email protected] "{"
80 [email protected] 80 [email protected] "}"
81 [email protected] 81 [email protected] "\n "
82 [email protected] "{" 82 [email protected]
83 [email protected] "}" 83 [email protected] "let"
84 [email protected] "\n " 84 [email protected] "\n "
85 [email protected] 85 [email protected]
86 [email protected] "let" 86 [email protected] "loop"
87 [email protected] "\n " 87 [email protected] " "
88 [email protected] 88 [email protected]
89 [email protected] "loop" 89 [email protected] "{"
90 [email protected] " " 90 [email protected] "}"
91 [email protected] 91 [email protected] "\n"
92 [email protected] 92 [email protected] "}"
93 [email protected] "{"
94 [email protected] "}"
95 [email protected] "\n"
96 [email protected] "}"
97 [email protected] "\n" 93 [email protected] "\n"
98error 24..24: expected expression 94error 24..24: expected expression
99error 24..24: expected SEMICOLON 95error 24..24: expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast
index 1185f44f9..5f3a31473 100644
--- a/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast
+++ b/crates/ra_syntax/test_data/parser/err/0020_fn_recover.rast
@@ -12,9 +12,8 @@ [email protected]
12 [email protected] ")" 12 [email protected] ")"
13 [email protected] " " 13 [email protected] " "
14 [email protected] 14 [email protected]
15 [email protected] 15 [email protected] "{"
16 [email protected] "{" 16 [email protected] "}"
17 [email protected] "}"
18 [email protected] "\n" 17 [email protected] "\n"
19error 2..2: expected a name 18error 2..2: expected a name
20error 2..2: expected function arguments 19error 2..2: expected function arguments
diff --git a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast
index c7bf4caa0..1746bd3c1 100644
--- a/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast
+++ b/crates/ra_syntax/test_data/parser/err/0021_incomplete_param.rast
@@ -26,10 +26,9 @@ [email protected]
26 [email protected] ")" 26 [email protected] ")"
27 [email protected] " " 27 [email protected] " "
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "{"
30 [email protected] "{" 30 [email protected] "\n"
31 [email protected] "\n" 31 [email protected] "}"
32 [email protected] "}"
33 [email protected] "\n" 32 [email protected] "\n"
34error 16..16: expected COLON 33error 16..16: expected COLON
35error 16..16: expected type 34error 16..16: expected type
diff --git a/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast b/crates/ra_syntax/test_data/parser/err/0022_bad_exprs.rast
index cc0d75cc8..28146f44e 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
@@ -9,37 +9,36 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "["
17 [email protected] "[" 17 [email protected]
18 [email protected] 18 [email protected] "1"
19 [email protected] "1" 19 [email protected] ","
20 [email protected] "," 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "2"
23 [email protected] "2" 23 [email protected] ","
24 [email protected] "," 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "@"
27 [email protected] "@" 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] ","
30 [email protected] "," 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "struct"
33 [email protected] "struct" 33 [email protected]
34 [email protected] 34 [email protected] ","
35 [email protected] "," 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected] "let"
38 [email protected] "let" 38 [email protected]
39 [email protected] 39 [email protected] "]"
40 [email protected] "]" 40 [email protected] " "
41 [email protected] " " 41 [email protected] "}"
42 [email protected] "}"
43 [email protected] "\n" 42 [email protected] "\n"
44 [email protected] 43 [email protected]
45 [email protected] "fn" 44 [email protected] "fn"
@@ -51,44 +50,43 @@ [email protected]
51 [email protected] ")" 50 [email protected] ")"
52 [email protected] " " 51 [email protected] " "
53 [email protected] 52 [email protected]
54 [email protected] 53 [email protected] "{"
55 [email protected] "{" 54 [email protected] " "
56 [email protected] " " 55 [email protected]
57 [email protected] 56 [email protected]
58 [email protected] 57 [email protected]
59 [email protected] 58 [email protected]
60 [email protected] 59 [email protected]
61 [email protected] 60 [email protected]
62 [email protected] 61 [email protected] "foo"
63 [email protected] "foo" 62 [email protected]
64 [email protected] 63 [email protected] "("
65 [email protected] "(" 64 [email protected]
66 [email protected] 65 [email protected] "1"
67 [email protected] "1" 66 [email protected] ","
68 [email protected] "," 67 [email protected] " "
69 [email protected] " " 68 [email protected]
70 [email protected] 69 [email protected] "2"
71 [email protected] "2" 70 [email protected] ","
72 [email protected] "," 71 [email protected] " "
73 [email protected] " " 72 [email protected]
74 [email protected] 73 [email protected] "@"
75 [email protected] "@" 74 [email protected]
76 [email protected] 75 [email protected]
77 [email protected] 76 [email protected] ","
78 [email protected] "," 77 [email protected] " "
79 [email protected] " " 78 [email protected]
80 [email protected] 79 [email protected] "impl"
81 [email protected] "impl" 80 [email protected]
82 [email protected] 81 [email protected]
83 [email protected] 82 [email protected] ","
84 [email protected] "," 83 [email protected] " "
85 [email protected] " " 84 [email protected]
86 [email protected] 85 [email protected] "let"
87 [email protected] "let" 86 [email protected]
88 [email protected] 87 [email protected] ")"
89 [email protected] ")" 88 [email protected] " "
90 [email protected] " " 89 [email protected] "}"
91 [email protected] "}"
92 [email protected] "\n" 90 [email protected] "\n"
93 [email protected] 91 [email protected]
94 [email protected] "fn" 92 [email protected] "fn"
@@ -100,53 +98,52 @@ [email protected]
100 [email protected] ")" 98 [email protected] ")"
101 [email protected] " " 99 [email protected] " "
102 [email protected] 100 [email protected]
103 [email protected] 101 [email protected] "{"
104 [email protected] "{" 102 [email protected] " "
105 [email protected] " " 103 [email protected]
106 [email protected] 104 [email protected]
107 [email protected] 105 [email protected]
108 [email protected] 106 [email protected]
109 [email protected] 107 [email protected]
110 [email protected] 108 [email protected]
111 [email protected] 109 [email protected] "foo"
112 [email protected] "foo" 110 [email protected] "."
113 [email protected] "." 111 [email protected]
114 [email protected] 112 [email protected] "bar"
115 [email protected] "bar" 113 [email protected]
116 [email protected] 114 [email protected] "("
117 [email protected] "(" 115 [email protected]
118 [email protected] 116 [email protected] "1"
119 [email protected] "1" 117 [email protected] ","
120 [email protected] "," 118 [email protected] " "
121 [email protected] " " 119 [email protected]
122 [email protected] 120 [email protected] "2"
123 [email protected] "2" 121 [email protected] ","
124 [email protected] "," 122 [email protected] " "
125 [email protected] " " 123 [email protected]
126 [email protected] 124 [email protected] "@"
127 [email protected] "@" 125 [email protected]
128 [email protected] 126 [email protected]
129 [email protected] 127 [email protected] ","
130 [email protected] "," 128 [email protected] " "
131 [email protected] " " 129 [email protected]
132 [email protected] 130 [email protected]
133 [email protected] 131 [email protected] "]"
134 [email protected] "]" 132 [email protected]
135 [email protected] 133 [email protected]
136 [email protected] 134 [email protected] ","
137 [email protected] "," 135 [email protected] " "
138 [email protected] " " 136 [email protected]
139 [email protected] 137 [email protected] "trait"
140 [email protected] "trait" 138 [email protected]
141 [email protected] 139 [email protected] ","
142 [email protected] "," 140 [email protected] " "
143 [email protected] " " 141 [email protected]
144 [email protected] 142 [email protected] "let"
145 [email protected] "let" 143 [email protected]
146 [email protected] 144 [email protected] ")"
147 [email protected] ")" 145 [email protected] " "
148 [email protected] " " 146 [email protected] "}"
149 [email protected] "}"
150 [email protected] "\n" 147 [email protected] "\n"
151error 16..16: expected expression 148error 16..16: expected expression
152error 17..17: expected R_BRACK 149error 17..17: expected R_BRACK
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 c37594146..9ea9d715e 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
@@ -9,31 +9,30 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "foo"
19 [email protected] "foo" 19 [email protected] "!"
20 [email protected] "!" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected] "bar"
25 [email protected] "bar" 25 [email protected] ","
26 [email protected] "," 26 [email protected] " "
27 [email protected] " " 27 [email protected] "\"baz\""
28 [email protected] "\"baz\"" 28 [email protected] ","
29 [email protected] "," 29 [email protected] " "
30 [email protected] " " 30 [email protected] "1"
31 [email protected] "1" 31 [email protected] ","
32 [email protected] "," 32 [email protected] " "
33 [email protected] " " 33 [email protected] "2.0"
34 [email protected] "2.0" 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected] "}"
36 [email protected] "}"
37 [email protected] " " 36 [email protected] " "
38 [email protected] "//~ ERROR incorrect c ..." 37 [email protected] "//~ ERROR incorrect c ..."
39 [email protected] "\n" 38 [email protected] "\n"
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 4296355f2..7c957fdde 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
@@ -62,9 +62,8 @@ [email protected]
62 [email protected] ")" 62 [email protected] ")"
63 [email protected] " " 63 [email protected] " "
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected] "{"
66 [email protected] "{" 66 [email protected] "}"
67 [email protected] "}"
68 [email protected] "\n\n" 67 [email protected] "\n\n"
69 [email protected] 68 [email protected]
70 [email protected] "fn" 69 [email protected] "fn"
@@ -76,219 +75,218 @@ [email protected]
76 [email protected] ")" 75 [email protected] ")"
77 [email protected] " " 76 [email protected] " "
78 [email protected] 77 [email protected]
79 [email protected] 78 [email protected] "{"
80 [email protected] "{" 79 [email protected] "\n "
81 [email protected] "\n " 80 [email protected]
82 [email protected] 81 [email protected] "let"
83 [email protected] "let" 82 [email protected] " "
84 [email protected] " " 83 [email protected]
85 [email protected] 84 [email protected] "_"
86 [email protected] "_" 85 [email protected] ":"
87 [email protected] ":" 86 [email protected] " "
88 [email protected] " " 87 [email protected]
89 [email protected] 88 [email protected]
90 [email protected] 89 [email protected]
91 [email protected] 90 [email protected]
92 [email protected] 91 [email protected]
93 [email protected] 92 [email protected]
94 [email protected] 93 [email protected]
95 [email protected] 94 [email protected] "Box"
96 [email protected] "Box" 95 [email protected]
97 [email protected] 96 [email protected] "<"
98 [email protected] "<" 97 [email protected]
99 [email protected] 98 [email protected]
100 [email protected] 99 [email protected] "("
101 [email protected] "(" 100 [email protected]
102 [email protected] 101 [email protected]
103 [email protected] 102 [email protected]
104 [email protected] 103 [email protected]
105 [email protected] 104 [email protected] "Copy"
106 [email protected] "Copy" 105 [email protected] ")"
107 [email protected] ")" 106 [email protected] " "
108 [email protected] " " 107 [email protected] "+"
109 [email protected] "+" 108 [email protected] " "
110 [email protected] " " 109 [email protected]
111 [email protected] 110 [email protected] "("
112 [email protected] "(" 111 [email protected] "?"
113 [email protected] "?" 112 [email protected]
114 [email protected] 113 [email protected]
115 [email protected] 114 [email protected]
116 [email protected] 115 [email protected]
117 [email protected] 116 [email protected] "Sized"
118 [email protected] "Sized" 117 [email protected] ")"
119 [email protected] ")" 118 [email protected] " "
120 [email protected] " " 119 [email protected] "+"
121 [email protected] "+" 120 [email protected] " "
122 [email protected] " " 121 [email protected]
123 [email protected] 122 [email protected] "("
124 [email protected] "(" 123 [email protected]
125 [email protected] 124 [email protected] "for"
126 [email protected] "for" 125 [email protected]
127 [email protected] 126 [email protected] "<"
128 [email protected] "<" 127 [email protected]
129 [email protected] 128 [email protected] "\'a"
130 [email protected] "\'a" 129 [email protected] ">"
131 [email protected] ">" 130 [email protected] " "
132 [email protected] " " 131 [email protected]
133 [email protected] 132 [email protected]
134 [email protected] 133 [email protected]
135 [email protected] 134 [email protected]
136 [email protected] 135 [email protected] "Trait"
137 [email protected] "Trait" 136 [email protected]
138 [email protected] 137 [email protected] "<"
139 [email protected] "<" 138 [email protected]
140 [email protected] 139 [email protected] "\'a"
141 [email protected] "\'a" 140 [email protected] ">"
142 [email protected] ">" 141 [email protected] ")"
143 [email protected] ")" 142 [email protected]
144 [email protected] 143 [email protected]
145 [email protected] 144 [email protected] ">"
146 [email protected] ">" 145 [email protected] ";"
147 [email protected] ";" 146 [email protected] "\n "
148 [email protected] "\n " 147 [email protected]
149 [email protected] 148 [email protected] "let"
150 [email protected] "let" 149 [email protected] " "
151 [email protected] " " 150 [email protected]
152 [email protected] 151 [email protected] "_"
153 [email protected] "_" 152 [email protected] ":"
154 [email protected] ":" 153 [email protected] " "
155 [email protected] " " 154 [email protected]
156 [email protected] 155 [email protected]
157 [email protected] 156 [email protected]
158 [email protected] 157 [email protected]
159 [email protected] 158 [email protected] "Box"
160 [email protected] "Box" 159 [email protected]
161 [email protected] 160 [email protected] "<"
162 [email protected] "<" 161 [email protected]
163 [email protected] 162 [email protected]
164 [email protected] 163 [email protected] "("
165 [email protected] "(" 164 [email protected]
166 [email protected] 165 [email protected] "?"
167 [email protected] "?" 166 [email protected]
168 [email protected] 167 [email protected]
169 [email protected] 168 [email protected]
170 [email protected] 169 [email protected]
171 [email protected] 170 [email protected]
172 [email protected] 171 [email protected] "Sized"
173 [email protected] "Sized" 172 [email protected]
174 [email protected] 173 [email protected]
175 [email protected] 174 [email protected] ")"
176 [email protected] ")" 175 [email protected] " "
177 [email protected] " " 176 [email protected]
178 [email protected] 177 [email protected]
179 [email protected] 178 [email protected] "+"
180 [email protected] "+" 179 [email protected] " "
181 [email protected] " " 180 [email protected]
182 [email protected] 181 [email protected]
183 [email protected] 182 [email protected] "("
184 [email protected] "(" 183 [email protected]
185 [email protected] 184 [email protected]
186 [email protected] 185 [email protected]
187 [email protected] 186 [email protected]
188 [email protected] 187 [email protected]
189 [email protected] 188 [email protected]
190 [email protected] 189 [email protected] "for"
191 [email protected] "for" 190 [email protected]
192 [email protected] 191 [email protected] "<"
193 [email protected] "<" 192 [email protected]
194 [email protected] 193 [email protected] "\'a"
195 [email protected] "\'a" 194 [email protected] ">"
196 [email protected] ">" 195 [email protected] " "
197 [email protected] " " 196 [email protected]
198 [email protected] 197 [email protected]
199 [email protected] 198 [email protected]
200 [email protected] 199 [email protected]
201 [email protected] 200 [email protected] "Trait"
202 [email protected] "Trait" 201 [email protected] "<"
203 [email protected] "<" 202 [email protected]
204 [email protected] 203 [email protected] "\'a"
205 [email protected] "\'a" 204 [email protected] ">"
206 [email protected] ">" 205 [email protected]
207 [email protected] 206 [email protected] ")"
208 [email protected] ")" 207 [email protected] " "
209 [email protected] " " 208 [email protected] "+"
210 [email protected] "+" 209 [email protected] " "
211 [email protected] " " 210 [email protected]
212 [email protected] 211 [email protected] "("
213 [email protected] "(" 212 [email protected]
214 [email protected] 213 [email protected]
215 [email protected] 214 [email protected]
216 [email protected] 215 [email protected]
217 [email protected] 216 [email protected] "Copy"
218 [email protected] "Copy" 217 [email protected] ")"
219 [email protected] ")" 218 [email protected] ">"
220 [email protected] ">" 219 [email protected]
221 [email protected] 220 [email protected] ";"
222 [email protected] ";" 221 [email protected] "\n "
223 [email protected] "\n " 222 [email protected]
224 [email protected] 223 [email protected] "let"
225 [email protected] "let" 224 [email protected] " "
226 [email protected] " " 225 [email protected]
227 [email protected] 226 [email protected] "_"
228 [email protected] "_" 227 [email protected] ":"
229 [email protected] ":" 228 [email protected] " "
230 [email protected] " " 229 [email protected]
231 [email protected] 230 [email protected]
232 [email protected] 231 [email protected]
233 [email protected] 232 [email protected]
234 [email protected] 233 [email protected]
235 [email protected] 234 [email protected]
236 [email protected] 235 [email protected]
237 [email protected] 236 [email protected] "Box"
238 [email protected] "Box" 237 [email protected]
239 [email protected] 238 [email protected] "<"
240 [email protected] "<" 239 [email protected]
241 [email protected] 240 [email protected]
242 [email protected] 241 [email protected] "("
243 [email protected] "(" 242 [email protected]
244 [email protected] 243 [email protected] "for"
245 [email protected] "for" 244 [email protected]
246 [email protected] 245 [email protected] "<"
247 [email protected] "<" 246 [email protected]
248 [email protected] 247 [email protected] "\'a"
249 [email protected] "\'a" 248 [email protected] ">"
250 [email protected] ">" 249 [email protected] " "
251 [email protected] " " 250 [email protected]
252 [email protected] 251 [email protected]
253 [email protected] 252 [email protected]
254 [email protected] 253 [email protected]
255 [email protected] 254 [email protected] "Trait"
256 [email protected] "Trait" 255 [email protected]
257 [email protected] 256 [email protected] "<"
258 [email protected] "<" 257 [email protected]
259 [email protected] 258 [email protected] "\'a"
260 [email protected] "\'a" 259 [email protected] ">"
261 [email protected] ">" 260 [email protected] ")"
262 [email protected] ")" 261 [email protected] " "
263 [email protected] " " 262 [email protected] "+"
264 [email protected] "+" 263 [email protected] " "
265 [email protected] " " 264 [email protected]
266 [email protected] 265 [email protected] "("
267 [email protected] "(" 266 [email protected]
268 [email protected] 267 [email protected]
269 [email protected] 268 [email protected]
270 [email protected] 269 [email protected]
271 [email protected] 270 [email protected] "Copy"
272 [email protected] "Copy" 271 [email protected] ")"
273 [email protected] ")" 272 [email protected] " "
274 [email protected] " " 273 [email protected] "+"
275 [email protected] "+" 274 [email protected] " "
276 [email protected] " " 275 [email protected]
277 [email protected] 276 [email protected] "("
278 [email protected] "(" 277 [email protected] "?"
279 [email protected] "?" 278 [email protected]
280 [email protected] 279 [email protected]
281 [email protected] 280 [email protected]
282 [email protected] 281 [email protected]
283 [email protected] 282 [email protected] "Sized"
284 [email protected] "Sized" 283 [email protected] ")"
285 [email protected] ")" 284 [email protected]
286 [email protected] 285 [email protected]
287 [email protected] 286 [email protected] ">"
288 [email protected] ">" 287 [email protected] ";"
289 [email protected] ";" 288 [email protected] "\n"
290 [email protected] "\n" 289 [email protected] "}"
291 [email protected] "}"
292 [email protected] "\n" 290 [email protected] "\n"
293error 88..88: expected COMMA 291error 88..88: expected COMMA
294error 88..88: expected R_ANGLE 292error 88..88: expected R_ANGLE
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 195c08bd9..88b086daf 100644
--- a/crates/ra_syntax/test_data/parser/err/0025_nope.rast
+++ b/crates/ra_syntax/test_data/parser/err/0025_nope.rast
@@ -9,187 +9,185 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "enum"
16 [email protected] "enum" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "Test"
19 [email protected] "Test" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "Var1"
26 [email protected] "Var1" 26 [email protected] ","
27 [email protected] "," 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "Var2"
31 [email protected] "Var2" 31 [email protected]
32 [email protected] 32 [email protected] "("
33 [email protected] "(" 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "String"
39 [email protected] "String" 39 [email protected] ")"
40 [email protected] ")" 40 [email protected] ","
41 [email protected] "," 41 [email protected] "\n "
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected] "Var3"
45 [email protected] "Var3" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected] "{"
48 [email protected] "{" 48 [email protected] "\n "
49 [email protected] "\n " 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "abc"
52 [email protected] "abc" 52 [email protected] ":"
53 [email protected] ":" 53 [email protected] " "
54 [email protected] " " 54 [email protected]
55 [email protected] 55 [email protected] "{"
56 [email protected] "{" 56 [email protected] "}"
57 [email protected] "}" 57 [email protected]
58 [email protected] 58 [email protected] ","
59 [email protected] "," 59 [email protected] " "
60 [email protected] " " 60 [email protected] "//~ ERROR: expected t ..."
61 [email protected] "//~ ERROR: expected t ..." 61 [email protected] "\n "
62 [email protected] "\n " 62 [email protected] "}"
63 [email protected] "}" 63 [email protected] ","
64 [email protected] "," 64 [email protected] "\n "
65 [email protected] "\n " 65 [email protected] "}"
66 [email protected] "}" 66 [email protected] "\n\n "
67 [email protected] "\n\n " 67 [email protected] "// recover..."
68 [email protected] "// recover..." 68 [email protected] "\n "
69 [email protected] "\n " 69 [email protected]
70 [email protected] 70 [email protected] "let"
71 [email protected] "let" 71 [email protected] " "
72 [email protected] " " 72 [email protected]
73 [email protected] 73 [email protected]
74 [email protected] 74 [email protected] "a"
75 [email protected] "a" 75 [email protected] " "
76 [email protected] " " 76 [email protected] "="
77 [email protected] "=" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected] "1"
80 [email protected] "1" 80 [email protected] ";"
81 [email protected] ";" 81 [email protected] "\n "
82 [email protected] "\n " 82 [email protected]
83 [email protected] 83 [email protected] "enum"
84 [email protected] "enum" 84 [email protected] " "
85 [email protected] " " 85 [email protected]
86 [email protected] 86 [email protected] "Test2"
87 [email protected] "Test2" 87 [email protected] " "
88 [email protected] " " 88 [email protected]
89 [email protected] 89 [email protected] "{"
90 [email protected] "{" 90 [email protected] "\n "
91 [email protected] "\n " 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected] "Fine"
94 [email protected] "Fine" 94 [email protected] ","
95 [email protected] "," 95 [email protected] "\n "
96 [email protected] "\n " 96 [email protected] "}"
97 [email protected] "}" 97 [email protected] "\n\n "
98 [email protected] "\n\n " 98 [email protected]
99 [email protected] 99 [email protected] "enum"
100 [email protected] "enum" 100 [email protected] " "
101 [email protected] " " 101 [email protected]
102 [email protected] 102 [email protected] "Test3"
103 [email protected] "Test3" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected] "{"
106 [email protected] "{" 106 [email protected] "\n "
107 [email protected] "\n " 107 [email protected]
108 [email protected] 108 [email protected]
109 [email protected] 109 [email protected] "StillFine"
110 [email protected] "StillFine" 110 [email protected] " "
111 [email protected] " " 111 [email protected]
112 [email protected] 112 [email protected] "{"
113 [email protected] "{" 113 [email protected] "\n "
114 [email protected] "\n " 114 [email protected]
115 [email protected] 115 [email protected]
116 [email protected] 116 [email protected] "def"
117 [email protected] "def" 117 [email protected] ":"
118 [email protected] ":" 118 [email protected] " "
119 [email protected] " " 119 [email protected]
120 [email protected] 120 [email protected]
121 [email protected] 121 [email protected]
122 [email protected] 122 [email protected]
123 [email protected] 123 [email protected] "i32"
124 [email protected] "i32" 124 [email protected] ","
125 [email protected] "," 125 [email protected] "\n "
126 [email protected] "\n " 126 [email protected] "}"
127 [email protected] "}" 127 [email protected] ","
128 [email protected] "," 128 [email protected] "\n "
129 [email protected] "\n " 129 [email protected] "}"
130 [email protected] "}" 130 [email protected] "\n\n "
131 [email protected] "\n\n " 131 [email protected]
132 [email protected] 132 [email protected]
133 [email protected] 133 [email protected] "{"
134 [email protected] 134 [email protected] "\n "
135 [email protected] "{" 135 [email protected]
136 [email protected] "\n " 136 [email protected] "// fail again"
137 [email protected] 137 [email protected] "\n "
138 [email protected] "// fail again" 138 [email protected] "enum"
139 [email protected] "\n " 139 [email protected] " "
140 [email protected] "enum" 140 [email protected]
141 [email protected] " " 141 [email protected] "Test4"
142 [email protected] 142 [email protected] " "
143 [email protected] "Test4" 143 [email protected]
144 [email protected] " " 144 [email protected] "{"
145 [email protected] 145 [email protected] "\n "
146 [email protected] "{" 146 [email protected]
147 [email protected] "\n " 147 [email protected]
148 [email protected] 148 [email protected] "Nope"
149 [email protected] 149 [email protected]
150 [email protected] "Nope" 150 [email protected] "("
151 [email protected] 151 [email protected]
152 [email protected] "(" 152 [email protected]
153 [email protected] 153 [email protected]
154 [email protected] 154 [email protected]
155 [email protected] 155 [email protected]
156 [email protected] 156 [email protected] "i32"
157 [email protected] 157 [email protected] " "
158 [email protected] "i32" 158 [email protected]
159 [email protected] " " 159 [email protected]
160 [email protected] 160 [email protected] "{"
161 [email protected] 161 [email protected] "}"
162 [email protected] "{" 162 [email protected]
163 [email protected] "}" 163 [email protected] ")"
164 [email protected] 164 [email protected] " "
165 [email protected] ")" 165 [email protected] "//~ ERROR: found `{`"
166 [email protected] " " 166 [email protected] "\n ..."
167 [email protected] "//~ ERROR: found `{`" 167 [email protected] "//~^ ERROR: found `{`"
168 [email protected] "\n ..." 168 [email protected] "\n "
169 [email protected] "//~^ ERROR: found `{`" 169 [email protected] "}"
170 [email protected] "\n " 170 [email protected] "\n "
171 [email protected] "}" 171 [email protected] "}"
172 [email protected] "\n " 172 [email protected] "\n "
173 [email protected] "}" 173 [email protected] "// still recover later"
174 [email protected] "\n " 174 [email protected] "\n "
175 [email protected] "// still recover later" 175 [email protected]
176 [email protected] "\n " 176 [email protected] "let"
177 [email protected] 177 [email protected] " "
178 [email protected] "let" 178 [email protected]
179 [email protected] " " 179 [email protected]
180 [email protected] 180 [email protected] "bad_syntax"
181 [email protected] 181 [email protected] " "
182 [email protected] "bad_syntax" 182 [email protected] "="
183 [email protected] " " 183 [email protected] " "
184 [email protected] "=" 184 [email protected]
185 [email protected] " " 185 [email protected] "_"
186 [email protected] 186 [email protected] ";"
187 [email protected] "_" 187 [email protected] " "
188 [email protected] ";" 188 [email protected] "//~ ERROR: expected e ..."
189 [email protected] " " 189 [email protected] "\n"
190 [email protected] "//~ ERROR: expected e ..." 190 [email protected] "}"
191 [email protected] "\n"
192 [email protected] "}"
193 [email protected] "\n" 191 [email protected] "\n"
194error 95..95: expected type 192error 95..95: expected type
195error 95..95: expected COMMA 193error 95..95: expected COMMA
diff --git a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast
index f2fada510..568a4cc02 100644
--- a/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast
+++ b/crates/ra_syntax/test_data/parser/err/0027_incomplere_where_for.rast
@@ -21,9 +21,8 @@ [email protected]
21 [email protected] ">" 21 [email protected] ">"
22 [email protected] "\n" 22 [email protected] "\n"
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] "{" 25 [email protected] "}"
26 [email protected] "}"
27 [email protected] "\n" 26 [email protected] "\n"
28error 26..26: expected a path 27error 26..26: expected a path
29error 26..26: expected colon 28error 26..26: expected colon
diff --git a/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast b/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast
index 56682f966..0da8f59f0 100644
--- a/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast
+++ b/crates/ra_syntax/test_data/parser/err/0029_field_completion.rast
@@ -20,17 +20,16 @@ [email protected]
20 [email protected] ")" 20 [email protected] ")"
21 [email protected] " " 21 [email protected] " "
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "a"
31 [email protected] "a" 31 [email protected] "."
32 [email protected] "." 32 [email protected] "\n"
33 [email protected] "\n" 33 [email protected] "}"
34 [email protected] "}"
35 [email protected] "\n" 34 [email protected] "\n"
36error 21..21: expected field name or number 35error 21..21: expected field name or number
diff --git a/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0031_block_inner_attrs.rast
index aac476430..515819e42 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
@@ -9,115 +9,111 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "inner"
20 [email protected] "inner" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] 25 [email protected] "\n "
26 [email protected] "{" 26 [email protected]
27 [email protected] "\n " 27 [email protected] "#"
28 [email protected] 28 [email protected] "!"
29 [email protected] "#" 29 [email protected] "["
30 [email protected] "!" 30 [email protected]
31 [email protected] "[" 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "doc"
34 [email protected] 34 [email protected]
35 [email protected] "doc" 35 [email protected] "("
36 [email protected] 36 [email protected] "\"Inner attributes not ..."
37 [email protected] "(" 37 [email protected] ")"
38 [email protected] "\"Inner attributes not ..." 38 [email protected] "]"
39 [email protected] ")" 39 [email protected] "\n "
40 [email protected] "]" 40 [email protected] "//! Nor are ModuleDoc ..."
41 [email protected] "\n " 41 [email protected] "\n "
42 [email protected] "//! Nor are ModuleDoc ..." 42 [email protected] "}"
43 [email protected] "\n " 43 [email protected] ";"
44 [email protected] "}" 44 [email protected] "\n "
45 [email protected] ";" 45 [email protected]
46 [email protected] "\n " 46 [email protected]
47 [email protected] 47 [email protected] "if"
48 [email protected] 48 [email protected] " "
49 [email protected] "if" 49 [email protected]
50 [email protected] " " 50 [email protected]
51 [email protected] 51 [email protected] "true"
52 [email protected] 52 [email protected] " "
53 [email protected] "true" 53 [email protected]
54 [email protected] " " 54 [email protected] "{"
55 [email protected] 55 [email protected] "\n "
56 [email protected] 56 [email protected]
57 [email protected] "{" 57 [email protected] "#"
58 [email protected] "\n " 58 [email protected] "!"
59 [email protected] 59 [email protected] "["
60 [email protected] "#" 60 [email protected]
61 [email protected] "!" 61 [email protected]
62 [email protected] "[" 62 [email protected]
63 [email protected] 63 [email protected] "doc"
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected] "("
66 [email protected] "doc" 66 [email protected] "\"Nor here\""
67 [email protected] 67 [email protected] ")"
68 [email protected] "(" 68 [email protected] "]"
69 [email protected] "\"Nor here\"" 69 [email protected] "\n "
70 [email protected] ")" 70 [email protected]
71 [email protected] "]" 71 [email protected] "#"
72 [email protected] "\n " 72 [email protected] "!"
73 [email protected] 73 [email protected] "["
74 [email protected] "#" 74 [email protected]
75 [email protected] "!" 75 [email protected]
76 [email protected] "[" 76 [email protected]
77 [email protected] 77 [email protected] "doc"
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "("
80 [email protected] "doc" 80 [email protected] "\"We error on each attr\""
81 [email protected] 81 [email protected] ")"
82 [email protected] "(" 82 [email protected] "]"
83 [email protected] "\"We error on each attr\"" 83 [email protected] "\n "
84 [email protected] ")" 84 [email protected] "//! Nor are ModuleDoc ..."
85 [email protected] "]" 85 [email protected] "\n "
86 [email protected] "\n " 86 [email protected] "}"
87 [email protected] "//! Nor are ModuleDoc ..." 87 [email protected] "\n "
88 [email protected] "\n " 88 [email protected]
89 [email protected] "}" 89 [email protected] "while"
90 [email protected] "\n " 90 [email protected] " "
91 [email protected] 91 [email protected]
92 [email protected] "while" 92 [email protected]
93 [email protected] " " 93 [email protected] "true"
94 [email protected] 94 [email protected] " "
95 [email protected] 95 [email protected]
96 [email protected] "true" 96 [email protected] "{"
97 [email protected] " " 97 [email protected] "\n "
98 [email protected] 98 [email protected]
99 [email protected] 99 [email protected] "#"
100 [email protected] "{" 100 [email protected] "!"
101 [email protected] "\n " 101 [email protected] "["
102 [email protected] 102 [email protected]
103 [email protected] "#" 103 [email protected]
104 [email protected] "!" 104 [email protected]
105 [email protected] "[" 105 [email protected] "doc"
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected] "("
108 [email protected] 108 [email protected] "\"Nor here\""
109 [email protected] "doc" 109 [email protected] ")"
110 [email protected] 110 [email protected] "]"
111 [email protected] "(" 111 [email protected] "\n "
112 [email protected] "\"Nor here\"" 112 [email protected] "//! Nor are ModuleDoc ..."
113 [email protected] ")" 113 [email protected] "\n "
114 [email protected] "]" 114 [email protected] "}"
115 [email protected] "\n " 115 [email protected] "\n"
116 [email protected] "//! Nor are ModuleDoc ..." 116 [email protected] "}"
117 [email protected] "\n "
118 [email protected] "}"
119 [email protected] "\n"
120 [email protected] "}"
121 [email protected] "\n" 117 [email protected] "\n"
122error 39..83: A block in this position cannot accept inner attributes 118error 39..83: A block in this position cannot accept inner attributes
123error 152..171: A block in this position cannot accept inner attributes 119error 152..171: A block in this position cannot accept inner attributes
diff --git a/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast b/crates/ra_syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
index f98de7f15..c6859eca8 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
@@ -9,187 +9,186 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "match"
17 [email protected] "match" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected] "("
20 [email protected] "(" 20 [email protected] ")"
21 [email protected] ")" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "_"
28 [email protected] "_" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "=>"
30 [email protected] "=>" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "("
33 [email protected] "(" 33 [email protected] ")"
34 [email protected] ")" 34 [email protected] ","
35 [email protected] "," 35 [email protected] "\n "
36 [email protected] "\n " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "#"
39 [email protected] "#" 39 [email protected]
40 [email protected] 40 [email protected] "!"
41 [email protected] "!" 41 [email protected]
42 [email protected] 42 [email protected] "["
43 [email protected] "[" 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "doc"
49 [email protected] "doc" 49 [email protected]
50 [email protected] 50 [email protected] "("
51 [email protected] "(" 51 [email protected]
52 [email protected] 52 [email protected] "\"Not allowed here\""
53 [email protected] "\"Not allowed here\"" 53 [email protected] ")"
54 [email protected] ")" 54 [email protected] "]"
55 [email protected] "]" 55 [email protected] "\n "
56 [email protected] "\n " 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "_"
59 [email protected] "_" 59 [email protected] " "
60 [email protected] " " 60 [email protected] "=>"
61 [email protected] "=>" 61 [email protected] " "
62 [email protected] " " 62 [email protected]
63 [email protected] 63 [email protected] "("
64 [email protected] "(" 64 [email protected] ")"
65 [email protected] ")" 65 [email protected] ","
66 [email protected] "," 66 [email protected] "\n "
67 [email protected] "\n " 67 [email protected] "}"
68 [email protected] "}" 68 [email protected] "\n\n "
69 [email protected] "\n\n " 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "match"
72 [email protected] "match" 72 [email protected] " "
73 [email protected] " " 73 [email protected]
74 [email protected] 74 [email protected] "("
75 [email protected] "(" 75 [email protected] ")"
76 [email protected] ")" 76 [email protected] " "
77 [email protected] " " 77 [email protected]
78 [email protected] 78 [email protected] "{"
79 [email protected] "{" 79 [email protected] "\n "
80 [email protected] "\n " 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "_"
83 [email protected] "_" 83 [email protected] " "
84 [email protected] " " 84 [email protected] "=>"
85 [email protected] "=>" 85 [email protected] " "
86 [email protected] " " 86 [email protected]
87 [email protected] 87 [email protected] "("
88 [email protected] "(" 88 [email protected] ")"
89 [email protected] ")" 89 [email protected] ","
90 [email protected] "," 90 [email protected] "\n "
91 [email protected] "\n " 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected] "_"
94 [email protected] "_" 94 [email protected] " "
95 [email protected] " " 95 [email protected] "=>"
96 [email protected] "=>" 96 [email protected] " "
97 [email protected] " " 97 [email protected]
98 [email protected] 98 [email protected] "("
99 [email protected] "(" 99 [email protected] ")"
100 [email protected] ")" 100 [email protected] ","
101 [email protected] "," 101 [email protected] "\n "
102 [email protected] "\n " 102 [email protected]
103 [email protected] 103 [email protected]
104 [email protected] 104 [email protected] "#"
105 [email protected] "#" 105 [email protected]
106 [email protected] 106 [email protected] "!"
107 [email protected] "!" 107 [email protected]
108 [email protected] 108 [email protected] "["
109 [email protected] "[" 109 [email protected]
110 [email protected] 110 [email protected]
111 [email protected] 111 [email protected]
112 [email protected] 112 [email protected]
113 [email protected] 113 [email protected]
114 [email protected] 114 [email protected] "doc"
115 [email protected] "doc" 115 [email protected]
116 [email protected] 116 [email protected] "("
117 [email protected] "(" 117 [email protected]
118 [email protected] 118 [email protected] "\"Nor here\""
119 [email protected] "\"Nor here\"" 119 [email protected] ")"
120 [email protected] ")" 120 [email protected] "]"
121 [email protected] "]" 121 [email protected] "\n "
122 [email protected] "\n " 122 [email protected] "}"
123 [email protected] "}" 123 [email protected] "\n\n "
124 [email protected] "\n\n " 124 [email protected]
125 [email protected] 125 [email protected] "match"
126 [email protected] "match" 126 [email protected] " "
127 [email protected] " " 127 [email protected]
128 [email protected] 128 [email protected] "("
129 [email protected] "(" 129 [email protected] ")"
130 [email protected] ")" 130 [email protected] " "
131 [email protected] " " 131 [email protected]
132 [email protected] 132 [email protected] "{"
133 [email protected] "{" 133 [email protected] "\n "
134 [email protected] "\n " 134 [email protected]
135 [email protected] 135 [email protected]
136 [email protected] 136 [email protected] "#"
137 [email protected] "#" 137 [email protected] "["
138 [email protected] "[" 138 [email protected]
139 [email protected] 139 [email protected]
140 [email protected] 140 [email protected]
141 [email protected] 141 [email protected] "cfg"
142 [email protected] "cfg" 142 [email protected]
143 [email protected] 143 [email protected] "("
144 [email protected] "(" 144 [email protected] "test"
145 [email protected] "test" 145 [email protected] ")"
146 [email protected] ")" 146 [email protected] "]"
147 [email protected] "]" 147 [email protected] "\n "
148 [email protected] "\n " 148 [email protected]
149 [email protected] 149 [email protected] "#"
150 [email protected] "#" 150 [email protected]
151 [email protected] 151 [email protected] "!"
152 [email protected] "!" 152 [email protected]
153 [email protected] 153 [email protected] "["
154 [email protected] "[" 154 [email protected]
155 [email protected] 155 [email protected]
156 [email protected] 156 [email protected]
157 [email protected] 157 [email protected]
158 [email protected] 158 [email protected]
159 [email protected] 159 [email protected] "doc"
160 [email protected] "doc" 160 [email protected]
161 [email protected] 161 [email protected] "("
162 [email protected] "(" 162 [email protected]
163 [email protected] 163 [email protected] "\"Nor here\""
164 [email protected] "\"Nor here\"" 164 [email protected] ")"
165 [email protected] ")" 165 [email protected] "]"
166 [email protected] "]" 166 [email protected] "\n "
167 [email protected] "\n " 167 [email protected]
168 [email protected] 168 [email protected]
169 [email protected] 169 [email protected] "_"
170 [email protected] "_" 170 [email protected] " "
171 [email protected] " " 171 [email protected] "=>"
172 [email protected] "=>" 172 [email protected] " "
173 [email protected] " " 173 [email protected]
174 [email protected] 174 [email protected] "("
175 [email protected] "(" 175 [email protected] ")"
176 [email protected] ")" 176 [email protected] ","
177 [email protected] "," 177 [email protected] "\n "
178 [email protected] "\n " 178 [email protected]
179 [email protected] 179 [email protected]
180 [email protected] 180 [email protected] "_"
181 [email protected] "_" 181 [email protected] " "
182 [email protected] " " 182 [email protected] "=>"
183 [email protected] "=>" 183 [email protected] " "
184 [email protected] " " 184 [email protected]
185 [email protected] 185 [email protected] "("
186 [email protected] "(" 186 [email protected] ")"
187 [email protected] ")" 187 [email protected] ","
188 [email protected] "," 188 [email protected] "\n "
189 [email protected] "\n " 189 [email protected] "}"
190 [email protected] "}" 190 [email protected] "\n"
191 [email protected] "\n" 191 [email protected] "}"
192 [email protected] "}"
193 [email protected] "\n" 192 [email protected] "\n"
194error 52..52: expected `[` 193error 52..52: expected `[`
195error 52..52: expected pattern 194error 52..52: expected pattern
diff --git a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
index d0017c883..53e445459 100644
--- a/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
+++ b/crates/ra_syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
@@ -9,58 +9,57 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "_"
27 [email protected] "_" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "=>"
29 [email protected] "=>" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] ","
34 [email protected] "," 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "_"
38 [email protected] "_" 38 [email protected] " "
39 [email protected] " " 39 [email protected] "=>"
40 [email protected] "=>" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "("
43 [email protected] "(" 43 [email protected] ")"
44 [email protected] ")" 44 [email protected] ","
45 [email protected] "," 45 [email protected] "\n "
46 [email protected] "\n " 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "#"
49 [email protected] "#" 49 [email protected] "["
50 [email protected] "[" 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "cfg"
54 [email protected] "cfg" 54 [email protected]
55 [email protected] 55 [email protected] "("
56 [email protected] "(" 56 [email protected] "test"
57 [email protected] "test" 57 [email protected] ")"
58 [email protected] ")" 58 [email protected] "]"
59 [email protected] "]" 59 [email protected] "\n "
60 [email protected] "\n " 60 [email protected] "}"
61 [email protected] "}" 61 [email protected] "\n"
62 [email protected] "\n" 62 [email protected] "}"
63 [email protected] "}"
64 [email protected] "\n" 63 [email protected] "\n"
65error 80..80: expected pattern 64error 80..80: expected pattern
66error 80..80: expected FAT_ARROW 65error 80..80: expected FAT_ARROW
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 2c0bddec8..1b2ac5011 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
@@ -9,84 +9,83 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "ref"
19 [email protected] "ref" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "box"
22 [email protected] "box" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "i"
30 [email protected] "i" 30 [email protected] " "
31 [email protected] " " 31 [email protected] "="
32 [email protected] "=" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected] "("
35 [email protected] "(" 35 [email protected] ")"
36 [email protected] ")" 36 [email protected] ";"
37 [email protected] ";" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected] "let"
40 [email protected] "let" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "mut"
43 [email protected] "mut" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "box"
46 [email protected] "box" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "i"
54 [email protected] "i" 54 [email protected] " "
55 [email protected] " " 55 [email protected] "="
56 [email protected] "=" 56 [email protected] " "
57 [email protected] " " 57 [email protected]
58 [email protected] 58 [email protected] "("
59 [email protected] "(" 59 [email protected] ")"
60 [email protected] ")" 60 [email protected] ";"
61 [email protected] ";" 61 [email protected] "\n "
62 [email protected] "\n " 62 [email protected]
63 [email protected] 63 [email protected] "let"
64 [email protected] "let" 64 [email protected] " "
65 [email protected] " " 65 [email protected]
66 [email protected] 66 [email protected] "ref"
67 [email protected] "ref" 67 [email protected] " "
68 [email protected] " " 68 [email protected] "mut"
69 [email protected] "mut" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected] "box"
72 [email protected] "box" 72 [email protected] " "
73 [email protected] " " 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "i"
80 [email protected] "i" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "="
82 [email protected] "=" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected] "("
85 [email protected] "(" 85 [email protected] ")"
86 [email protected] ")" 86 [email protected] ";"
87 [email protected] ";" 87 [email protected] "\n"
88 [email protected] "\n" 88 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n\n" 89 [email protected] "\n\n"
91error 24..24: expected a name 90error 24..24: expected a name
92error 27..27: expected SEMICOLON 91error 27..27: 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 83851f5d2..9588cf3b3 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
@@ -44,9 +44,8 @@ [email protected]
44 [email protected] ")" 44 [email protected] ")"
45 [email protected] " " 45 [email protected] " "
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected] "{"
48 [email protected] "{" 48 [email protected] "}"
49 [email protected] "}"
50 [email protected] "\n" 49 [email protected] "\n"
51error 17..17: expected one of `*`, `::`, `{`, `self`, `super` or an identifier 50error 17..17: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
52error 17..17: expected SEMICOLON 51error 17..17: 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 a328222aa..e3cda7c43 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
@@ -27,9 +27,8 @@ [email protected]
27 [email protected] ")" 27 [email protected] ")"
28 [email protected] " " 28 [email protected] " "
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "{"
31 [email protected] "{" 31 [email protected] "}"
32 [email protected] "}"
33 [email protected] "\n " 32 [email protected] "\n "
34 [email protected] 33 [email protected]
35 [email protected] 34 [email protected]
@@ -44,9 +43,8 @@ [email protected]
44 [email protected] ")" 43 [email protected] ")"
45 [email protected] " " 44 [email protected] " "
46 [email protected] 45 [email protected]
47 [email protected] 46 [email protected] "{"
48 [email protected] "{" 47 [email protected] "}"
49 [email protected] "}"
50 [email protected] "\n " 48 [email protected] "\n "
51 [email protected] 49 [email protected]
52 [email protected] 50 [email protected]
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 bcd1fad69..21db9ee85 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
@@ -9,22 +9,21 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "0"
18 [email protected] "0" 18 [email protected] "..="
19 [email protected] "..=" 19 [email protected] ";"
20 [email protected] ";" 20 [email protected] "\n "
21 [email protected] "\n " 21 [email protected]
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "..="
24 [email protected] "..=" 24 [email protected] ";"
25 [email protected] ";" 25 [email protected] "\n"
26 [email protected] "\n" 26 [email protected] "}"
27 [email protected] "}"
28 [email protected] "\n" 27 [email protected] "\n"
29error 16..20: An inclusive range must have an end expression 28error 16..20: An inclusive range must have an end expression
30error 26..29: An inclusive range must have an end expression 29error 26..29: An inclusive range must have an end expression
diff --git a/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast b/crates/ra_syntax/test_data/parser/err/0039_lambda_recovery.rast
index 433ea7bad..ec950381b 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
@@ -18,66 +18,65 @@ [email protected]
18 [email protected] "i32" 18 [email protected] "i32"
19 [email protected] " " 19 [email protected] " "
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "["
29 [email protected] "[" 29 [email protected]
30 [email protected] 30 [email protected] "1"
31 [email protected] "1" 31 [email protected] ","
32 [email protected] "," 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected] "2"
35 [email protected] "2" 35 [email protected] ","
36 [email protected] "," 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "3"
39 [email protected] "3" 39 [email protected] "]"
40 [email protected] "]" 40 [email protected] "."
41 [email protected] "." 41 [email protected]
42 [email protected] 42 [email protected] "iter"
43 [email protected] "iter" 43 [email protected]
44 [email protected] 44 [email protected] "("
45 [email protected] "(" 45 [email protected] ")"
46 [email protected] ")" 46 [email protected] "\n "
47 [email protected] "\n " 47 [email protected] "."
48 [email protected] "." 48 [email protected]
49 [email protected] 49 [email protected] "map"
50 [email protected] "map" 50 [email protected]
51 [email protected] 51 [email protected] "("
52 [email protected] "(" 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected] "|"
55 [email protected] "|" 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "it"
59 [email protected] "it" 59 [email protected] "|"
60 [email protected] "|" 60 [email protected] ")"
61 [email protected] ")" 61 [email protected] "\n "
62 [email protected] "\n " 62 [email protected] "."
63 [email protected] "." 63 [email protected]
64 [email protected] 64 [email protected] "max"
65 [email protected] "max" 65 [email protected]
66 [email protected] 66 [email protected] "::"
67 [email protected] "::" 67 [email protected] "<"
68 [email protected] "<" 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected]
72 [email protected] 72 [email protected]
73 [email protected] 73 [email protected] "i32"
74 [email protected] "i32" 74 [email protected] ">"
75 [email protected] ">" 75 [email protected]
76 [email protected] 76 [email protected] "("
77 [email protected] "(" 77 [email protected] ")"
78 [email protected] ")" 78 [email protected] ";"
79 [email protected] ";" 79 [email protected] "\n"
80 [email protected] "\n" 80 [email protected] "}"
81 [email protected] "}"
82 [email protected] "\n" 81 [email protected] "\n"
83error 56..56: expected expression 82error 56..56: expected expression
diff --git a/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast b/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast
new file mode 100644
index 000000000..d0360c467
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rast
@@ -0,0 +1,70 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected] "super"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "a"
21 [email protected] "::"
22 [email protected]
23 [email protected] "super"
24 [email protected] ";"
25 [email protected] "\n"
26 [email protected]
27 [email protected] "use"
28 [email protected] " "
29 [email protected]
30 [email protected]
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "super"
35 [email protected] "::"
36 [email protected]
37 [email protected]
38 [email protected] "a"
39 [email protected] "::"
40 [email protected]
41 [email protected] "super"
42 [email protected] ";"
43 [email protected] "\n"
44 [email protected]
45 [email protected] "use"
46 [email protected] " "
47 [email protected]
48 [email protected]
49 [email protected]
50 [email protected]
51 [email protected] "a"
52 [email protected] "::"
53 [email protected]
54 [email protected] "{"
55 [email protected]
56 [email protected]
57 [email protected]
58 [email protected]
59 [email protected] "super"
60 [email protected] "::"
61 [email protected]
62 [email protected]
63 [email protected] "b"
64 [email protected] "}"
65 [email protected] ";"
66 [email protected] "\n"
67error 6..11: The `super` keyword may only be preceded by other `super`s
68error 20..25: The `super` keyword may only be preceded by other `super`s
69error 41..46: The `super` keyword may only be preceded by other `super`s
70error 56..61: The `super` keyword may only be preceded by other `super`s
diff --git a/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs b/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs
new file mode 100644
index 000000000..bd4d58042
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/err/0041_illegal_super_keyword_location.rs
@@ -0,0 +1,4 @@
1use ::super;
2use a::super;
3use super::a::super;
4use a::{super::b};
diff --git a/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast b/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast
new file mode 100644
index 000000000..4f382b06c
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rast
@@ -0,0 +1,27 @@
1[email protected]
2 [email protected]
3 [email protected] "use"
4 [email protected] " "
5 [email protected]
6 [email protected]
7 [email protected]
8 [email protected] "::"
9 [email protected] "self"
10 [email protected] ";"
11 [email protected] "\n"
12 [email protected]
13 [email protected] "use"
14 [email protected] " "
15 [email protected]
16 [email protected]
17 [email protected]
18 [email protected]
19 [email protected]
20 [email protected] "a"
21 [email protected] "::"
22 [email protected]
23 [email protected] "self"
24 [email protected] ";"
25 [email protected] "\n"
26error 6..10: The `self` keyword is only allowed as the first segment of a path
27error 19..23: The `self` keyword is only allowed as the first segment of a path
diff --git a/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs b/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs
new file mode 100644
index 000000000..b9e1d7d8b
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/err/0042_illegal_self_keyword_location.rs
@@ -0,0 +1,2 @@
1use ::self;
2use a::self;
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 85bf276a0..75668c818 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
@@ -9,19 +9,18 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "\'loop"
18 [email protected] "\'loop" 18 [email protected] ":"
19 [email protected] ":" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "impl"
22 [email protected] "impl" 22 [email protected] "\n"
23 [email protected] "\n" 23 [email protected] "}"
24 [email protected] "}"
25 [email protected] "\n" 24 [email protected] "\n"
26error 22..22: expected a loop 25error 22..22: expected a loop
27error 22..22: expected SEMICOLON 26error 22..22: expected SEMICOLON
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast b/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast
index b901c17f7..c789e8d82 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast
@@ -8,9 +8,8 @@ [email protected]
8 [email protected] "(" 8 [email protected] "("
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] 10 [email protected]
11 [email protected] 11 [email protected] "{"
12 [email protected] "{" 12 [email protected] "}"
13 [email protected] "}"
14 [email protected] " " 13 [email protected] " "
15 [email protected] 14 [email protected]
16 [email protected] "unsafe" 15 [email protected] "unsafe"
@@ -29,9 +28,8 @@ [email protected]
29 [email protected] "(" 28 [email protected] "("
30 [email protected] ")" 29 [email protected] ")"
31 [email protected] 30 [email protected]
32 [email protected] 31 [email protected] "{"
33 [email protected] "{" 32 [email protected] "}"
34 [email protected] "}"
35 [email protected] "\n" 33 [email protected] "\n"
36error 11..11: expected an item 34error 11..11: expected an item
37error 18..18: expected an item 35error 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 3f48b86ed..cd24313d4 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
@@ -9,24 +9,23 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "async"
24 [email protected] "async" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] "{" 27 [email protected] "}"
28 [email protected] "}" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "}"
30 [email protected] "}"
31 [email protected] "\n" 30 [email protected] "\n"
32error 27..27: expected SEMICOLON 31error 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 be02eaeeb..c5fa7a404 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
@@ -9,18 +9,17 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "pub"
17 [email protected] "pub" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "92"
21 [email protected] "92" 21 [email protected] ";"
22 [email protected] ";" 22 [email protected] " "
23 [email protected] " " 23 [email protected] "}"
24 [email protected] "}"
25 [email protected] "\n" 24 [email protected] "\n"
26error 14..14: expected an item 25error 14..14: expected an item
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast b/crates/ra_syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
index b344e4f7f..0656fdf73 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
@@ -9,53 +9,51 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "#"
17 [email protected] "#" 17 [email protected] "["
18 [email protected] "[" 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "A"
22 [email protected] "A" 22 [email protected] "]"
23 [email protected] "]" 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "1"
27 [email protected] "1" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "+"
29 [email protected] "+" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "2"
32 [email protected] "2" 32 [email protected] ";"
33 [email protected] ";" 33 [email protected] "\n "
34 [email protected] "\n " 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "#"
37 [email protected] "#" 37 [email protected] "["
38 [email protected] "[" 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "B"
42 [email protected] "B" 42 [email protected] "]"
43 [email protected] "]" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "if"
46 [email protected] "if" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "true"
50 [email protected] "true" 50 [email protected] " "
51 [email protected] " " 51 [email protected]
52 [email protected] 52 [email protected] "{"
53 [email protected] 53 [email protected] "}"
54 [email protected] "{" 54 [email protected] ";"
55 [email protected] "}" 55 [email protected] "\n"
56 [email protected] ";" 56 [email protected] "}"
57 [email protected] "\n"
58 [email protected] "}"
59 [email protected] "\n" 57 [email protected] "\n"
60error 24..24: attributes are not allowed on BIN_EXPR 58error 24..24: attributes are not allowed on BIN_EXPR
61error 44..44: attributes are not allowed on IF_EXPR 59error 44..44: attributes are not allowed on IF_EXPR
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast b/crates/ra_syntax/test_data/parser/inline/err/0010_bad_tuple_index_expr.rast
index 5339a84d7..e1abc5633 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
@@ -9,45 +9,44 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] "."
22 [email protected] "." 22 [email protected] "0."
23 [email protected] "0." 23 [email protected] ";"
24 [email protected] ";" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "x"
32 [email protected] "x" 32 [email protected] "."
33 [email protected] "." 33 [email protected]
34 [email protected] 34 [email protected] "1i32"
35 [email protected] "1i32" 35 [email protected] ";"
36 [email protected] ";" 36 [email protected] "\n "
37 [email protected] "\n " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "x"
44 [email protected] "x" 44 [email protected] "."
45 [email protected] "." 45 [email protected]
46 [email protected] 46 [email protected] "0x01"
47 [email protected] "0x01" 47 [email protected] ";"
48 [email protected] ";" 48 [email protected] "\n"
49 [email protected] "\n" 49 [email protected] "}"
50 [email protected] "}"
51 [email protected] "\n" 50 [email protected] "\n"
52error 27..31: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix 51error 27..31: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
53error 39..43: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix 52error 39..43: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast
index 20ed39046..9be441110 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0010_wrong_order_fns.rast
@@ -14,9 +14,8 @@ [email protected]
14 [email protected] ")" 14 [email protected] ")"
15 [email protected] " " 15 [email protected] " "
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "{"
18 [email protected] "{" 18 [email protected] "}"
19 [email protected] "}"
20 [email protected] "\n" 19 [email protected] "\n"
21 [email protected] 20 [email protected]
22 [email protected] "unsafe" 21 [email protected] "unsafe"
@@ -33,9 +32,8 @@ [email protected]
33 [email protected] ")" 32 [email protected] ")"
34 [email protected] " " 33 [email protected] " "
35 [email protected] 34 [email protected]
36 [email protected] 35 [email protected] "{"
37 [email protected] "{" 36 [email protected] "}"
38 [email protected] "}"
39 [email protected] "\n" 37 [email protected] "\n"
40error 6..6: expected existential, fn, trait or impl 38error 6..6: expected existential, fn, trait or impl
41error 31..31: expected existential, fn, trait or impl 39error 31..31: expected existential, fn, trait or impl
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 88567263e..b8cd0587d 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
@@ -45,9 +45,8 @@ [email protected]
45 [email protected] ")" 45 [email protected] ")"
46 [email protected] " " 46 [email protected] " "
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "{"
49 [email protected] "{" 49 [email protected] "}"
50 [email protected] "}"
51 [email protected] "\n" 50 [email protected] "\n"
52 [email protected] "}" 51 [email protected] "}"
53 [email protected] "\n" 52 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast b/crates/ra_syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast
index 578befa56..a9de44b57 100644
--- a/crates/ra_syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast
+++ b/crates/ra_syntax/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast
@@ -9,41 +9,40 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "S"
19 [email protected] "S" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "field"
26 [email protected] "field" 26 [email protected] " "
27 [email protected] " " 27 [email protected]
28 [email protected] 28 [email protected] ".."
29 [email protected] ".." 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "S"
36 [email protected] "S" 36 [email protected] "::"
37 [email protected] "::" 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected] "default"
40 [email protected] "default" 40 [email protected]
41 [email protected] 41 [email protected] "("
42 [email protected] "(" 42 [email protected] ")"
43 [email protected] ")" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "}"
45 [email protected] "}" 45 [email protected] "\n"
46 [email protected] "\n" 46 [email protected] "}"
47 [email protected] "}"
48 [email protected] "\n" 47 [email protected] "\n"
49error 25..25: expected COLON 48error 25..25: expected COLON
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 a1fabb557..a38b4f573 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
@@ -51,9 +51,8 @@ [email protected]
51 [email protected] ")" 51 [email protected] ")"
52 [email protected] " " 52 [email protected] " "
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected] "{"
55 [email protected] "{" 55 [email protected] "}"
56 [email protected] "}"
57 [email protected] "\n " 56 [email protected] "\n "
58 [email protected] 57 [email protected]
59 [email protected] "fn" 58 [email protected] "fn"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
index a46d76fde..9dc473e43 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0003_where_pred_for.rast
@@ -55,8 +55,7 @@ [email protected]
55 [email protected] ")" 55 [email protected] ")"
56 [email protected] "\n" 56 [email protected] "\n"
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "{"
59 [email protected] "{" 59 [email protected] " "
60 [email protected] " " 60 [email protected] "}"
61 [email protected] "}"
62 [email protected] "\n" 61 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast b/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast
index 5181fcd2b..6c8c1e24b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0005_function_type_params.rast
@@ -32,7 +32,6 @@ [email protected]
32 [email protected] "(" 32 [email protected] "("
33 [email protected] ")" 33 [email protected] ")"
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "{"
36 [email protected] "{" 36 [email protected] "}"
37 [email protected] "}"
38 [email protected] "\n" 37 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast
index dd41b44e1..9f4a9e69b 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0006_self_param.rast
@@ -23,9 +23,8 @@ [email protected]
23 [email protected] ")" 23 [email protected] ")"
24 [email protected] " " 24 [email protected] " "
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] "{" 27 [email protected] "}"
28 [email protected] "}"
29 [email protected] "\n " 28 [email protected] "\n "
30 [email protected] 29 [email protected]
31 [email protected] "fn" 30 [email protected] "fn"
@@ -41,9 +40,8 @@ [email protected]
41 [email protected] ")" 40 [email protected] ")"
42 [email protected] " " 41 [email protected] " "
43 [email protected] 42 [email protected]
44 [email protected] 43 [email protected] "{"
45 [email protected] "{" 44 [email protected] "}"
46 [email protected] "}"
47 [email protected] "\n " 45 [email protected] "\n "
48 [email protected] 46 [email protected]
49 [email protected] "fn" 47 [email protected] "fn"
@@ -61,9 +59,8 @@ [email protected]
61 [email protected] ")" 59 [email protected] ")"
62 [email protected] " " 60 [email protected] " "
63 [email protected] 61 [email protected]
64 [email protected] 62 [email protected] "{"
65 [email protected] "{" 63 [email protected] "}"
66 [email protected] "}"
67 [email protected] "\n " 64 [email protected] "\n "
68 [email protected] 65 [email protected]
69 [email protected] "fn" 66 [email protected] "fn"
@@ -95,9 +92,8 @@ [email protected]
95 [email protected] ")" 92 [email protected] ")"
96 [email protected] " " 93 [email protected] " "
97 [email protected] 94 [email protected]
98 [email protected] 95 [email protected] "{"
99 [email protected] "{" 96 [email protected] "}"
100 [email protected] "}"
101 [email protected] "\n " 97 [email protected] "\n "
102 [email protected] 98 [email protected]
103 [email protected] "fn" 99 [email protected] "fn"
@@ -113,9 +109,8 @@ [email protected]
113 [email protected] ")" 109 [email protected] ")"
114 [email protected] " " 110 [email protected] " "
115 [email protected] 111 [email protected]
116 [email protected] 112 [email protected] "{"
117 [email protected] "{" 113 [email protected] "}"
118 [email protected] "}"
119 [email protected] "\n" 114 [email protected] "\n"
120 [email protected] "}" 115 [email protected] "}"
121 [email protected] "\n" 116 [email protected] "\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 a8ddd20c9..10eb31d68 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
@@ -9,89 +9,88 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "foo"
23 [email protected] "foo" 23 [email protected] "::"
24 [email protected] "::" 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "Bar"
27 [email protected] "Bar" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "="
29 [email protected] "=" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] ";"
34 [email protected] ";" 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected] "let"
37 [email protected] "let" 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "::"
42 [email protected] "::" 42 [email protected]
43 [email protected] 43 [email protected] "Bar"
44 [email protected] "Bar" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "="
46 [email protected] "=" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] ";"
51 [email protected] ";" 51 [email protected] "\n "
52 [email protected] "\n " 52 [email protected]
53 [email protected] 53 [email protected] "let"
54 [email protected] "let" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "Bar"
60 [email protected] "Bar" 60 [email protected] " "
61 [email protected] " " 61 [email protected]
62 [email protected] 62 [email protected] "{"
63 [email protected] "{" 63 [email protected] " "
64 [email protected] " " 64 [email protected] ".."
65 [email protected] ".." 65 [email protected] " "
66 [email protected] " " 66 [email protected] "}"
67 [email protected] "}" 67 [email protected] " "
68 [email protected] " " 68 [email protected] "="
69 [email protected] "=" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected] "("
72 [email protected] "(" 72 [email protected] ")"
73 [email protected] ")" 73 [email protected] ";"
74 [email protected] ";" 74 [email protected] "\n "
75 [email protected] "\n " 75 [email protected]
76 [email protected] 76 [email protected] "let"
77 [email protected] "let" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "Bar"
83 [email protected] "Bar" 83 [email protected] "("
84 [email protected] "(" 84 [email protected]
85 [email protected] 85 [email protected] ".."
86 [email protected] ".." 86 [email protected] ")"
87 [email protected] ")" 87 [email protected] " "
88 [email protected] " " 88 [email protected] "="
89 [email protected] "=" 89 [email protected] " "
90 [email protected] " " 90 [email protected]
91 [email protected] 91 [email protected] "("
92 [email protected] "(" 92 [email protected] ")"
93 [email protected] ")" 93 [email protected] ";"
94 [email protected] ";" 94 [email protected] "\n"
95 [email protected] "\n" 95 [email protected] "}"
96 [email protected] "}"
97 [email protected] "\n" 96 [email protected] "\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 df8ada62a..425e5196c 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
@@ -9,18 +9,16 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "loop"
17 [email protected] "loop" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected] "{"
20 [email protected] 20 [email protected] "}"
21 [email protected] "{" 21 [email protected] ";"
22 [email protected] "}" 22 [email protected] "\n"
23 [email protected] ";" 23 [email protected] "}"
24 [email protected] "\n"
25 [email protected] "}"
26 [email protected] "\n" 24 [email protected] "\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 de01cc79e..d823c08fc 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
@@ -9,52 +9,51 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] "."
22 [email protected] "." 22 [email protected]
23 [email protected] 23 [email protected] "foo"
24 [email protected] "foo" 24 [email protected] ";"
25 [email protected] ";" 25 [email protected] "\n "
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "x"
34 [email protected] "x" 34 [email protected] "."
35 [email protected] "." 35 [email protected]
36 [email protected] 36 [email protected] "0"
37 [email protected] "0" 37 [email protected] "."
38 [email protected] "." 38 [email protected]
39 [email protected] 39 [email protected] "bar"
40 [email protected] "bar" 40 [email protected] ";"
41 [email protected] ";" 41 [email protected] "\n "
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "x"
50 [email protected] "x" 50 [email protected] "."
51 [email protected] "." 51 [email protected]
52 [email protected] 52 [email protected] "0"
53 [email protected] "0" 53 [email protected]
54 [email protected] 54 [email protected] "("
55 [email protected] "(" 55 [email protected] ")"
56 [email protected] ")" 56 [email protected] ";"
57 [email protected] ";" 57 [email protected] "\n"
58 [email protected] "\n" 58 [email protected] "}"
59 [email protected] "}"
60 [email protected] "\n" 59 [email protected] "\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 8ac307cb3..422912e3c 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
@@ -9,29 +9,27 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "loop"
16 [email protected] "loop" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "{"
19 [email protected] 19 [email protected] "\n "
20 [email protected] "{" 20 [email protected]
21 [email protected] "\n " 21 [email protected]
22 [email protected] 22 [email protected] "continue"
23 [email protected] 23 [email protected] ";"
24 [email protected] "continue" 24 [email protected] "\n "
25 [email protected] ";" 25 [email protected]
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected] "continue"
28 [email protected] 28 [email protected] " "
29 [email protected] "continue" 29 [email protected] "\'l"
30 [email protected] " " 30 [email protected] ";"
31 [email protected] "\'l" 31 [email protected] "\n "
32 [email protected] ";" 32 [email protected] "}"
33 [email protected] "\n " 33 [email protected] "\n"
34 [email protected] "}" 34 [email protected] "}"
35 [email protected] "\n"
36 [email protected] "}"
37 [email protected] "\n" 35 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
index 6f6400d00..15da6fdd6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0018_arb_self_types.rast
@@ -32,9 +32,8 @@ [email protected]
32 [email protected] ")" 32 [email protected] ")"
33 [email protected] " " 33 [email protected] " "
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "{"
36 [email protected] "{" 36 [email protected] "}"
37 [email protected] "}"
38 [email protected] "\n " 37 [email protected] "\n "
39 [email protected] 38 [email protected]
40 [email protected] "fn" 39 [email protected] "fn"
@@ -66,9 +65,8 @@ [email protected]
66 [email protected] ")" 65 [email protected] ")"
67 [email protected] " " 66 [email protected] " "
68 [email protected] 67 [email protected]
69 [email protected] 68 [email protected] "{"
70 [email protected] "{" 69 [email protected] "}"
71 [email protected] "}"
72 [email protected] "\n" 70 [email protected] "\n"
73 [email protected] "}" 71 [email protected] "}"
74 [email protected] "\n" 72 [email protected] "\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 ba422f1ae..10d6b2fde 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
@@ -9,37 +9,36 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "*"
17 [email protected] "*" 17 [email protected]
18 [email protected] 18 [email protected] "*"
19 [email protected] "*" 19 [email protected]
20 [email protected] 20 [email protected] "&"
21 [email protected] "&" 21 [email protected]
22 [email protected] 22 [email protected] "1"
23 [email protected] "1" 23 [email protected] ";"
24 [email protected] ";" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "!"
28 [email protected] "!" 28 [email protected]
29 [email protected] 29 [email protected] "!"
30 [email protected] "!" 30 [email protected]
31 [email protected] 31 [email protected] "true"
32 [email protected] "true" 32 [email protected] ";"
33 [email protected] ";" 33 [email protected] "\n "
34 [email protected] "\n " 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "-"
37 [email protected] "-" 37 [email protected]
38 [email protected] 38 [email protected] "-"
39 [email protected] "-" 39 [email protected]
40 [email protected] 40 [email protected] "1"
41 [email protected] "1" 41 [email protected] ";"
42 [email protected] ";" 42 [email protected] "\n"
43 [email protected] "\n" 43 [email protected] "}"
44 [email protected] "}"
45 [email protected] "\n" 44 [email protected] "\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 de22b22dd..c204aeb63 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
@@ -55,9 +55,8 @@ [email protected]
55 [email protected] ")" 55 [email protected] ")"
56 [email protected] " " 56 [email protected] " "
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "{"
59 [email protected] "{" 59 [email protected] "}"
60 [email protected] "}"
61 [email protected] "\n " 60 [email protected] "\n "
62 [email protected] 61 [email protected]
63 [email protected] "fn" 62 [email protected] "fn"
@@ -72,9 +71,8 @@ [email protected]
72 [email protected] ")" 71 [email protected] ")"
73 [email protected] " " 72 [email protected] " "
74 [email protected] 73 [email protected]
75 [email protected] 74 [email protected] "{"
76 [email protected] "{" 75 [email protected] "}"
77 [email protected] "}"
78 [email protected] "\n" 76 [email protected] "\n"
79 [email protected] "}" 77 [email protected] "}"
80 [email protected] "\n" 78 [email protected] "\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 7da292a2d..7eb27d5e1 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
@@ -9,34 +9,33 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "["
19 [email protected] "[" 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "a"
22 [email protected] "a" 22 [email protected] ","
23 [email protected] "," 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "b"
27 [email protected] "b" 27 [email protected] ","
28 [email protected] "," 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] ".."
31 [email protected] ".." 31 [email protected] "]"
32 [email protected] "]" 32 [email protected] " "
33 [email protected] " " 33 [email protected] "="
34 [email protected] "=" 34 [email protected] " "
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected] "["
37 [email protected] "[" 37 [email protected] "]"
38 [email protected] "]" 38 [email protected] ";"
39 [email protected] ";" 39 [email protected] "\n"
40 [email protected] "\n" 40 [email protected] "}"
41 [email protected] "}"
42 [email protected] "\n" 41 [email protected] "\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 574942f06..b4598768e 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
@@ -9,97 +9,96 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "S"
22 [email protected] "S" 22 [email protected] "("
23 [email protected] "(" 23 [email protected] ")"
24 [email protected] ")" 24 [email protected] " "
25 [email protected] " " 25 [email protected] "="
26 [email protected] "=" 26 [email protected] " "
27 [email protected] " " 27 [email protected]
28 [email protected] 28 [email protected] "("
29 [email protected] "(" 29 [email protected] ")"
30 [email protected] ")" 30 [email protected] ";"
31 [email protected] ";" 31 [email protected] "\n "
32 [email protected] "\n " 32 [email protected]
33 [email protected] 33 [email protected] "let"
34 [email protected] "let" 34 [email protected] " "
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected] "S"
40 [email protected] "S" 40 [email protected] "("
41 [email protected] "(" 41 [email protected]
42 [email protected] 42 [email protected] "_"
43 [email protected] "_" 43 [email protected] ")"
44 [email protected] ")" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "="
46 [email protected] "=" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] ";"
51 [email protected] ";" 51 [email protected] "\n "
52 [email protected] "\n " 52 [email protected]
53 [email protected] 53 [email protected] "let"
54 [email protected] "let" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "S"
60 [email protected] "S" 60 [email protected] "("
61 [email protected] "(" 61 [email protected]
62 [email protected] 62 [email protected] "_"
63 [email protected] "_" 63 [email protected] ","
64 [email protected] "," 64 [email protected] ")"
65 [email protected] ")" 65 [email protected] " "
66 [email protected] " " 66 [email protected] "="
67 [email protected] "=" 67 [email protected] " "
68 [email protected] " " 68 [email protected]
69 [email protected] 69 [email protected] "("
70 [email protected] "(" 70 [email protected] ")"
71 [email protected] ")" 71 [email protected] ";"
72 [email protected] ";" 72 [email protected] "\n "
73 [email protected] "\n " 73 [email protected]
74 [email protected] 74 [email protected] "let"
75 [email protected] "let" 75 [email protected] " "
76 [email protected] " " 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected] "S"
81 [email protected] "S" 81 [email protected] "("
82 [email protected] "(" 82 [email protected]
83 [email protected] 83 [email protected] "_"
84 [email protected] "_" 84 [email protected] ","
85 [email protected] "," 85 [email protected] " "
86 [email protected] " " 86 [email protected]
87 [email protected] 87 [email protected] ".."
88 [email protected] ".." 88 [email protected] " "
89 [email protected] " " 89 [email protected] ","
90 [email protected] "," 90 [email protected] " "
91 [email protected] " " 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected] "x"
94 [email protected] "x" 94 [email protected] ")"
95 [email protected] ")" 95 [email protected] " "
96 [email protected] " " 96 [email protected] "="
97 [email protected] "=" 97 [email protected] " "
98 [email protected] " " 98 [email protected]
99 [email protected] 99 [email protected] "("
100 [email protected] "(" 100 [email protected] ")"
101 [email protected] ")" 101 [email protected] ";"
102 [email protected] ";" 102 [email protected] "\n"
103 [email protected] "\n" 103 [email protected] "}"
104 [email protected] "}"
105 [email protected] "\n" 104 [email protected] "\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 1927438bb..b824c10a8 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
@@ -9,42 +9,41 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "&"
19 [email protected] "&" 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "a"
22 [email protected] "a" 22 [email protected] " "
23 [email protected] " " 23 [email protected] "="
24 [email protected] "=" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "("
27 [email protected] "(" 27 [email protected] ")"
28 [email protected] ")" 28 [email protected] ";"
29 [email protected] ";" 29 [email protected] "\n "
30 [email protected] "\n " 30 [email protected]
31 [email protected] 31 [email protected] "let"
32 [email protected] "let" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected] "&"
35 [email protected] "&" 35 [email protected] "mut"
36 [email protected] "mut" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected] "b"
40 [email protected] "b" 40 [email protected] " "
41 [email protected] " " 41 [email protected] "="
42 [email protected] "=" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] "("
45 [email protected] "(" 45 [email protected] ")"
46 [email protected] ")" 46 [email protected] ";"
47 [email protected] ";" 47 [email protected] "\n"
48 [email protected] "\n" 48 [email protected] "}"
49 [email protected] "}"
50 [email protected] "\n" 49 [email protected] "\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 9effb345f..fabb09937 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
@@ -9,82 +9,81 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "82"
18 [email protected] "82" 18 [email protected] " "
19 [email protected] " " 19 [email protected] "as"
20 [email protected] "as" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "i32"
26 [email protected] "i32" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "81"
33 [email protected] "81" 33 [email protected] " "
34 [email protected] " " 34 [email protected] "as"
35 [email protected] "as" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected] "i8"
41 [email protected] "i8" 41 [email protected] " "
42 [email protected] " " 42 [email protected] "+"
43 [email protected] "+" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "1"
46 [email protected] "1" 46 [email protected] ";"
47 [email protected] ";" 47 [email protected] "\n "
48 [email protected] "\n " 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "79"
53 [email protected] "79" 53 [email protected] " "
54 [email protected] " " 54 [email protected] "as"
55 [email protected] "as" 55 [email protected] " "
56 [email protected] " " 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected] "i16"
61 [email protected] "i16" 61 [email protected] " "
62 [email protected] " " 62 [email protected] "-"
63 [email protected] "-" 63 [email protected] " "
64 [email protected] " " 64 [email protected]
65 [email protected] 65 [email protected] "1"
66 [email protected] "1" 66 [email protected] ";"
67 [email protected] ";" 67 [email protected] "\n "
68 [email protected] "\n " 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected]
72 [email protected] 72 [email protected] "0x36"
73 [email protected] "0x36" 73 [email protected] " "
74 [email protected] " " 74 [email protected] "as"
75 [email protected] "as" 75 [email protected] " "
76 [email protected] " " 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected] "u8"
81 [email protected] "u8" 81 [email protected] " "
82 [email protected] " " 82 [email protected] "<="
83 [email protected] "<=" 83 [email protected] " "
84 [email protected] " " 84 [email protected]
85 [email protected] 85 [email protected] "0x37"
86 [email protected] "0x37" 86 [email protected] ";"
87 [email protected] ";" 87 [email protected] "\n"
88 [email protected] "\n" 88 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n" 89 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast b/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast
index b6759541e..3aed26732 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0030_cond.rast
@@ -9,39 +9,37 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected] "if"
16 [email protected] "if" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "let"
19 [email protected] "let" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "Some"
25 [email protected] "Some" 25 [email protected] "("
26 [email protected] "(" 26 [email protected]
27 [email protected] 27 [email protected] "_"
28 [email protected] "_" 28 [email protected] ")"
29 [email protected] ")" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "="
31 [email protected] "=" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "None"
37 [email protected] "None" 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected] "{"
40 [email protected] 40 [email protected] "}"
41 [email protected] "{" 41 [email protected] " "
42 [email protected] "}" 42 [email protected] "}"
43 [email protected] " "
44 [email protected] "}"
45 [email protected] "\n" 43 [email protected] "\n"
46 [email protected] 44 [email protected]
47 [email protected] "fn" 45 [email protected] "fn"
@@ -53,157 +51,152 @@ [email protected]
53 [email protected] ")" 51 [email protected] ")"
54 [email protected] " " 52 [email protected] " "
55 [email protected] 53 [email protected]
56 [email protected] 54 [email protected] "{"
57 [email protected] "{" 55 [email protected] "\n "
58 [email protected] "\n " 56 [email protected]
59 [email protected] 57 [email protected]
60 [email protected] 58 [email protected] "if"
61 [email protected] "if" 59 [email protected] " "
62 [email protected] " " 60 [email protected]
63 [email protected] 61 [email protected] "let"
64 [email protected] "let" 62 [email protected] " "
65 [email protected] " " 63 [email protected]
66 [email protected] 64 [email protected]
67 [email protected] 65 [email protected]
68 [email protected] 66 [email protected]
69 [email protected] 67 [email protected]
70 [email protected] 68 [email protected] "Some"
71 [email protected] "Some" 69 [email protected] "("
72 [email protected] "(" 70 [email protected]
73 [email protected] 71 [email protected] "_"
74 [email protected] "_" 72 [email protected] ")"
75 [email protected] ")" 73 [email protected] " "
76 [email protected] " " 74 [email protected] "|"
77 [email protected] "|" 75 [email protected] " "
78 [email protected] " " 76 [email protected]
79 [email protected] 77 [email protected]
80 [email protected] 78 [email protected]
81 [email protected] 79 [email protected]
82 [email protected] 80 [email protected] "Some"
83 [email protected] "Some" 81 [email protected] "("
84 [email protected] "(" 82 [email protected]
85 [email protected] 83 [email protected] "_"
86 [email protected] "_" 84 [email protected] ")"
87 [email protected] ")" 85 [email protected] " "
88 [email protected] " " 86 [email protected] "="
89 [email protected] "=" 87 [email protected] " "
90 [email protected] " " 88 [email protected]
91 [email protected] 89 [email protected]
92 [email protected] 90 [email protected]
93 [email protected] 91 [email protected]
94 [email protected] 92 [email protected] "None"
95 [email protected] "None" 93 [email protected] " "
96 [email protected] " " 94 [email protected]
97 [email protected] 95 [email protected] "{"
98 [email protected] 96 [email protected] "}"
99 [email protected] "{" 97 [email protected] "\n "
100 [email protected] "}" 98 [email protected]
101 [email protected] "\n " 99 [email protected]
102 [email protected] 100 [email protected] "if"
103 [email protected] 101 [email protected] " "
104 [email protected] "if" 102 [email protected]
105 [email protected] " " 103 [email protected] "let"
106 [email protected] 104 [email protected] " "
107 [email protected] "let" 105 [email protected] "|"
108 [email protected] " " 106 [email protected] " "
109 [email protected] "|" 107 [email protected]
110 [email protected] " " 108 [email protected]
111 [email protected] 109 [email protected]
112 [email protected] 110 [email protected]
113 [email protected] 111 [email protected] "Some"
114 [email protected] 112 [email protected] "("
115 [email protected] "Some" 113 [email protected]
116 [email protected] "(" 114 [email protected] "_"
117 [email protected] 115 [email protected] ")"
118 [email protected] "_" 116 [email protected] " "
119 [email protected] ")" 117 [email protected] "="
120 [email protected] " " 118 [email protected] " "
121 [email protected] "=" 119 [email protected]
122 [email protected] " " 120 [email protected]
123 [email protected] 121 [email protected]
124 [email protected] 122 [email protected]
125 [email protected] 123 [email protected] "None"
126 [email protected] 124 [email protected] " "
127 [email protected] "None" 125 [email protected]
128 [email protected] " " 126 [email protected] "{"
129 [email protected] 127 [email protected] "}"
130 [email protected] 128 [email protected] "\n "
131 [email protected] "{" 129 [email protected]
132 [email protected] "}" 130 [email protected]
133 [email protected] "\n " 131 [email protected] "while"
134 [email protected] 132 [email protected] " "
135 [email protected] 133 [email protected]
136 [email protected] "while" 134 [email protected] "let"
137 [email protected] " " 135 [email protected] " "
138 [email protected] 136 [email protected]
139 [email protected] "let" 137 [email protected]
140 [email protected] " " 138 [email protected]
141 [email protected] 139 [email protected]
142 [email protected] 140 [email protected]
143 [email protected] 141 [email protected] "Some"
144 [email protected] 142 [email protected] "("
145 [email protected] 143 [email protected]
146 [email protected] "Some" 144 [email protected] "_"
147 [email protected] "(" 145 [email protected] ")"
148 [email protected] 146 [email protected] " "
149 [email protected] "_" 147 [email protected] "|"
150 [email protected] ")" 148 [email protected] " "
151 [email protected] " " 149 [email protected]
152 [email protected] "|" 150 [email protected]
153 [email protected] " " 151 [email protected]
154 [email protected] 152 [email protected]
155 [email protected] 153 [email protected] "Some"
156 [email protected] 154 [email protected] "("
157 [email protected] 155 [email protected]
158 [email protected] "Some" 156 [email protected] "_"
159 [email protected] "(" 157 [email protected] ")"
160 [email protected] 158 [email protected] " "
161 [email protected] "_" 159 [email protected] "="
162 [email protected] ")" 160 [email protected] " "
163 [email protected] " " 161 [email protected]
164 [email protected] "=" 162 [email protected]
165 [email protected] " " 163 [email protected]
166 [email protected] 164 [email protected]
167 [email protected] 165 [email protected] "None"
168 [email protected] 166 [email protected] " "
169 [email protected] 167 [email protected]
170 [email protected] "None" 168 [email protected] "{"
171 [email protected] " " 169 [email protected] "}"
172 [email protected] 170 [email protected] "\n "
173 [email protected] 171 [email protected]
174 [email protected] "{" 172 [email protected] "while"
175 [email protected] "}" 173 [email protected] " "
176 [email protected] "\n " 174 [email protected]
177 [email protected] 175 [email protected] "let"
178 [email protected] "while" 176 [email protected] " "
179 [email protected] " " 177 [email protected] "|"
180 [email protected] 178 [email protected] " "
181 [email protected] "let" 179 [email protected]
182 [email protected] " " 180 [email protected]
183 [email protected] "|" 181 [email protected]
184 [email protected] " " 182 [email protected]
185 [email protected] 183 [email protected] "Some"
186 [email protected] 184 [email protected] "("
187 [email protected] 185 [email protected]
188 [email protected] 186 [email protected] "_"
189 [email protected] "Some" 187 [email protected] ")"
190 [email protected] "(" 188 [email protected] " "
191 [email protected] 189 [email protected] "="
192 [email protected] "_" 190 [email protected] " "
193 [email protected] ")" 191 [email protected]
194 [email protected] " " 192 [email protected]
195 [email protected] "=" 193 [email protected]
196 [email protected] " " 194 [email protected]
197 [email protected] 195 [email protected] "None"
198 [email protected] 196 [email protected] " "
199 [email protected] 197 [email protected]
200 [email protected] 198 [email protected] "{"
201 [email protected] "None" 199 [email protected] "}"
202 [email protected] " " 200 [email protected] "\n"
203 [email protected] 201 [email protected] "}"
204 [email protected]
205 [email protected] "{"
206 [email protected] "}"
207 [email protected] "\n"
208 [email protected] "}"
209 [email protected] "\n" 202 [email protected] "\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 e5138a599..899b63aac 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
@@ -9,81 +9,76 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "while"
17 [email protected] "while" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "true"
21 [email protected] "true" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] 24 [email protected] "}"
25 [email protected] "{" 25 [email protected] ";"
26 [email protected] "}" 26 [email protected] "\n "
27 [email protected] ";" 27 [email protected]
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected] "while"
30 [email protected] 30 [email protected] " "
31 [email protected] "while" 31 [email protected]
32 [email protected] " " 32 [email protected] "let"
33 [email protected] 33 [email protected] " "
34 [email protected] "let" 34 [email protected]
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "Some"
39 [email protected] 39 [email protected] "("
40 [email protected] "Some" 40 [email protected]
41 [email protected] "(" 41 [email protected]
42 [email protected] 42 [email protected] "x"
43 [email protected] 43 [email protected] ")"
44 [email protected] "x" 44 [email protected] " "
45 [email protected] ")" 45 [email protected] "="
46 [email protected] " " 46 [email protected] " "
47 [email protected] "=" 47 [email protected]
48 [email protected] " " 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "it"
53 [email protected] 53 [email protected] "."
54 [email protected] "it" 54 [email protected]
55 [email protected] "." 55 [email protected] "next"
56 [email protected] 56 [email protected]
57 [email protected] "next" 57 [email protected] "("
58 [email protected] 58 [email protected] ")"
59 [email protected] "(" 59 [email protected] " "
60 [email protected] ")" 60 [email protected]
61 [email protected] " " 61 [email protected] "{"
62 [email protected] 62 [email protected] "}"
63 [email protected] 63 [email protected] ";"
64 [email protected] "{" 64 [email protected] "\n "
65 [email protected] "}" 65 [email protected]
66 [email protected] ";" 66 [email protected]
67 [email protected] "\n " 67 [email protected] "while"
68 [email protected] 68 [email protected] " "
69 [email protected] 69 [email protected]
70 [email protected] "while" 70 [email protected]
71 [email protected] " " 71 [email protected] "{"
72 [email protected] 72 [email protected] " "
73 [email protected] 73 [email protected]
74 [email protected] 74 [email protected] "true"
75 [email protected] "{" 75 [email protected] " "
76 [email protected] " " 76 [email protected] "}"
77 [email protected] 77 [email protected] " "
78 [email protected] "true" 78 [email protected]
79 [email protected] " " 79 [email protected] "{"
80 [email protected] "}" 80 [email protected] "}"
81 [email protected] " " 81 [email protected] ";"
82 [email protected] 82 [email protected] "\n"
83 [email protected] 83 [email protected] "}"
84 [email protected] "{"
85 [email protected] "}"
86 [email protected] ";"
87 [email protected] "\n"
88 [email protected] "}"
89 [email protected] "\n" 84 [email protected] "\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 52644da8f..e064aafaf 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
@@ -9,47 +9,45 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "loop"
16 [email protected] "loop" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "{"
19 [email protected] 19 [email protected] "\n "
20 [email protected] "{" 20 [email protected]
21 [email protected] "\n " 21 [email protected]
22 [email protected] 22 [email protected] "break"
23 [email protected] 23 [email protected] ";"
24 [email protected] "break" 24 [email protected] "\n "
25 [email protected] ";" 25 [email protected]
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected] "break"
28 [email protected] 28 [email protected] " "
29 [email protected] "break" 29 [email protected] "\'l"
30 [email protected] " " 30 [email protected] ";"
31 [email protected] "\'l" 31 [email protected] "\n "
32 [email protected] ";" 32 [email protected]
33 [email protected] "\n " 33 [email protected]
34 [email protected] 34 [email protected] "break"
35 [email protected] 35 [email protected] " "
36 [email protected] "break" 36 [email protected]
37 [email protected] " " 37 [email protected] "92"
38 [email protected] 38 [email protected] ";"
39 [email protected] "92" 39 [email protected] "\n "
40 [email protected] ";" 40 [email protected]
41 [email protected] "\n " 41 [email protected]
42 [email protected] 42 [email protected] "break"
43 [email protected] 43 [email protected] " "
44 [email protected] "break" 44 [email protected] "\'l"
45 [email protected] " " 45 [email protected] " "
46 [email protected] "\'l" 46 [email protected]
47 [email protected] " " 47 [email protected] "92"
48 [email protected] 48 [email protected] ";"
49 [email protected] "92" 49 [email protected] "\n "
50 [email protected] ";" 50 [email protected] "}"
51 [email protected] "\n " 51 [email protected] "\n"
52 [email protected] "}" 52 [email protected] "}"
53 [email protected] "\n"
54 [email protected] "}"
55 [email protected] "\n" 53 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast
index f061c0cac..cf5825593 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0036_unsafe_extern_fn.rast
@@ -16,7 +16,6 @@ [email protected]
16 [email protected] ")" 16 [email protected] ")"
17 [email protected] " " 17 [email protected] " "
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "{"
20 [email protected] "{" 20 [email protected] "}"
21 [email protected] "}"
22 [email protected] "\n" 21 [email protected] "\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 e25fc8c3e..fbd90bc0f 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
@@ -42,38 +42,37 @@ [email protected]
42 [email protected] ")" 42 [email protected] ")"
43 [email protected] " " 43 [email protected] " "
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected] "{"
46 [email protected] "{" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "<"
54 [email protected] "<" 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "usize"
59 [email protected] "usize" 59 [email protected] " "
60 [email protected] " " 60 [email protected] "as"
61 [email protected] "as" 61 [email protected] " "
62 [email protected] " " 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] 66 [email protected] "Default"
67 [email protected] "Default" 67 [email protected] ">"
68 [email protected] ">" 68 [email protected] "::"
69 [email protected] "::" 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "default"
72 [email protected] "default" 72 [email protected]
73 [email protected] 73 [email protected] "("
74 [email protected] "(" 74 [email protected] ")"
75 [email protected] ")" 75 [email protected] ";"
76 [email protected] ";" 76 [email protected] " "
77 [email protected] " " 77 [email protected] "}"
78 [email protected] "}"
79 [email protected] "\n" 78 [email protected] "\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 a1238d610..a767f145d 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
@@ -9,21 +9,20 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "xs"
21 [email protected] "xs" 21 [email protected] "["
22 [email protected] "[" 22 [email protected]
23 [email protected] 23 [email protected] ".."
24 [email protected] ".." 24 [email protected] "]"
25 [email protected] "]" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] " "
27 [email protected] " " 27 [email protected] "}"
28 [email protected] "}"
29 [email protected] "\n" 28 [email protected] "\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 69e5fe4bc..e92ea2bf2 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
@@ -32,13 +32,12 @@ [email protected]
32 [email protected] " " 32 [email protected] " "
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "{"
36 [email protected] "{" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "2"
39 [email protected] "2" 39 [email protected] " "
40 [email protected] " " 40 [email protected] "}"
41 [email protected] "}"
42 [email protected] "," 41 [email protected] ","
43 [email protected] " " 42 [email protected] " "
44 [email protected] 43 [email protected]
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 1a98e2610..aa582516a 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
@@ -12,10 +12,9 @@ [email protected]
12 [email protected] ")" 12 [email protected] ")"
13 [email protected] " " 13 [email protected] " "
14 [email protected] 14 [email protected]
15 [email protected] 15 [email protected] "{"
16 [email protected] "{" 16 [email protected] " "
17 [email protected] " " 17 [email protected] "}"
18 [email protected] "}"
19 [email protected] "\n" 18 [email protected] "\n"
20 [email protected] 19 [email protected]
21 [email protected] "struct" 20 [email protected] "struct"
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 bbf6dc494..0c1c6e877 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
@@ -9,140 +9,139 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "f"
28 [email protected] "f" 28 [email protected]
29 [email protected] 29 [email protected] "("
30 [email protected] "(" 30 [email protected] ")"
31 [email protected] ")" 31 [email protected] ";"
32 [email protected] ";" 32 [email protected] "\n "
33 [email protected] "\n " 33 [email protected]
34 [email protected] 34 [email protected] "let"
35 [email protected] "let" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected] "_"
38 [email protected] "_" 38 [email protected] " "
39 [email protected] " " 39 [email protected] "="
40 [email protected] "=" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "f"
49 [email protected] "f" 49 [email protected]
50 [email protected] 50 [email protected] "("
51 [email protected] "(" 51 [email protected] ")"
52 [email protected] ")" 52 [email protected]
53 [email protected] 53 [email protected] "("
54 [email protected] "(" 54 [email protected]
55 [email protected] 55 [email protected] "1"
56 [email protected] "1" 56 [email protected] ")"
57 [email protected] ")" 57 [email protected]
58 [email protected] 58 [email protected] "("
59 [email protected] "(" 59 [email protected]
60 [email protected] 60 [email protected] "1"
61 [email protected] "1" 61 [email protected] ","
62 [email protected] "," 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "2"
65 [email protected] "2" 65 [email protected] ","
66 [email protected] "," 66 [email protected] ")"
67 [email protected] ")" 67 [email protected] ";"
68 [email protected] ";" 68 [email protected] "\n "
69 [email protected] "\n " 69 [email protected]
70 [email protected] 70 [email protected] "let"
71 [email protected] "let" 71 [email protected] " "
72 [email protected] " " 72 [email protected]
73 [email protected] 73 [email protected] "_"
74 [email protected] "_" 74 [email protected] " "
75 [email protected] " " 75 [email protected] "="
76 [email protected] "=" 76 [email protected] " "
77 [email protected] " " 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "f"
83 [email protected] "f" 83 [email protected]
84 [email protected] 84 [email protected] "("
85 [email protected] "(" 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected] "<"
91 [email protected] "<" 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected]
95 [email protected] 95 [email protected] "Foo"
96 [email protected] "Foo" 96 [email protected] ">"
97 [email protected] ">" 97 [email protected] "::"
98 [email protected] "::" 98 [email protected]
99 [email protected] 99 [email protected]
100 [email protected] 100 [email protected] "func"
101 [email protected] "func" 101 [email protected]
102 [email protected] 102 [email protected] "("
103 [email protected] "(" 103 [email protected] ")"
104 [email protected] ")" 104 [email protected] ")"
105 [email protected] ")" 105 [email protected] ";"
106 [email protected] ";" 106 [email protected] "\n "
107 [email protected] "\n " 107 [email protected]
108 [email protected] 108 [email protected]
109 [email protected] 109 [email protected]
110 [email protected] 110 [email protected]
111 [email protected] 111 [email protected]
112 [email protected] 112 [email protected]
113 [email protected] 113 [email protected] "f"
114 [email protected] "f" 114 [email protected]
115 [email protected] 115 [email protected] "("
116 [email protected] "(" 116 [email protected]
117 [email protected] 117 [email protected]
118 [email protected] 118 [email protected]
119 [email protected] 119 [email protected]
120 [email protected] 120 [email protected]
121 [email protected] 121 [email protected] "<"
122 [email protected] "<" 122 [email protected]
123 [email protected] 123 [email protected]
124 [email protected] 124 [email protected]
125 [email protected] 125 [email protected]
126 [email protected] 126 [email protected] "Foo"
127 [email protected] "Foo" 127 [email protected] " "
128 [email protected] " " 128 [email protected] "as"
129 [email protected] "as" 129 [email protected] " "
130 [email protected] " " 130 [email protected]
131 [email protected] 131 [email protected]
132 [email protected] 132 [email protected]
133 [email protected] 133 [email protected]
134 [email protected] 134 [email protected] "Trait"
135 [email protected] "Trait" 135 [email protected] ">"
136 [email protected] ">" 136 [email protected] "::"
137 [email protected] "::" 137 [email protected]
138 [email protected] 138 [email protected]
139 [email protected] 139 [email protected] "func"
140 [email protected] "func" 140 [email protected]
141 [email protected] 141 [email protected] "("
142 [email protected] "(" 142 [email protected] ")"
143 [email protected] ")" 143 [email protected] ")"
144 [email protected] ")" 144 [email protected] ";"
145 [email protected] ";" 145 [email protected] "\n"
146 [email protected] "\n" 146 [email protected] "}"
147 [email protected] "}"
148 [email protected] "\n" 147 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast b/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast
index a454dfc3a..c23b3b67c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0044_block_items.rast
@@ -9,22 +9,20 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected] "fn"
16 [email protected] "fn" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "b"
19 [email protected] "b" 19 [email protected]
20 [email protected] 20 [email protected] "("
21 [email protected] "(" 21 [email protected] ")"
22 [email protected] ")" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] 25 [email protected] "}"
26 [email protected] "{" 26 [email protected] " "
27 [email protected] "}" 27 [email protected] "}"
28 [email protected] " "
29 [email protected] "}"
30 [email protected] "\n" 28 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
index 2a50f796c..9ca2165ba 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast
@@ -41,7 +41,6 @@ [email protected]
41 [email protected] "(" 41 [email protected] "("
42 [email protected] ")" 42 [email protected] ")"
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected] "{"
45 [email protected] "{" 45 [email protected] "}"
46 [email protected] "}"
47 [email protected] "\n" 46 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast
index 7f87e05ec..b209f67f8 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0048_path_type_with_bounds.rast
@@ -35,9 +35,8 @@ [email protected]
35 [email protected] ">" 35 [email protected] ">"
36 [email protected] " " 36 [email protected] " "
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "{"
39 [email protected] "{" 39 [email protected] "}"
40 [email protected] "}"
41 [email protected] "\n" 40 [email protected] "\n"
42 [email protected] 41 [email protected]
43 [email protected] "fn" 42 [email protected] "fn"
@@ -77,7 +76,6 @@ [email protected]
77 [email protected] ">" 76 [email protected] ">"
78 [email protected] " " 77 [email protected] " "
79 [email protected] 78 [email protected]
80 [email protected] 79 [email protected] "{"
81 [email protected] "{" 80 [email protected] "}"
82 [email protected] "}"
83 [email protected] "\n" 81 [email protected] "\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 5f846177e..70232a3b2 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
@@ -9,88 +9,87 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "a"
27 [email protected] "a" 27 [email protected] ";"
28 [email protected] ";" 28 [email protected] "\n "
29 [email protected] "\n " 29 [email protected]
30 [email protected] 30 [email protected] "let"
31 [email protected] "let" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected] "_"
34 [email protected] "_" 34 [email protected] " "
35 [email protected] " " 35 [email protected] "="
36 [email protected] "=" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "a"
43 [email protected] "a" 43 [email protected] "::"
44 [email protected] "::" 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "b"
47 [email protected] "b" 47 [email protected] ";"
48 [email protected] ";" 48 [email protected] "\n "
49 [email protected] "\n " 49 [email protected]
50 [email protected] 50 [email protected] "let"
51 [email protected] "let" 51 [email protected] " "
52 [email protected] " " 52 [email protected]
53 [email protected] 53 [email protected] "_"
54 [email protected] "_" 54 [email protected] " "
55 [email protected] " " 55 [email protected] "="
56 [email protected] "=" 56 [email protected] " "
57 [email protected] " " 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected] "::"
61 [email protected] "::" 61 [email protected]
62 [email protected] 62 [email protected] "a"
63 [email protected] "a" 63 [email protected]
64 [email protected] 64 [email protected] "::"
65 [email protected] "::" 65 [email protected] "<"
66 [email protected] "<" 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "b"
72 [email protected] "b" 72 [email protected] ">"
73 [email protected] ">" 73 [email protected] ";"
74 [email protected] ";" 74 [email protected] "\n "
75 [email protected] "\n " 75 [email protected]
76 [email protected] 76 [email protected] "let"
77 [email protected] "let" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected] "_"
80 [email protected] "_" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "="
82 [email protected] "=" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected] "format"
88 [email protected] "format" 88 [email protected] "!"
89 [email protected] "!" 89 [email protected]
90 [email protected] 90 [email protected] "("
91 [email protected] "(" 91 [email protected] ")"
92 [email protected] ")" 92 [email protected] ";"
93 [email protected] ";" 93 [email protected] "\n"
94 [email protected] "\n" 94 [email protected] "}"
95 [email protected] "}"
96 [email protected] "\n" 95 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast b/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast
index d9310e82e..03c52525e 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0055_literal_pattern.rast
@@ -9,69 +9,68 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "-"
27 [email protected] "-" 27 [email protected]
28 [email protected] 28 [email protected] "1"
29 [email protected] "1" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "=>"
31 [email protected] "=>" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected] "("
34 [email protected] "(" 34 [email protected] ")"
35 [email protected] ")" 35 [email protected] ","
36 [email protected] "," 36 [email protected] "\n "
37 [email protected] "\n " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected] "92"
41 [email protected] "92" 41 [email protected] " "
42 [email protected] " " 42 [email protected] "=>"
43 [email protected] "=>" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "("
46 [email protected] "(" 46 [email protected] ")"
47 [email protected] ")" 47 [email protected] ","
48 [email protected] "," 48 [email protected] "\n "
49 [email protected] "\n " 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "\'c\'"
53 [email protected] "\'c\'" 53 [email protected] " "
54 [email protected] " " 54 [email protected] "=>"
55 [email protected] "=>" 55 [email protected] " "
56 [email protected] " " 56 [email protected]
57 [email protected] 57 [email protected] "("
58 [email protected] "(" 58 [email protected] ")"
59 [email protected] ")" 59 [email protected] ","
60 [email protected] "," 60 [email protected] "\n "
61 [email protected] "\n " 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected] "\"hello\""
65 [email protected] "\"hello\"" 65 [email protected] " "
66 [email protected] " " 66 [email protected] "=>"
67 [email protected] "=>" 67 [email protected] " "
68 [email protected] " " 68 [email protected]
69 [email protected] 69 [email protected] "("
70 [email protected] "(" 70 [email protected] ")"
71 [email protected] ")" 71 [email protected] ","
72 [email protected] "," 72 [email protected] "\n "
73 [email protected] "\n " 73 [email protected] "}"
74 [email protected] "}" 74 [email protected] "\n"
75 [email protected] "\n" 75 [email protected] "}"
76 [email protected] "}"
77 [email protected] "\n" 76 [email protected] "\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 2e727c1ef..24f89b83f 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
@@ -105,7 +105,6 @@ [email protected]
105 [email protected] "\'a" 105 [email protected] "\'a"
106 [email protected] "\n" 106 [email protected] "\n"
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected] "{"
109 [email protected] "{" 109 [email protected] "}"
110 [email protected] "}"
111 [email protected] "\n" 110 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast
index c1e58f9bf..bb43d1eaf 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0057_const_fn.rast
@@ -11,7 +11,6 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "}"
16 [email protected] "}"
17 [email protected] "\n" 16 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0058_range_pat.rast
index 9bdf2379f..8bd94a868 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
@@ -9,75 +9,74 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "92"
19 [email protected] "92" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "0"
28 [email protected] "0" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "..."
30 [email protected] "..." 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "100"
34 [email protected] "100" 34 [email protected] " "
35 [email protected] " " 35 [email protected] "=>"
36 [email protected] "=>" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "("
39 [email protected] "(" 39 [email protected] ")"
40 [email protected] ")" 40 [email protected] ","
41 [email protected] "," 41 [email protected] "\n "
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "101"
47 [email protected] "101" 47 [email protected] " "
48 [email protected] " " 48 [email protected] "..="
49 [email protected] "..=" 49 [email protected] " "
50 [email protected] " " 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "200"
53 [email protected] "200" 53 [email protected] " "
54 [email protected] " " 54 [email protected] "=>"
55 [email protected] "=>" 55 [email protected] " "
56 [email protected] " " 56 [email protected]
57 [email protected] 57 [email protected] "("
58 [email protected] "(" 58 [email protected] ")"
59 [email protected] ")" 59 [email protected] ","
60 [email protected] "," 60 [email protected] "\n "
61 [email protected] "\n " 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected] "200"
66 [email protected] "200" 66 [email protected] " "
67 [email protected] " " 67 [email protected] ".."
68 [email protected] ".." 68 [email protected] " "
69 [email protected] " " 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "301"
72 [email protected] "301" 72 [email protected] "=>"
73 [email protected] "=>" 73 [email protected] " "
74 [email protected] " " 74 [email protected]
75 [email protected] 75 [email protected] "("
76 [email protected] "(" 76 [email protected] ")"
77 [email protected] ")" 77 [email protected] ","
78 [email protected] "," 78 [email protected] "\n "
79 [email protected] "\n " 79 [email protected] "}"
80 [email protected] "}" 80 [email protected] "\n"
81 [email protected] "\n" 81 [email protected] "}"
82 [email protected] "}"
83 [email protected] "\n" 82 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast b/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast
index e9ca92364..9210f155c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0059_match_arms_commas.rast
@@ -9,52 +9,50 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "_"
27 [email protected] "_" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "=>"
29 [email protected] "=>" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] ","
34 [email protected] "," 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "_"
38 [email protected] "_" 38 [email protected] " "
39 [email protected] " " 39 [email protected] "=>"
40 [email protected] "=>" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "{"
43 [email protected] 43 [email protected] "}"
44 [email protected] "{" 44 [email protected] "\n "
45 [email protected] "}" 45 [email protected]
46 [email protected] "\n " 46 [email protected]
47 [email protected] 47 [email protected] "_"
48 [email protected] 48 [email protected] " "
49 [email protected] "_" 49 [email protected] "=>"
50 [email protected] " " 50 [email protected] " "
51 [email protected] "=>" 51 [email protected]
52 [email protected] " " 52 [email protected] "("
53 [email protected] 53 [email protected] ")"
54 [email protected] "(" 54 [email protected] "\n "
55 [email protected] ")" 55 [email protected] "}"
56 [email protected] "\n " 56 [email protected] "\n"
57 [email protected] "}" 57 [email protected] "}"
58 [email protected] "\n"
59 [email protected] "}"
60 [email protected] "\n" 58 [email protected] "\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 15d332938..850465d82 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
@@ -9,117 +9,116 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "S"
20 [email protected] "S" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "}"
24 [email protected] "}" 24 [email protected] ";"
25 [email protected] ";" 25 [email protected] "\n "
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "S"
32 [email protected] "S" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected] "{"
35 [email protected] "{" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "x"
42 [email protected] "x" 42 [email protected] ","
43 [email protected] "," 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "y"
47 [email protected] "y" 47 [email protected] ":"
48 [email protected] ":" 48 [email protected] " "
49 [email protected] " " 49 [email protected]
50 [email protected] 50 [email protected] "32"
51 [email protected] "32" 51 [email protected] ","
52 [email protected] "," 52 [email protected] " "
53 [email protected] " " 53 [email protected] "}"
54 [email protected] "}" 54 [email protected] ";"
55 [email protected] ";" 55 [email protected] "\n "
56 [email protected] "\n " 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "S"
62 [email protected] "S" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "{"
65 [email protected] "{" 65 [email protected] " "
66 [email protected] " " 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "x"
72 [email protected] "x" 72 [email protected] ","
73 [email protected] "," 73 [email protected] " "
74 [email protected] " " 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected] "y"
77 [email protected] "y" 77 [email protected] ":"
78 [email protected] ":" 78 [email protected] " "
79 [email protected] " " 79 [email protected]
80 [email protected] 80 [email protected] "32"
81 [email protected] "32" 81 [email protected] ","
82 [email protected] "," 82 [email protected] " "
83 [email protected] " " 83 [email protected] ".."
84 [email protected] ".." 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected] "Default"
91 [email protected] "Default" 91 [email protected] "::"
92 [email protected] "::" 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected] "default"
95 [email protected] "default" 95 [email protected]
96 [email protected] 96 [email protected] "("
97 [email protected] "(" 97 [email protected] ")"
98 [email protected] ")" 98 [email protected] " "
99 [email protected] " " 99 [email protected] "}"
100 [email protected] "}" 100 [email protected] ";"
101 [email protected] ";" 101 [email protected] "\n "
102 [email protected] "\n " 102 [email protected]
103 [email protected] 103 [email protected]
104 [email protected] 104 [email protected]
105 [email protected] 105 [email protected]
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected] "TupleStruct"
108 [email protected] "TupleStruct" 108 [email protected] " "
109 [email protected] " " 109 [email protected]
110 [email protected] 110 [email protected] "{"
111 [email protected] "{" 111 [email protected] " "
112 [email protected] " " 112 [email protected]
113 [email protected] 113 [email protected]
114 [email protected] 114 [email protected] "0"
115 [email protected] "0" 115 [email protected] ":"
116 [email protected] ":" 116 [email protected] " "
117 [email protected] " " 117 [email protected]
118 [email protected] 118 [email protected] "1"
119 [email protected] "1" 119 [email protected] " "
120 [email protected] " " 120 [email protected] "}"
121 [email protected] "}" 121 [email protected] ";"
122 [email protected] ";" 122 [email protected] "\n"
123 [email protected] "\n" 123 [email protected] "}"
124 [email protected] "}"
125 [email protected] "\n" 124 [email protected] "\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 3cce106e4..02656df31 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
@@ -9,9 +9,8 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "}"
14 [email protected] "}"
15 [email protected] "\n" 14 [email protected] "\n"
16 [email protected] 15 [email protected]
17 [email protected] 16 [email protected]
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 5e1b4cc68..445d8d309 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
@@ -9,124 +9,113 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "if"
17 [email protected] "if" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "true"
21 [email protected] "true" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] 24 [email protected] "}"
25 [email protected] "{" 25 [email protected] ";"
26 [email protected] "}" 26 [email protected] "\n "
27 [email protected] ";" 27 [email protected]
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected] "if"
30 [email protected] 30 [email protected] " "
31 [email protected] "if" 31 [email protected]
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected] "true"
34 [email protected] 34 [email protected] " "
35 [email protected] "true" 35 [email protected]
36 [email protected] " " 36 [email protected] "{"
37 [email protected] 37 [email protected] "}"
38 [email protected] 38 [email protected] " "
39 [email protected] "{" 39 [email protected] "else"
40 [email protected] "}" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] "else" 42 [email protected] "{"
43 [email protected] " " 43 [email protected] "}"
44 [email protected] 44 [email protected] ";"
45 [email protected] 45 [email protected] "\n "
46 [email protected] "{" 46 [email protected]
47 [email protected] "}" 47 [email protected]
48 [email protected] ";" 48 [email protected] "if"
49 [email protected] "\n " 49 [email protected] " "
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] "if" 52 [email protected] "true"
53 [email protected] " " 53 [email protected] " "
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected] "{"
56 [email protected] "true" 56 [email protected] "}"
57 [email protected] " " 57 [email protected] " "
58 [email protected] 58 [email protected] "else"
59 [email protected] 59 [email protected] " "
60 [email protected] "{" 60 [email protected]
61 [email protected] "}" 61 [email protected] "if"
62 [email protected] " " 62 [email protected] " "
63 [email protected] "else" 63 [email protected]
64 [email protected] " " 64 [email protected]
65 [email protected] 65 [email protected] "false"
66 [email protected] "if" 66 [email protected] " "
67 [email protected] " " 67 [email protected]
68 [email protected] 68 [email protected] "{"
69 [email protected] 69 [email protected] "}"
70 [email protected] "false" 70 [email protected] " "
71 [email protected] " " 71 [email protected] "else"
72 [email protected] 72 [email protected] " "
73 [email protected] 73 [email protected]
74 [email protected] "{" 74 [email protected] "{"
75 [email protected] "}" 75 [email protected] "}"
76 [email protected] " " 76 [email protected] ";"
77 [email protected] "else" 77 [email protected] "\n "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected] "if"
81 [email protected] "{" 81 [email protected] " "
82 [email protected] "}" 82 [email protected]
83 [email protected] ";" 83 [email protected]
84 [email protected] "\n " 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] "if" 87 [email protected] "S"
88 [email protected] " " 88 [email protected] " "
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected] "{"
91 [email protected] 91 [email protected] "}"
92 [email protected] 92 [email protected] ";"
93 [email protected] 93 [email protected] "\n "
94 [email protected] "S" 94 [email protected]
95 [email protected] " " 95 [email protected]
96 [email protected] 96 [email protected] "if"
97 [email protected] 97 [email protected] " "
98 [email protected] "{" 98 [email protected]
99 [email protected] "}" 99 [email protected]
100 [email protected] ";" 100 [email protected] "{"
101 [email protected] "\n " 101 [email protected] " "
102 [email protected] 102 [email protected]
103 [email protected] 103 [email protected] "true"
104 [email protected] "if" 104 [email protected] " "
105 [email protected] " " 105 [email protected] "}"
106 [email protected] 106 [email protected] " "
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected] "{"
109 [email protected] "{" 109 [email protected] " "
110 [email protected] " " 110 [email protected] "}"
111 [email protected] 111 [email protected] " "
112 [email protected] "true" 112 [email protected] "else"
113 [email protected] " " 113 [email protected] " "
114 [email protected] "}" 114 [email protected]
115 [email protected] " " 115 [email protected] "{"
116 [email protected] 116 [email protected] " "
117 [email protected] 117 [email protected] "}"
118 [email protected] "{" 118 [email protected] ";"
119 [email protected] " " 119 [email protected] "\n"
120 [email protected] "}" 120 [email protected] "}"
121 [email protected] " "
122 [email protected] "else"
123 [email protected] " "
124 [email protected]
125 [email protected]
126 [email protected] "{"
127 [email protected] " "
128 [email protected] "}"
129 [email protected] ";"
130 [email protected] "\n"
131 [email protected] "}"
132 [email protected] "\n" 121 [email protected] "\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 108e5c5cc..177bb5514 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
@@ -9,144 +9,143 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "match"
17 [email protected] "match" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected] "("
20 [email protected] "(" 20 [email protected] ")"
21 [email protected] ")" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "_"
28 [email protected] "_" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "=>"
30 [email protected] "=>" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "("
33 [email protected] "(" 33 [email protected] ")"
34 [email protected] ")" 34 [email protected] ","
35 [email protected] "," 35 [email protected] "\n "
36 [email protected] "\n " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "_"
39 [email protected] "_" 39 [email protected] " "
40 [email protected] " " 40 [email protected]
41 [email protected] 41 [email protected] "if"
42 [email protected] "if" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "Test"
49 [email protected] "Test" 49 [email protected] " "
50 [email protected] " " 50 [email protected] ">"
51 [email protected] ">" 51 [email protected] " "
52 [email protected] " " 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected] "Test"
57 [email protected] "Test" 57 [email protected]
58 [email protected] 58 [email protected] "{"
59 [email protected] "{" 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "field"
62 [email protected] "field" 62 [email protected] ":"
63 [email protected] ":" 63 [email protected] " "
64 [email protected] " " 64 [email protected]
65 [email protected] 65 [email protected] "0"
66 [email protected] "0" 66 [email protected] "}"
67 [email protected] "}" 67 [email protected] " "
68 [email protected] " " 68 [email protected] "=>"
69 [email protected] "=>" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected] "("
72 [email protected] "(" 72 [email protected] ")"
73 [email protected] ")" 73 [email protected] ","
74 [email protected] "," 74 [email protected] "\n "
75 [email protected] "\n " 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "X"
80 [email protected] "X" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "|"
82 [email protected] "|" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected]
85 [email protected] 85 [email protected] "Y"
86 [email protected] "Y" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected] "if"
89 [email protected] "if" 89 [email protected] " "
90 [email protected] " " 90 [email protected]
91 [email protected] 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected] "Z"
95 [email protected] "Z" 95 [email protected] " "
96 [email protected] " " 96 [email protected] "=>"
97 [email protected] "=>" 97 [email protected] " "
98 [email protected] " " 98 [email protected]
99 [email protected] 99 [email protected] "("
100 [email protected] "(" 100 [email protected] ")"
101 [email protected] ")" 101 [email protected] ","
102 [email protected] "," 102 [email protected] "\n "
103 [email protected] "\n " 103 [email protected]
104 [email protected] 104 [email protected] "|"
105 [email protected] "|" 105 [email protected] " "
106 [email protected] " " 106 [email protected]
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected]
109 [email protected] 109 [email protected] "X"
110 [email protected] "X" 110 [email protected] " "
111 [email protected] " " 111 [email protected] "|"
112 [email protected] "|" 112 [email protected] " "
113 [email protected] " " 113 [email protected]
114 [email protected] 114 [email protected]
115 [email protected] 115 [email protected] "Y"
116 [email protected] "Y" 116 [email protected] " "
117 [email protected] " " 117 [email protected]
118 [email protected] 118 [email protected] "if"
119 [email protected] "if" 119 [email protected] " "
120 [email protected] " " 120 [email protected]
121 [email protected] 121 [email protected]
122 [email protected] 122 [email protected]
123 [email protected] 123 [email protected]
124 [email protected] 124 [email protected] "Z"
125 [email protected] "Z" 125 [email protected] " "
126 [email protected] " " 126 [email protected] "=>"
127 [email protected] "=>" 127 [email protected] " "
128 [email protected] " " 128 [email protected]
129 [email protected] 129 [email protected] "("
130 [email protected] "(" 130 [email protected] ")"
131 [email protected] ")" 131 [email protected] ","
132 [email protected] "," 132 [email protected] "\n "
133 [email protected] "\n " 133 [email protected]
134 [email protected] 134 [email protected] "|"
135 [email protected] "|" 135 [email protected] " "
136 [email protected] " " 136 [email protected]
137 [email protected] 137 [email protected]
138 [email protected] 138 [email protected] "X"
139 [email protected] "X" 139 [email protected] " "
140 [email protected] " " 140 [email protected] "=>"
141 [email protected] "=>" 141 [email protected] " "
142 [email protected] " " 142 [email protected]
143 [email protected] 143 [email protected] "("
144 [email protected] "(" 144 [email protected] ")"
145 [email protected] ")" 145 [email protected] ","
146 [email protected] "," 146 [email protected] "\n "
147 [email protected] "\n " 147 [email protected] "}"
148 [email protected] "}" 148 [email protected] ";"
149 [email protected] ";" 149 [email protected] "\n"
150 [email protected] "\n" 150 [email protected] "}"
151 [email protected] "}"
152 [email protected] "\n" 151 [email protected] "\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 1e888063e..f8ff7079b 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
@@ -9,45 +9,42 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] 25 [email protected]
26 [email protected] "{" 26 [email protected] "1"
27 [email protected] 27 [email protected] "}"
28 [email protected] "1" 28 [email protected] " "
29 [email protected] "}" 29 [email protected] "&"
30 [email protected] " " 30 [email protected] " "
31 [email protected] "&" 31 [email protected]
32 [email protected] " " 32 [email protected] "2"
33 [email protected] 33 [email protected] ";"
34 [email protected] "2" 34 [email protected] "\n "
35 [email protected] ";" 35 [email protected]
36 [email protected] "\n " 36 [email protected]
37 [email protected] 37 [email protected] "{"
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected] "1"
40 [email protected] "{" 40 [email protected] "}"
41 [email protected] 41 [email protected] " "
42 [email protected] "1" 42 [email protected]
43 [email protected] "}" 43 [email protected]
44 [email protected] " " 44 [email protected] "&"
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "2"
47 [email protected] "&" 47 [email protected] ";"
48 [email protected] 48 [email protected] "\n"
49 [email protected] "2" 49 [email protected] "}"
50 [email protected] ";"
51 [email protected] "\n"
52 [email protected] "}"
53 [email protected] "\n" 50 [email protected] "\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 218b3ec9e..07b3d1435 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
@@ -9,88 +9,85 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "match"
17 [email protected] "match" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected] "("
20 [email protected] "(" 20 [email protected] ")"
21 [email protected] ")" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] " "
25 [email protected] " " 25 [email protected] "}"
26 [email protected] "}" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "match"
31 [email protected] "match" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "S"
37 [email protected] "S" 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected] "{"
40 [email protected] "{" 40 [email protected] "}"
41 [email protected] "}" 41 [email protected] ";"
42 [email protected] ";" 42 [email protected] "\n "
43 [email protected] "\n " 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected] "match"
46 [email protected] "match" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "{"
49 [email protected] 49 [email protected] " "
50 [email protected] "{" 50 [email protected] "}"
51 [email protected] " " 51 [email protected] " "
52 [email protected] "}" 52 [email protected]
53 [email protected] " " 53 [email protected] "{"
54 [email protected] 54 [email protected] " "
55 [email protected] "{" 55 [email protected]
56 [email protected] " " 56 [email protected]
57 [email protected] 57 [email protected] "_"
58 [email protected] 58 [email protected] " "
59 [email protected] "_" 59 [email protected] "=>"
60 [email protected] " " 60 [email protected] " "
61 [email protected] "=>" 61 [email protected]
62 [email protected] " " 62 [email protected] "("
63 [email protected] 63 [email protected] ")"
64 [email protected] "(" 64 [email protected] " "
65 [email protected] ")" 65 [email protected] "}"
66 [email protected] " " 66 [email protected] ";"
67 [email protected] "}" 67 [email protected] "\n "
68 [email protected] ";" 68 [email protected]
69 [email protected] "\n " 69 [email protected]
70 [email protected] 70 [email protected] "match"
71 [email protected] 71 [email protected] " "
72 [email protected] "match" 72 [email protected]
73 [email protected] " " 73 [email protected] "{"
74 [email protected] 74 [email protected] " "
75 [email protected] 75 [email protected]
76 [email protected] "{" 76 [email protected]
77 [email protected] " " 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "S"
80 [email protected] 80 [email protected] " "
81 [email protected] 81 [email protected]
82 [email protected] "S" 82 [email protected] "{"
83 [email protected] " " 83 [email protected] "}"
84 [email protected] 84 [email protected] " "
85 [email protected] "{" 85 [email protected] "}"
86 [email protected] "}" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] "}" 88 [email protected] "{"
89 [email protected] " " 89 [email protected] "}"
90 [email protected] 90 [email protected] ";"
91 [email protected] "{" 91 [email protected] "\n"
92 [email protected] "}" 92 [email protected] "}"
93 [email protected] ";"
94 [email protected] "\n"
95 [email protected] "}"
96 [email protected] "\n" 93 [email protected] "\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 b8171dc9c..665f716a8 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
@@ -9,21 +9,20 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "return"
17 [email protected] "return" 17 [email protected] ";"
18 [email protected] ";" 18 [email protected] "\n "
19 [email protected] "\n " 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "return"
22 [email protected] "return" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "92"
25 [email protected] "92" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] "\n"
27 [email protected] "\n" 27 [email protected] "}"
28 [email protected] "}"
29 [email protected] "\n" 28 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast
index c2a73ef25..3fd3a4391 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast
@@ -9,55 +9,51 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "_"
27 [email protected] "_" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "=>"
29 [email protected] "=>" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "{"
32 [email protected] 32 [email protected] "}"
33 [email protected] "{" 33 [email protected] "\n "
34 [email protected] "}" 34 [email protected]
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected] "("
37 [email protected] 37 [email protected] ")"
38 [email protected] "(" 38 [email protected] " "
39 [email protected] ")" 39 [email protected] "=>"
40 [email protected] " " 40 [email protected] " "
41 [email protected] "=>" 41 [email protected]
42 [email protected] " " 42 [email protected] "{"
43 [email protected] 43 [email protected] "}"
44 [email protected] 44 [email protected] "\n "
45 [email protected] "{" 45 [email protected]
46 [email protected] "}" 46 [email protected]
47 [email protected] "\n " 47 [email protected] "["
48 [email protected] 48 [email protected] "]"
49 [email protected] 49 [email protected] " "
50 [email protected] "[" 50 [email protected] "=>"
51 [email protected] "]" 51 [email protected] " "
52 [email protected] " " 52 [email protected]
53 [email protected] "=>" 53 [email protected] "{"
54 [email protected] " " 54 [email protected] "}"
55 [email protected] 55 [email protected] "\n "
56 [email protected] 56 [email protected] "}"
57 [email protected] "{" 57 [email protected] "\n"
58 [email protected] "}" 58 [email protected] "}"
59 [email protected] "\n "
60 [email protected] "}"
61 [email protected] "\n"
62 [email protected] "}"
63 [email protected] "\n" 59 [email protected] "\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 39a86d002..97c6e6a9d 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
@@ -9,9 +9,8 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "}"
14 [email protected] "}"
15 [email protected] "\n" 14 [email protected] "\n"
16 [email protected] 15 [email protected]
17 [email protected] "fn" 16 [email protected] "fn"
@@ -23,22 +22,21 @@ [email protected]
23 [email protected] ")" 22 [email protected] ")"
24 [email protected] " " 23 [email protected] " "
25 [email protected] 24 [email protected]
26 [email protected] 25 [email protected] "{"
27 [email protected] "{" 26 [email protected] " "
28 [email protected] " " 27 [email protected]
29 [email protected] 28 [email protected] "let"
30 [email protected] "let" 29 [email protected] " "
31 [email protected] " " 30 [email protected]
32 [email protected] 31 [email protected] "_"
33 [email protected] "_" 32 [email protected] " "
34 [email protected] " " 33 [email protected] "="
35 [email protected] "=" 34 [email protected] " "
36 [email protected] " " 35 [email protected]
37 [email protected] 36 [email protected] "1"
38 [email protected] "1" 37 [email protected] ";"
39 [email protected] ";" 38 [email protected] " "
40 [email protected] " " 39 [email protected] "}"
41 [email protected] "}"
42 [email protected] "\n" 40 [email protected] "\n"
43 [email protected] 41 [email protected]
44 [email protected] "fn" 42 [email protected] "fn"
@@ -50,20 +48,19 @@ [email protected]
50 [email protected] ")" 48 [email protected] ")"
51 [email protected] " " 49 [email protected] " "
52 [email protected] 50 [email protected]
53 [email protected] 51 [email protected] "{"
54 [email protected] "{" 52 [email protected] " "
55 [email protected] " " 53 [email protected]
56 [email protected] 54 [email protected]
57 [email protected] 55 [email protected] "1"
58 [email protected] "1" 56 [email protected] ";"
59 [email protected] ";" 57 [email protected] " "
60 [email protected] " " 58 [email protected]
61 [email protected] 59 [email protected]
62 [email protected] 60 [email protected] "2"
63 [email protected] "2" 61 [email protected] ";"
64 [email protected] ";" 62 [email protected] " "
65 [email protected] " " 63 [email protected] "}"
66 [email protected] "}"
67 [email protected] "\n" 64 [email protected] "\n"
68 [email protected] 65 [email protected]
69 [email protected] "fn" 66 [email protected] "fn"
@@ -75,16 +72,15 @@ [email protected]
75 [email protected] ")" 72 [email protected] ")"
76 [email protected] " " 73 [email protected] " "
77 [email protected] 74 [email protected]
78 [email protected] 75 [email protected] "{"
79 [email protected] "{" 76 [email protected] " "
80 [email protected] " " 77 [email protected]
81 [email protected] 78 [email protected]
82 [email protected] 79 [email protected] "1"
83 [email protected] "1" 80 [email protected] ";"
84 [email protected] ";" 81 [email protected] " "
85 [email protected] " " 82 [email protected]
86 [email protected] 83 [email protected] "2"
87 [email protected] "2" 84 [email protected] " "
88 [email protected] " " 85 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n" 86 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast b/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast
index 9621ba59e..e2c1a507d 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0076_function_where_clause.rast
@@ -34,7 +34,6 @@ [email protected]
34 [email protected] "Copy" 34 [email protected] "Copy"
35 [email protected] " " 35 [email protected] " "
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "{"
38 [email protected] "{" 38 [email protected] "}"
39 [email protected] "}"
40 [email protected] "\n" 39 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0077_try_expr.rast
index ed9d62c5f..4f3a8ed24 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
@@ -9,18 +9,17 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] "?"
22 [email protected] "?" 22 [email protected] ";"
23 [email protected] ";" 23 [email protected] "\n"
24 [email protected] "\n" 24 [email protected] "}"
25 [email protected] "}"
26 [email protected] "\n" 25 [email protected] "\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 5141ce70d..462d1a8bb 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
@@ -9,88 +9,87 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "x"
20 [email protected] "x" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "1"
26 [email protected] "1" 26 [email protected] ".."
27 [email protected] ".." 27 [email protected] ";"
28 [email protected] ";" 28 [email protected] "\n "
29 [email protected] "\n " 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "match"
32 [email protected] "match" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "1"
36 [email protected] "1" 36 [email protected] ".."
37 [email protected] ".." 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected] "{"
40 [email protected] "{" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "_"
44 [email protected] "_" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "=>"
46 [email protected] "=>" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] " "
51 [email protected] " " 51 [email protected] "}"
52 [email protected] "}" 52 [email protected] ";"
53 [email protected] ";" 53 [email protected] "\n "
54 [email protected] "\n " 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected] "match"
57 [email protected] "match" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected] "a"
65 [email protected] "a" 65 [email protected] "."
66 [email protected] "." 66 [email protected]
67 [email protected] 67 [email protected] "b"
68 [email protected] "b" 68 [email protected]
69 [email protected] 69 [email protected] "("
70 [email protected] "(" 70 [email protected] ")"
71 [email protected] ")" 71 [email protected] ".."
72 [email protected] ".." 72 [email protected]
73 [email protected] 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected] "S"
77 [email protected] "S" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected] "{"
80 [email protected] "{" 80 [email protected] " "
81 [email protected] " " 81 [email protected]
82 [email protected] 82 [email protected]
83 [email protected] 83 [email protected] "_"
84 [email protected] "_" 84 [email protected] " "
85 [email protected] " " 85 [email protected] "=>"
86 [email protected] "=>" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected] "("
89 [email protected] "(" 89 [email protected] ")"
90 [email protected] ")" 90 [email protected] " "
91 [email protected] " " 91 [email protected] "}"
92 [email protected] "}" 92 [email protected] ";"
93 [email protected] ";" 93 [email protected] "\n"
94 [email protected] "\n" 94 [email protected] "}"
95 [email protected] "}"
96 [email protected] "\n" 95 [email protected] "\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 cdbe64180..dfb8d57ad 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
@@ -89,9 +89,8 @@ [email protected]
89 [email protected] "Iterator" 89 [email protected] "Iterator"
90 [email protected] " " 90 [email protected] " "
91 [email protected] 91 [email protected]
92 [email protected] 92 [email protected] "{"
93 [email protected] "{" 93 [email protected] "}"
94 [email protected] "}"
95 [email protected] "\n" 94 [email protected] "\n"
96 [email protected] 95 [email protected]
97 [email protected] "fn" 96 [email protected] "fn"
@@ -155,9 +154,8 @@ [email protected]
155 [email protected] "Iterator" 154 [email protected] "Iterator"
156 [email protected] " " 155 [email protected] " "
157 [email protected] 156 [email protected]
158 [email protected] 157 [email protected] "{"
159 [email protected] "{" 158 [email protected] "}"
160 [email protected] "}"
161 [email protected] "\n" 159 [email protected] "\n"
162 [email protected] 160 [email protected]
163 [email protected] "fn" 161 [email protected] "fn"
@@ -237,7 +235,6 @@ [email protected]
237 [email protected] "Iterator" 235 [email protected] "Iterator"
238 [email protected] " " 236 [email protected] " "
239 [email protected] 237 [email protected]
240 [email protected] 238 [email protected] "{"
241 [email protected] "{" 239 [email protected] "}"
242 [email protected] "}"
243 [email protected] "\n" 240 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0082_ref_expr.rast
index fbad33389..7fe96e17d 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
@@ -9,47 +9,46 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "&"
24 [email protected] "&" 24 [email protected]
25 [email protected] 25 [email protected] "1"
26 [email protected] "1" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected] "let"
30 [email protected] "let" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "_"
33 [email protected] "_" 33 [email protected] " "
34 [email protected] " " 34 [email protected] "="
35 [email protected] "=" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected] "&"
38 [email protected] "&" 38 [email protected] "mut"
39 [email protected] "mut" 39 [email protected] " "
40 [email protected] " " 40 [email protected]
41 [email protected] 41 [email protected] "&"
42 [email protected] "&" 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected] "f"
48 [email protected] "f" 48 [email protected]
49 [email protected] 49 [email protected] "("
50 [email protected] "(" 50 [email protected] ")"
51 [email protected] ")" 51 [email protected] ";"
52 [email protected] ";" 52 [email protected] "\n"
53 [email protected] "\n" 53 [email protected] "}"
54 [email protected] "}"
55 [email protected] "\n" 54 [email protected] "\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 b165789fd..9fcb7899e 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
@@ -9,128 +9,127 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "true"
24 [email protected] "true" 24 [email protected] ";"
25 [email protected] ";" 25 [email protected] "\n "
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected] "let"
28 [email protected] "let" 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] "_"
31 [email protected] "_" 31 [email protected] " "
32 [email protected] " " 32 [email protected] "="
33 [email protected] "=" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "false"
36 [email protected] "false" 36 [email protected] ";"
37 [email protected] ";" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected] "let"
40 [email protected] "let" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "_"
43 [email protected] "_" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "="
45 [email protected] "=" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected] "1"
48 [email protected] "1" 48 [email protected] ";"
49 [email protected] ";" 49 [email protected] "\n "
50 [email protected] "\n " 50 [email protected]
51 [email protected] 51 [email protected] "let"
52 [email protected] "let" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected] "_"
55 [email protected] "_" 55 [email protected] " "
56 [email protected] " " 56 [email protected] "="
57 [email protected] "=" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected] "2.0"
60 [email protected] "2.0" 60 [email protected] ";"
61 [email protected] ";" 61 [email protected] "\n "
62 [email protected] "\n " 62 [email protected]
63 [email protected] 63 [email protected] "let"
64 [email protected] "let" 64 [email protected] " "
65 [email protected] " " 65 [email protected]
66 [email protected] 66 [email protected] "_"
67 [email protected] "_" 67 [email protected] " "
68 [email protected] " " 68 [email protected] "="
69 [email protected] "=" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected] "b\'a\'"
72 [email protected] "b\'a\'" 72 [email protected] ";"
73 [email protected] ";" 73 [email protected] "\n "
74 [email protected] "\n " 74 [email protected]
75 [email protected] 75 [email protected] "let"
76 [email protected] "let" 76 [email protected] " "
77 [email protected] " " 77 [email protected]
78 [email protected] 78 [email protected] "_"
79 [email protected] "_" 79 [email protected] " "
80 [email protected] " " 80 [email protected] "="
81 [email protected] "=" 81 [email protected] " "
82 [email protected] " " 82 [email protected]
83 [email protected] 83 [email protected] "\'b\'"
84 [email protected] "\'b\'" 84 [email protected] ";"
85 [email protected] ";" 85 [email protected] "\n "
86 [email protected] "\n " 86 [email protected]
87 [email protected] 87 [email protected] "let"
88 [email protected] "let" 88 [email protected] " "
89 [email protected] " " 89 [email protected]
90 [email protected] 90 [email protected] "_"
91 [email protected] "_" 91 [email protected] " "
92 [email protected] " " 92 [email protected] "="
93 [email protected] "=" 93 [email protected] " "
94 [email protected] " " 94 [email protected]
95 [email protected] 95 [email protected] "\"c\""
96 [email protected] "\"c\"" 96 [email protected] ";"
97 [email protected] ";" 97 [email protected] "\n "
98 [email protected] "\n " 98 [email protected]
99 [email protected] 99 [email protected] "let"
100 [email protected] "let" 100 [email protected] " "
101 [email protected] " " 101 [email protected]
102 [email protected] 102 [email protected] "_"
103 [email protected] "_" 103 [email protected] " "
104 [email protected] " " 104 [email protected] "="
105 [email protected] "=" 105 [email protected] " "
106 [email protected] " " 106 [email protected]
107 [email protected] 107 [email protected] "r\"d\""
108 [email protected] "r\"d\"" 108 [email protected] ";"
109 [email protected] ";" 109 [email protected] "\n "
110 [email protected] "\n " 110 [email protected]
111 [email protected] 111 [email protected] "let"
112 [email protected] "let" 112 [email protected] " "
113 [email protected] " " 113 [email protected]
114 [email protected] 114 [email protected] "_"
115 [email protected] "_" 115 [email protected] " "
116 [email protected] " " 116 [email protected] "="
117 [email protected] "=" 117 [email protected] " "
118 [email protected] " " 118 [email protected]
119 [email protected] 119 [email protected] "b\"e\""
120 [email protected] "b\"e\"" 120 [email protected] ";"
121 [email protected] ";" 121 [email protected] "\n "
122 [email protected] "\n " 122 [email protected]
123 [email protected] 123 [email protected] "let"
124 [email protected] "let" 124 [email protected] " "
125 [email protected] " " 125 [email protected]
126 [email protected] 126 [email protected] "_"
127 [email protected] "_" 127 [email protected] " "
128 [email protected] " " 128 [email protected] "="
129 [email protected] "=" 129 [email protected] " "
130 [email protected] " " 130 [email protected]
131 [email protected] 131 [email protected] "br\"f\""
132 [email protected] "br\"f\"" 132 [email protected] ";"
133 [email protected] ";" 133 [email protected] "\n"
134 [email protected] "\n" 134 [email protected] "}"
135 [email protected] "}"
136 [email protected] "\n" 135 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast b/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast
index 36f17133d..a42abc189 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0086_function_ret_type.rast
@@ -9,9 +9,8 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "}"
14 [email protected] "}"
15 [email protected] "\n" 14 [email protected] "\n"
16 [email protected] 15 [email protected]
17 [email protected] "fn" 16 [email protected] "fn"
@@ -30,7 +29,6 @@ [email protected]
30 [email protected] ")" 29 [email protected] ")"
31 [email protected] " " 30 [email protected] " "
32 [email protected] 31 [email protected]
33 [email protected] 32 [email protected] "{"
34 [email protected] "{" 33 [email protected] "}"
35 [email protected] "}"
36 [email protected] "\n" 34 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast b/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast
index ca5aa007e..7e71d7373 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0088_break_ambiguity.rast
@@ -8,62 +8,58 @@ [email protected]
8 [email protected] "(" 8 [email protected] "("
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] 10 [email protected]
11 [email protected] 11 [email protected] "{"
12 [email protected] "{" 12 [email protected] "\n "
13 [email protected] "\n " 13 [email protected]
14 [email protected] 14 [email protected]
15 [email protected] 15 [email protected] "if"
16 [email protected] "if" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "break"
20 [email protected] "break" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] 23 [email protected] "}"
24 [email protected] "{" 24 [email protected] "\n "
25 [email protected] "}" 25 [email protected]
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected] "while"
28 [email protected] 28 [email protected] " "
29 [email protected] "while" 29 [email protected]
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "break"
32 [email protected] 32 [email protected] " "
33 [email protected] "break" 33 [email protected]
34 [email protected] " " 34 [email protected] "{"
35 [email protected] 35 [email protected] "}"
36 [email protected] 36 [email protected] "\n "
37 [email protected] "{" 37 [email protected]
38 [email protected] "}" 38 [email protected]
39 [email protected] "\n " 39 [email protected] "for"
40 [email protected] 40 [email protected] " "
41 [email protected] 41 [email protected]
42 [email protected] "for" 42 [email protected]
43 [email protected] " " 43 [email protected] "i"
44 [email protected] 44 [email protected] " "
45 [email protected] 45 [email protected] "in"
46 [email protected] "i" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] "in" 48 [email protected] "break"
49 [email protected] " " 49 [email protected] " "
50 [email protected] 50 [email protected]
51 [email protected] "break" 51 [email protected] "{"
52 [email protected] " " 52 [email protected] "}"
53 [email protected] 53 [email protected] "\n "
54 [email protected] 54 [email protected]
55 [email protected] "{" 55 [email protected] "match"
56 [email protected] "}" 56 [email protected] " "
57 [email protected] "\n " 57 [email protected]
58 [email protected] 58 [email protected] "break"
59 [email protected] "match" 59 [email protected] " "
60 [email protected] " " 60 [email protected]
61 [email protected] 61 [email protected] "{"
62 [email protected] "break" 62 [email protected] "}"
63 [email protected] " " 63 [email protected] "\n"
64 [email protected] 64 [email protected] "}"
65 [email protected] "{"
66 [email protected] "}"
67 [email protected] "\n"
68 [email protected] "}"
69 [email protected] "\n" 65 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast
index 1c1e349e1..48aaf1004 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0089_extern_fn.rast
@@ -12,7 +12,6 @@ [email protected]
12 [email protected] ")" 12 [email protected] ")"
13 [email protected] " " 13 [email protected] " "
14 [email protected] 14 [email protected]
15 [email protected] 15 [email protected] "{"
16 [email protected] "{" 16 [email protected] "}"
17 [email protected] "}"
18 [email protected] "\n" 17 [email protected] "\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 c264dae5e..aed81f9b0 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
@@ -9,26 +9,25 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "x"
22 [email protected] "x" 22 [email protected] "["
23 [email protected] "[" 23 [email protected]
24 [email protected] 24 [email protected] "1"
25 [email protected] "1" 25 [email protected] "]"
26 [email protected] "]" 26 [email protected] "["
27 [email protected] "[" 27 [email protected]
28 [email protected] 28 [email protected] "2"
29 [email protected] "2" 29 [email protected] "]"
30 [email protected] "]" 30 [email protected] ";"
31 [email protected] ";" 31 [email protected] "\n"
32 [email protected] "\n" 32 [email protected] "}"
33 [email protected] "}"
34 [email protected] "\n" 33 [email protected] "\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 24e1ba8a0..67d9595d3 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
@@ -9,21 +9,20 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "("
24 [email protected] "(" 24 [email protected] ")"
25 [email protected] ")" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] " "
27 [email protected] " " 27 [email protected] "}"
28 [email protected] "}"
29 [email protected] "\n" 28 [email protected] "\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 47462d44e..031e74652 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
@@ -9,122 +9,115 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "if"
17 [email protected] "if" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "true"
21 [email protected] "true" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] 24 [email protected] "}"
25 [email protected] "{" 25 [email protected] "\n "
26 [email protected] "}" 26 [email protected]
27 [email protected] "\n " 27 [email protected]
28 [email protected] 28 [email protected] "loop"
29 [email protected] 29 [email protected] " "
30 [email protected] "loop" 30 [email protected]
31 [email protected] " " 31 [email protected] "{"
32 [email protected] 32 [email protected] "}"
33 [email protected] 33 [email protected] "\n "
34 [email protected] "{" 34 [email protected]
35 [email protected] "}" 35 [email protected]
36 [email protected] "\n " 36 [email protected] "match"
37 [email protected] 37 [email protected] " "
38 [email protected] 38 [email protected]
39 [email protected] "match" 39 [email protected] "("
40 [email protected] " " 40 [email protected] ")"
41 [email protected] 41 [email protected] " "
42 [email protected] "(" 42 [email protected]
43 [email protected] ")" 43 [email protected] "{"
44 [email protected] " " 44 [email protected] "}"
45 [email protected] 45 [email protected] "\n "
46 [email protected] "{" 46 [email protected]
47 [email protected] "}" 47 [email protected]
48 [email protected] "\n " 48 [email protected] "while"
49 [email protected] 49 [email protected] " "
50 [email protected] 50 [email protected]
51 [email protected] "while" 51 [email protected]
52 [email protected] " " 52 [email protected] "true"
53 [email protected] 53 [email protected] " "
54 [email protected] 54 [email protected]
55 [email protected] "true" 55 [email protected] "{"
56 [email protected] " " 56 [email protected] "}"
57 [email protected] 57 [email protected] "\n "
58 [email protected] 58 [email protected]
59 [email protected] "{" 59 [email protected]
60 [email protected] "}" 60 [email protected] "for"
61 [email protected] "\n " 61 [email protected] " "
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected] "_"
64 [email protected] "for" 64 [email protected] " "
65 [email protected] " " 65 [email protected] "in"
66 [email protected] 66 [email protected] " "
67 [email protected] "_" 67 [email protected]
68 [email protected] " " 68 [email protected] "("
69 [email protected] "in" 69 [email protected] ")"
70 [email protected] " " 70 [email protected] " "
71 [email protected] 71 [email protected]
72 [email protected] "(" 72 [email protected] "{"
73 [email protected] ")" 73 [email protected] "}"
74 [email protected] " " 74 [email protected] "\n "
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] "{" 77 [email protected] "{"
78 [email protected] "}" 78 [email protected] "}"
79 [email protected] "\n " 79 [email protected] "\n "
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "{"
83 [email protected] "{" 83 [email protected] "}"
84 [email protected] "}" 84 [email protected] "\n "
85 [email protected] "\n " 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] "{" 89 [email protected]
90 [email protected] "}" 90 [email protected] "macro_rules"
91 [email protected] "\n " 91 [email protected] "!"
92 [email protected] 92 [email protected] " "
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected] "test"
95 [email protected] 95 [email protected] " "
96 [email protected] 96 [email protected]
97 [email protected] "macro_rules" 97 [email protected] "{"
98 [email protected] "!" 98 [email protected] "\n "
99 [email protected] " " 99 [email protected]
100 [email protected] 100 [email protected] "("
101 [email protected] "test" 101 [email protected] ")"
102 [email protected] " " 102 [email protected] " "
103 [email protected] 103 [email protected] "="
104 [email protected] "{" 104 [email protected] ">"
105 [email protected] "\n " 105 [email protected] " "
106 [email protected] 106 [email protected]
107 [email protected] "(" 107 [email protected] "{"
108 [email protected] ")" 108 [email protected] "}"
109 [email protected] " " 109 [email protected] "\n "
110 [email protected] "=" 110 [email protected] "}"
111 [email protected] ">" 111 [email protected] "\n "
112 [email protected] " " 112 [email protected]
113 [email protected] 113 [email protected]
114 [email protected] "{" 114 [email protected]
115 [email protected] "}" 115 [email protected]
116 [email protected] "\n " 116 [email protected] "test"
117 [email protected] "}" 117 [email protected] "!"
118 [email protected] "\n " 118 [email protected]
119 [email protected] 119 [email protected] "{"
120 [email protected] 120 [email protected] "}"
121 [email protected] 121 [email protected] "\n"
122 [email protected] 122 [email protected] "}"
123 [email protected] "test"
124 [email protected] "!"
125 [email protected]
126 [email protected] "{"
127 [email protected] "}"
128 [email protected] "\n"
129 [email protected] "}"
130 [email protected] "\n" 123 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast
index a51fb5511..816e49310 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0098_const_unsafe_fn.rast
@@ -13,7 +13,6 @@ [email protected]
13 [email protected] ")" 13 [email protected] ")"
14 [email protected] " " 14 [email protected] " "
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "{"
17 [email protected] "{" 17 [email protected] "}"
18 [email protected] "}"
19 [email protected] "\n" 18 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast b/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast
index 61b47bf35..d48ef865c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0099_param_list.rast
@@ -9,9 +9,8 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "}"
14 [email protected] "}"
15 [email protected] "\n" 14 [email protected] "\n"
16 [email protected] 15 [email protected]
17 [email protected] "fn" 16 [email protected] "fn"
@@ -34,9 +33,8 @@ [email protected]
34 [email protected] ")" 33 [email protected] ")"
35 [email protected] " " 34 [email protected] " "
36 [email protected] 35 [email protected]
37 [email protected] 36 [email protected] "{"
38 [email protected] "{" 37 [email protected] "}"
39 [email protected] "}"
40 [email protected] "\n" 38 [email protected] "\n"
41 [email protected] 39 [email protected]
42 [email protected] "fn" 40 [email protected] "fn"
@@ -61,9 +59,8 @@ [email protected]
61 [email protected] ")" 59 [email protected] ")"
62 [email protected] " " 60 [email protected] " "
63 [email protected] 61 [email protected]
64 [email protected] 62 [email protected] "{"
65 [email protected] "{" 63 [email protected] "}"
66 [email protected] "}"
67 [email protected] "\n" 64 [email protected] "\n"
68 [email protected] 65 [email protected]
69 [email protected] "fn" 66 [email protected] "fn"
@@ -97,7 +94,6 @@ [email protected]
97 [email protected] ")" 94 [email protected] ")"
98 [email protected] " " 95 [email protected] " "
99 [email protected] 96 [email protected]
100 [email protected] 97 [email protected] "{"
101 [email protected] "{" 98 [email protected] "}"
102 [email protected] "}"
103 [email protected] "\n" 99 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0100_for_expr.rast
index 89d435d1f..e4455cd3e 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
@@ -9,28 +9,26 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "for"
17 [email protected] "for" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] " "
22 [email protected] " " 22 [email protected] "in"
23 [email protected] "in" 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected] "["
26 [email protected] "[" 26 [email protected] "]"
27 [email protected] "]" 27 [email protected] " "
28 [email protected] " " 28 [email protected]
29 [email protected] 29 [email protected] "{"
30 [email protected] 30 [email protected] "}"
31 [email protected] "{" 31 [email protected] ";"
32 [email protected] "}" 32 [email protected] "\n"
33 [email protected] ";" 33 [email protected] "}"
34 [email protected] "\n"
35 [email protected] "}"
36 [email protected] "\n" 34 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast
index 57b4d0c4f..8a8743060 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0101_unsafe_fn.rast
@@ -11,7 +11,6 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "}"
16 [email protected] "}"
17 [email protected] "\n" 16 [email protected] "\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 ed6f6f326..9f966ff8a 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
@@ -9,125 +9,124 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "S"
22 [email protected] "S" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] "{" 25 [email protected] "}"
26 [email protected] "}" 26 [email protected] " "
27 [email protected] " " 27 [email protected] "="
28 [email protected] "=" 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] "("
31 [email protected] "(" 31 [email protected] ")"
32 [email protected] ")" 32 [email protected] ";"
33 [email protected] ";" 33 [email protected] "\n "
34 [email protected] "\n " 34 [email protected]
35 [email protected] 35 [email protected] "let"
36 [email protected] "let" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "S"
42 [email protected] "S" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] "{"
45 [email protected] "{" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "f"
50 [email protected] "f" 50 [email protected] ","
51 [email protected] "," 51 [email protected] " "
52 [email protected] " " 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected] "ref"
55 [email protected] "ref" 55 [email protected] " "
56 [email protected] " " 56 [email protected] "mut"
57 [email protected] "mut" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected] "g"
60 [email protected] "g" 60 [email protected] " "
61 [email protected] " " 61 [email protected] "}"
62 [email protected] "}" 62 [email protected] " "
63 [email protected] " " 63 [email protected] "="
64 [email protected] "=" 64 [email protected] " "
65 [email protected] " " 65 [email protected]
66 [email protected] 66 [email protected] "("
67 [email protected] "(" 67 [email protected] ")"
68 [email protected] ")" 68 [email protected] ";"
69 [email protected] ";" 69 [email protected] "\n "
70 [email protected] "\n " 70 [email protected]
71 [email protected] 71 [email protected] "let"
72 [email protected] "let" 72 [email protected] " "
73 [email protected] " " 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected] "S"
78 [email protected] "S" 78 [email protected] " "
79 [email protected] " " 79 [email protected]
80 [email protected] 80 [email protected] "{"
81 [email protected] "{" 81 [email protected] " "
82 [email protected] " " 82 [email protected]
83 [email protected] 83 [email protected]
84 [email protected] 84 [email protected] "h"
85 [email protected] "h" 85 [email protected] ":"
86 [email protected] ":" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected] "_"
89 [email protected] "_" 89 [email protected] ","
90 [email protected] "," 90 [email protected] " "
91 [email protected] " " 91 [email protected] ".."
92 [email protected] ".." 92 [email protected] "}"
93 [email protected] "}" 93 [email protected] " "
94 [email protected] " " 94 [email protected] "="
95 [email protected] "=" 95 [email protected] " "
96 [email protected] " " 96 [email protected]
97 [email protected] 97 [email protected] "("
98 [email protected] "(" 98 [email protected] ")"
99 [email protected] ")" 99 [email protected] ";"
100 [email protected] ";" 100 [email protected] "\n "
101 [email protected] "\n " 101 [email protected]
102 [email protected] 102 [email protected] "let"
103 [email protected] "let" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected]
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected] "S"
109 [email protected] "S" 109 [email protected] " "
110 [email protected] " " 110 [email protected]
111 [email protected] 111 [email protected] "{"
112 [email protected] "{" 112 [email protected] " "
113 [email protected] " " 113 [email protected]
114 [email protected] 114 [email protected]
115 [email protected] 115 [email protected] "h"
116 [email protected] "h" 116 [email protected] ":"
117 [email protected] ":" 117 [email protected] " "
118 [email protected] " " 118 [email protected]
119 [email protected] 119 [email protected] "_"
120 [email protected] "_" 120 [email protected] ","
121 [email protected] "," 121 [email protected] " "
122 [email protected] " " 122 [email protected] "}"
123 [email protected] "}" 123 [email protected] " "
124 [email protected] " " 124 [email protected] "="
125 [email protected] "=" 125 [email protected] " "
126 [email protected] " " 126 [email protected]
127 [email protected] 127 [email protected] "("
128 [email protected] "(" 128 [email protected] ")"
129 [email protected] ")" 129 [email protected] ";"
130 [email protected] ";" 130 [email protected] "\n"
131 [email protected] "\n" 131 [email protected] "}"
132 [email protected] "}"
133 [email protected] "\n" 132 [email protected] "\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 461c61914..9b3bef04e 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
@@ -9,47 +9,46 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "["
17 [email protected] "[" 17 [email protected] "]"
18 [email protected] "]" 18 [email protected] ";"
19 [email protected] ";" 19 [email protected] "\n "
20 [email protected] "\n " 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "["
23 [email protected] "[" 23 [email protected]
24 [email protected] 24 [email protected] "1"
25 [email protected] "1" 25 [email protected] "]"
26 [email protected] "]" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "["
31 [email protected] "[" 31 [email protected]
32 [email protected] 32 [email protected] "1"
33 [email protected] "1" 33 [email protected] ","
34 [email protected] "," 34 [email protected] " "
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected] "2"
37 [email protected] "2" 37 [email protected] ","
38 [email protected] "," 38 [email protected] "]"
39 [email protected] "]" 39 [email protected] ";"
40 [email protected] ";" 40 [email protected] "\n "
41 [email protected] "\n " 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "["
44 [email protected] "[" 44 [email protected]
45 [email protected] 45 [email protected] "1"
46 [email protected] "1" 46 [email protected] ";"
47 [email protected] ";" 47 [email protected] " "
48 [email protected] " " 48 [email protected]
49 [email protected] 49 [email protected] "2"
50 [email protected] "2" 50 [email protected] "]"
51 [email protected] "]" 51 [email protected] ";"
52 [email protected] ";" 52 [email protected] "\n"
53 [email protected] "\n" 53 [email protected] "}"
54 [email protected] "}"
55 [email protected] "\n" 54 [email protected] "\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 8b2323cf2..f3a5e3096 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
@@ -1,5 +1,5 @@
1SOURCE_FILE@0..52 1[email protected]1
2 FN_DEF@0..51 2 FN_DEF@0..20
3 [email protected] "fn" 3 [email protected] "fn"
4 [email protected] " " 4 [email protected] " "
5 [email protected] 5 [email protected]
@@ -8,36 +8,14 @@ [email protected]
8 [email protected] "(" 8 [email protected] "("
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "{"
17 [email protected] 17 [email protected] "}"
18 [email protected] "{" 18 [email protected] ";"
19 [email protected] "}" 19 [email protected] "\n"
20 [email protected] ";" 20 [email protected] "}"
21 [email protected] "\n " 21 [email protected] "\n"
22 [email protected]
23 [email protected]
24 [email protected] "unsafe"
25 [email protected] " "
26 [email protected]
27 [email protected] "{"
28 [email protected] "}"
29 [email protected] ";"
30 [email protected] "\n "
31 [email protected]
32 [email protected]
33 [email protected]
34 [email protected] "\'label"
35 [email protected] ":"
36 [email protected] " "
37 [email protected]
38 [email protected] "{"
39 [email protected] "}"
40 [email protected] ";"
41 [email protected] "\n"
42 [email protected] "}"
43 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rs b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rs
index 2fed74c5e..9c6019fb1 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rs
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0105_block_expr.rs
@@ -1,5 +1,3 @@
1fn foo() { 1fn foo() {
2 {}; 2 {};
3 unsafe {};
4 'label: {};
5} 3}
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 73c314e07..e64717152 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
@@ -9,132 +9,127 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "|"
18 [email protected] "|" 18 [email protected] "|"
19 [email protected] "|" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "("
22 [email protected] "(" 22 [email protected] ")"
23 [email protected] ")" 23 [email protected] ";"
24 [email protected] ";" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "|"
29 [email protected] "|" 29 [email protected] "|"
30 [email protected] "|" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "->"
33 [email protected] "->" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "i32"
39 [email protected] "i32" 39 [email protected] " "
40 [email protected] " " 40 [email protected]
41 [email protected] 41 [email protected] "{"
42 [email protected] 42 [email protected] " "
43 [email protected] "{" 43 [email protected]
44 [email protected] " " 44 [email protected] "92"
45 [email protected] 45 [email protected] " "
46 [email protected] "92" 46 [email protected] "}"
47 [email protected] " " 47 [email protected] ";"
48 [email protected] "}" 48 [email protected] "\n "
49 [email protected] ";" 49 [email protected]
50 [email protected] "\n " 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "|"
53 [email protected] 53 [email protected]
54 [email protected] "|" 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected] "x"
57 [email protected] 57 [email protected] "|"
58 [email protected] "x" 58 [email protected] " "
59 [email protected] "|" 59 [email protected]
60 [email protected] " " 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected] "x"
64 [email protected] 64 [email protected] ";"
65 [email protected] "x" 65 [email protected] "\n "
66 [email protected] ";" 66 [email protected]
67 [email protected] "\n " 67 [email protected]
68 [email protected] 68 [email protected] "move"
69 [email protected] 69 [email protected] " "
70 [email protected] "move" 70 [email protected]
71 [email protected] " " 71 [email protected] "|"
72 [email protected] 72 [email protected]
73 [email protected] "|" 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected] "x"
76 [email protected] 76 [email protected] ":"
77 [email protected] "x" 77 [email protected] " "
78 [email protected] ":" 78 [email protected]
79 [email protected] " " 79 [email protected]
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "i32"
83 [email protected] 83 [email protected] ","
84 [email protected] "i32" 84 [email protected] "|"
85 [email protected] "," 85 [email protected] " "
86 [email protected] "|" 86 [email protected]
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected] "x"
91 [email protected] 91 [email protected] ";"
92 [email protected] "x" 92 [email protected] "\n "
93 [email protected] ";" 93 [email protected]
94 [email protected] "\n " 94 [email protected]
95 [email protected] 95 [email protected] "async"
96 [email protected] 96 [email protected] " "
97 [email protected] "async" 97 [email protected]
98 [email protected] " " 98 [email protected] "|"
99 [email protected] 99 [email protected] "|"
100 [email protected] "|" 100 [email protected] " "
101 [email protected] "|" 101 [email protected]
102 [email protected] " " 102 [email protected] "{"
103 [email protected] 103 [email protected] "}"
104 [email protected] 104 [email protected] ";"
105 [email protected] "{" 105 [email protected] "\n "
106 [email protected] "}" 106 [email protected]
107 [email protected] ";" 107 [email protected]
108 [email protected] "\n " 108 [email protected] "move"
109 [email protected] 109 [email protected] " "
110 [email protected] 110 [email protected]
111 [email protected] "move" 111 [email protected] "|"
112 [email protected] " " 112 [email protected] "|"
113 [email protected] 113 [email protected] " "
114 [email protected] "|" 114 [email protected]
115 [email protected] "|" 115 [email protected] "{"
116 [email protected] " " 116 [email protected] "}"
117 [email protected] 117 [email protected] ";"
118 [email protected] 118 [email protected] "\n "
119 [email protected] "{" 119 [email protected]
120 [email protected] "}" 120 [email protected]
121 [email protected] ";" 121 [email protected] "async"
122 [email protected] "\n " 122 [email protected] " "
123 [email protected] 123 [email protected] "move"
124 [email protected] 124 [email protected] " "
125 [email protected] "async" 125 [email protected]
126 [email protected] " " 126 [email protected] "|"
127 [email protected] "move" 127 [email protected] "|"
128 [email protected] " " 128 [email protected] " "
129 [email protected] 129 [email protected]
130 [email protected] "|" 130 [email protected] "{"
131 [email protected] "|" 131 [email protected] "}"
132 [email protected] " " 132 [email protected] ";"
133 [email protected] 133 [email protected] "\n"
134 [email protected] 134 [email protected] "}"
135 [email protected] "{"
136 [email protected] "}"
137 [email protected] ";"
138 [email protected] "\n"
139 [email protected] "}"
140 [email protected] "\n" 135 [email protected] "\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 5392b1a74..98963dc62 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
@@ -9,55 +9,54 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] "."
22 [email protected] "." 22 [email protected]
23 [email protected] 23 [email protected] "foo"
24 [email protected] "foo" 24 [email protected]
25 [email protected] 25 [email protected] "("
26 [email protected] "(" 26 [email protected] ")"
27 [email protected] ")" 27 [email protected] ";"
28 [email protected] ";" 28 [email protected] "\n "
29 [email protected] "\n " 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "y"
36 [email protected] "y" 36 [email protected] "."
37 [email protected] "." 37 [email protected]
38 [email protected] 38 [email protected] "bar"
39 [email protected] "bar" 39 [email protected]
40 [email protected] 40 [email protected] "::"
41 [email protected] "::" 41 [email protected] "<"
42 [email protected] "<" 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected] "T"
48 [email protected] "T" 48 [email protected] ">"
49 [email protected] ">" 49 [email protected]
50 [email protected] 50 [email protected] "("
51 [email protected] "(" 51 [email protected]
52 [email protected] 52 [email protected] "1"
53 [email protected] "1" 53 [email protected] ","
54 [email protected] "," 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected] "2"
57 [email protected] "2" 57 [email protected] ","
58 [email protected] "," 58 [email protected] ")"
59 [email protected] ")" 59 [email protected] ";"
60 [email protected] ";" 60 [email protected] "\n"
61 [email protected] "\n" 61 [email protected] "}"
62 [email protected] "}"
63 [email protected] "\n" 62 [email protected] "\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 54f18adac..ea603e2c9 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
@@ -9,31 +9,30 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "("
17 [email protected] "(" 17 [email protected] ")"
18 [email protected] ")" 18 [email protected] ";"
19 [email protected] ";" 19 [email protected] "\n "
20 [email protected] "\n " 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected]
24 [email protected] 24 [email protected] "1"
25 [email protected] "1" 25 [email protected] ")"
26 [email protected] ")" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "("
31 [email protected] "(" 31 [email protected]
32 [email protected] 32 [email protected] "1"
33 [email protected] "1" 33 [email protected] ","
34 [email protected] "," 34 [email protected] ")"
35 [email protected] ")" 35 [email protected] ";"
36 [email protected] ";" 36 [email protected] "\n"
37 [email protected] "\n" 37 [email protected] "}"
38 [email protected] "}"
39 [email protected] "\n" 38 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast b/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast
index 6c9e45684..30ff96a7c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0109_label.rast
@@ -9,60 +9,56 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected] "\'a"
18 [email protected] "\'a" 18 [email protected] ":"
19 [email protected] ":" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "loop"
21 [email protected] "loop" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] 24 [email protected] "}"
25 [email protected] "{" 25 [email protected] "\n "
26 [email protected] "}" 26 [email protected]
27 [email protected] "\n " 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "\'b"
30 [email protected] 30 [email protected] ":"
31 [email protected] "\'b" 31 [email protected] " "
32 [email protected] ":" 32 [email protected] "while"
33 [email protected] " " 33 [email protected] " "
34 [email protected] "while" 34 [email protected]
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected] "true"
37 [email protected] 37 [email protected] " "
38 [email protected] "true" 38 [email protected]
39 [email protected] " " 39 [email protected] "{"
40 [email protected] 40 [email protected] "}"
41 [email protected] 41 [email protected] "\n "
42 [email protected] "{" 42 [email protected]
43 [email protected] "}" 43 [email protected]
44 [email protected] "\n " 44 [email protected] "\'c"
45 [email protected] 45 [email protected] ":"
46 [email protected] 46 [email protected] " "
47 [email protected] "\'c" 47 [email protected] "for"
48 [email protected] ":" 48 [email protected] " "
49 [email protected] " " 49 [email protected]
50 [email protected] "for" 50 [email protected]
51 [email protected] " " 51 [email protected] "x"
52 [email protected] 52 [email protected] " "
53 [email protected] 53 [email protected] "in"
54 [email protected] "x" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] "in" 56 [email protected] "("
57 [email protected] " " 57 [email protected] ")"
58 [email protected] 58 [email protected] " "
59 [email protected] "(" 59 [email protected]
60 [email protected] ")" 60 [email protected] "{"
61 [email protected] " " 61 [email protected] "}"
62 [email protected] 62 [email protected] "\n"
63 [email protected] 63 [email protected] "}"
64 [email protected] "{"
65 [email protected] "}"
66 [email protected] "\n"
67 [email protected] "}"
68 [email protected] "\n" 64 [email protected] "\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 a1c5475e7..b58f40ac1 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
@@ -9,82 +9,81 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "a"
22 [email protected] "a" 22 [email protected] ","
23 [email protected] "," 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "b"
27 [email protected] "b" 27 [email protected] ","
28 [email protected] "," 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] ".."
31 [email protected] ".." 31 [email protected] ")"
32 [email protected] ")" 32 [email protected] " "
33 [email protected] " " 33 [email protected] "="
34 [email protected] "=" 34 [email protected] " "
35 [email protected] " " 35 [email protected]
36 [email protected] 36 [email protected] "("
37 [email protected] "(" 37 [email protected] ")"
38 [email protected] ")" 38 [email protected] ";"
39 [email protected] ";" 39 [email protected] "\n "
40 [email protected] "\n " 40 [email protected]
41 [email protected] 41 [email protected] "let"
42 [email protected] "let" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] "("
45 [email protected] "(" 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected] "a"
48 [email protected] "a" 48 [email protected] ","
49 [email protected] "," 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] " "
51 [email protected] " " 51 [email protected] "="
52 [email protected] "=" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected] "("
55 [email protected] "(" 55 [email protected] ")"
56 [email protected] ")" 56 [email protected] ";"
57 [email protected] ";" 57 [email protected] "\n "
58 [email protected] "\n " 58 [email protected]
59 [email protected] 59 [email protected] "let"
60 [email protected] "let" 60 [email protected] " "
61 [email protected] " " 61 [email protected]
62 [email protected] 62 [email protected] "("
63 [email protected] "(" 63 [email protected]
64 [email protected] 64 [email protected] ".."
65 [email protected] ".." 65 [email protected] ")"
66 [email protected] ")" 66 [email protected] " "
67 [email protected] " " 67 [email protected] "="
68 [email protected] "=" 68 [email protected] " "
69 [email protected] " " 69 [email protected]
70 [email protected] 70 [email protected] "("
71 [email protected] "(" 71 [email protected] ")"
72 [email protected] ")" 72 [email protected] ";"
73 [email protected] ";" 73 [email protected] "\n "
74 [email protected] "\n " 74 [email protected]
75 [email protected] 75 [email protected] "let"
76 [email protected] "let" 76 [email protected] " "
77 [email protected] " " 77 [email protected]
78 [email protected] 78 [email protected] "("
79 [email protected] "(" 79 [email protected] ")"
80 [email protected] ")" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "="
82 [email protected] "=" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected] "("
85 [email protected] "(" 85 [email protected] ")"
86 [email protected] ")" 86 [email protected] ";"
87 [email protected] ";" 87 [email protected] "\n"
88 [email protected] "\n" 88 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n" 89 [email protected] "\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 42a770a83..b67714c17 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
@@ -9,120 +9,119 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "a"
20 [email protected] "a" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "("
25 [email protected] "(" 25 [email protected] ")"
26 [email protected] ")" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected] "let"
30 [email protected] "let" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "mut"
33 [email protected] "mut" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "b"
36 [email protected] "b" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "="
38 [email protected] "=" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "("
41 [email protected] "(" 41 [email protected] ")"
42 [email protected] ")" 42 [email protected] ";"
43 [email protected] ";" 43 [email protected] "\n "
44 [email protected] "\n " 44 [email protected]
45 [email protected] 45 [email protected] "let"
46 [email protected] "let" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "ref"
49 [email protected] "ref" 49 [email protected] " "
50 [email protected] " " 50 [email protected]
51 [email protected] 51 [email protected] "c"
52 [email protected] "c" 52 [email protected] " "
53 [email protected] " " 53 [email protected] "="
54 [email protected] "=" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected] "("
57 [email protected] "(" 57 [email protected] ")"
58 [email protected] ")" 58 [email protected] ";"
59 [email protected] ";" 59 [email protected] "\n "
60 [email protected] "\n " 60 [email protected]
61 [email protected] 61 [email protected] "let"
62 [email protected] "let" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "ref"
65 [email protected] "ref" 65 [email protected] " "
66 [email protected] " " 66 [email protected] "mut"
67 [email protected] "mut" 67 [email protected] " "
68 [email protected] " " 68 [email protected]
69 [email protected] 69 [email protected] "d"
70 [email protected] "d" 70 [email protected] " "
71 [email protected] " " 71 [email protected] "="
72 [email protected] "=" 72 [email protected] " "
73 [email protected] " " 73 [email protected]
74 [email protected] 74 [email protected] "("
75 [email protected] "(" 75 [email protected] ")"
76 [email protected] ")" 76 [email protected] ";"
77 [email protected] ";" 77 [email protected] "\n "
78 [email protected] "\n " 78 [email protected]
79 [email protected] 79 [email protected] "let"
80 [email protected] "let" 80 [email protected] " "
81 [email protected] " " 81 [email protected]
82 [email protected] 82 [email protected]
83 [email protected] 83 [email protected] "e"
84 [email protected] "e" 84 [email protected] " "
85 [email protected] " " 85 [email protected] "@"
86 [email protected] "@" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected] "_"
89 [email protected] "_" 89 [email protected] " "
90 [email protected] " " 90 [email protected] "="
91 [email protected] "=" 91 [email protected] " "
92 [email protected] " " 92 [email protected]
93 [email protected] 93 [email protected] "("
94 [email protected] "(" 94 [email protected] ")"
95 [email protected] ")" 95 [email protected] ";"
96 [email protected] ";" 96 [email protected] "\n "
97 [email protected] "\n " 97 [email protected]
98 [email protected] 98 [email protected] "let"
99 [email protected] "let" 99 [email protected] " "
100 [email protected] " " 100 [email protected]
101 [email protected] 101 [email protected] "ref"
102 [email protected] "ref" 102 [email protected] " "
103 [email protected] " " 103 [email protected] "mut"
104 [email protected] "mut" 104 [email protected] " "
105 [email protected] " " 105 [email protected]
106 [email protected] 106 [email protected] "f"
107 [email protected] "f" 107 [email protected] " "
108 [email protected] " " 108 [email protected] "@"
109 [email protected] "@" 109 [email protected] " "
110 [email protected] " " 110 [email protected]
111 [email protected] 111 [email protected]
112 [email protected] 112 [email protected] "g"
113 [email protected] "g" 113 [email protected] " "
114 [email protected] " " 114 [email protected] "@"
115 [email protected] "@" 115 [email protected] " "
116 [email protected] " " 116 [email protected]
117 [email protected] 117 [email protected] "_"
118 [email protected] "_" 118 [email protected] " "
119 [email protected] " " 119 [email protected] "="
120 [email protected] "=" 120 [email protected] " "
121 [email protected] " " 121 [email protected]
122 [email protected] 122 [email protected] "("
123 [email protected] "(" 123 [email protected] ")"
124 [email protected] ")" 124 [email protected] ";"
125 [email protected] ";" 125 [email protected] "\n"
126 [email protected] "\n" 126 [email protected] "}"
127 [email protected] "}"
128 [email protected] "\n" 127 [email protected] "\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 5414c90b8..5de480da9 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
@@ -8,50 +8,48 @@ [email protected]
8 [email protected] "(" 8 [email protected] "("
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] 10 [email protected]
11 [email protected] 11 [email protected] "{"
12 [email protected] "{" 12 [email protected] "\n "
13 [email protected] "\n " 13 [email protected] ";"
14 [email protected] ";" 14 [email protected] ";"
15 [email protected] ";" 15 [email protected] ";"
16 [email protected] ";" 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "some_expr"
23 [email protected] "some_expr" 23 [email protected]
24 [email protected] 24 [email protected] "("
25 [email protected] "(" 25 [email protected] ")"
26 [email protected] ")" 26 [email protected] ";"
27 [email protected] ";" 27 [email protected] ";"
28 [email protected] ";" 28 [email protected] ";"
29 [email protected] ";" 29 [email protected] ";"
30 [email protected] ";" 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "{"
33 [email protected] 33 [email protected] ";"
34 [email protected] "{" 34 [email protected] ";"
35 [email protected] ";" 35 [email protected] ";"
36 [email protected] ";" 36 [email protected] "}"
37 [email protected] ";" 37 [email protected] ";"
38 [email protected] "}" 38 [email protected] ";"
39 [email protected] ";" 39 [email protected] ";"
40 [email protected] ";" 40 [email protected] ";"
41 [email protected] ";" 41 [email protected]
42 [email protected] ";" 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "Ok"
47 [email protected] 47 [email protected]
48 [email protected] "Ok" 48 [email protected] "("
49 [email protected] 49 [email protected]
50 [email protected] "(" 50 [email protected] "("
51 [email protected] 51 [email protected] ")"
52 [email protected] "(" 52 [email protected] ")"
53 [email protected] ")" 53 [email protected] "\n"
54 [email protected] ")" 54 [email protected] "}"
55 [email protected] "\n"
56 [email protected] "}"
57 [email protected] "\n" 55 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast b/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast
index 8e080fb60..e152c6b6c 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0118_match_guard.rast
@@ -9,40 +9,39 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "_"
27 [email protected] "_" 27 [email protected] " "
28 [email protected] " " 28 [email protected]
29 [email protected] 29 [email protected] "if"
30 [email protected] "if" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "foo"
36 [email protected] "foo" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "=>"
38 [email protected] "=>" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "("
41 [email protected] "(" 41 [email protected] ")"
42 [email protected] ")" 42 [email protected] ","
43 [email protected] "," 43 [email protected] "\n "
44 [email protected] "\n " 44 [email protected] "}"
45 [email protected] "}" 45 [email protected] "\n"
46 [email protected] "\n" 46 [email protected] "}"
47 [email protected] "}"
48 [email protected] "\n" 47 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
index 728164f8e..b283ab804 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
@@ -9,73 +9,72 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected] "#"
26 [email protected] "#" 26 [email protected] "!"
27 [email protected] "!" 27 [email protected] "["
28 [email protected] "[" 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "doc"
32 [email protected] "doc" 32 [email protected]
33 [email protected] 33 [email protected] "("
34 [email protected] "(" 34 [email protected] "\"Inner attribute\""
35 [email protected] "\"Inner attribute\"" 35 [email protected] ")"
36 [email protected] ")" 36 [email protected] "]"
37 [email protected] "]" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected] "#"
40 [email protected] "#" 40 [email protected] "!"
41 [email protected] "!" 41 [email protected] "["
42 [email protected] "[" 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected] "doc"
46 [email protected] "doc" 46 [email protected]
47 [email protected] 47 [email protected] "("
48 [email protected] "(" 48 [email protected] "\"Can be\""
49 [email protected] "\"Can be\"" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] "]"
51 [email protected] "]" 51 [email protected] "\n "
52 [email protected] "\n " 52 [email protected]
53 [email protected] 53 [email protected] "#"
54 [email protected] "#" 54 [email protected] "!"
55 [email protected] "!" 55 [email protected] "["
56 [email protected] "[" 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "doc"
60 [email protected] "doc" 60 [email protected]
61 [email protected] 61 [email protected] "("
62 [email protected] "(" 62 [email protected] "\"Stacked\""
63 [email protected] "\"Stacked\"" 63 [email protected] ")"
64 [email protected] ")" 64 [email protected] "]"
65 [email protected] "]" 65 [email protected] "\n "
66 [email protected] "\n " 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected] "_"
69 [email protected] "_" 69 [email protected] " "
70 [email protected] " " 70 [email protected] "=>"
71 [email protected] "=>" 71 [email protected] " "
72 [email protected] " " 72 [email protected]
73 [email protected] 73 [email protected] "("
74 [email protected] "(" 74 [email protected] ")"
75 [email protected] ")" 75 [email protected] ","
76 [email protected] "," 76 [email protected] "\n "
77 [email protected] "\n " 77 [email protected] "}"
78 [email protected] "}" 78 [email protected] "\n"
79 [email protected] "\n" 79 [email protected] "}"
80 [email protected] "}"
81 [email protected] "\n" 80 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast b/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
index 6123885e3..9d5470914 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
@@ -9,138 +9,137 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "#"
27 [email protected] "#" 27 [email protected] "["
28 [email protected] "[" 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "cfg"
32 [email protected] "cfg" 32 [email protected]
33 [email protected] 33 [email protected] "("
34 [email protected] "(" 34 [email protected] "feature"
35 [email protected] "feature" 35 [email protected] " "
36 [email protected] " " 36 [email protected] "="
37 [email protected] "=" 37 [email protected] " "
38 [email protected] " " 38 [email protected] "\"some\""
39 [email protected] "\"some\"" 39 [email protected] ")"
40 [email protected] ")" 40 [email protected] "]"
41 [email protected] "]" 41 [email protected] "\n "
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected] "_"
44 [email protected] "_" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "=>"
46 [email protected] "=>" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] ","
51 [email protected] "," 51 [email protected] "\n "
52 [email protected] "\n " 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected] "#"
55 [email protected] "#" 55 [email protected] "["
56 [email protected] "[" 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "cfg"
60 [email protected] "cfg" 60 [email protected]
61 [email protected] 61 [email protected] "("
62 [email protected] "(" 62 [email protected] "feature"
63 [email protected] "feature" 63 [email protected] " "
64 [email protected] " " 64 [email protected] "="
65 [email protected] "=" 65 [email protected] " "
66 [email protected] " " 66 [email protected] "\"other\""
67 [email protected] "\"other\"" 67 [email protected] ")"
68 [email protected] ")" 68 [email protected] "]"
69 [email protected] "]" 69 [email protected] "\n "
70 [email protected] "\n " 70 [email protected]
71 [email protected] 71 [email protected] "_"
72 [email protected] "_" 72 [email protected] " "
73 [email protected] " " 73 [email protected] "=>"
74 [email protected] "=>" 74 [email protected] " "
75 [email protected] " " 75 [email protected]
76 [email protected] 76 [email protected] "("
77 [email protected] "(" 77 [email protected] ")"
78 [email protected] ")" 78 [email protected] ","
79 [email protected] "," 79 [email protected] "\n "
80 [email protected] "\n " 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "#"
83 [email protected] "#" 83 [email protected] "["
84 [email protected] "[" 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected] "cfg"
88 [email protected] "cfg" 88 [email protected]
89 [email protected] 89 [email protected] "("
90 [email protected] "(" 90 [email protected] "feature"
91 [email protected] "feature" 91 [email protected] " "
92 [email protected] " " 92 [email protected] "="
93 [email protected] "=" 93 [email protected] " "
94 [email protected] " " 94 [email protected] "\"many\""
95 [email protected] "\"many\"" 95 [email protected] ")"
96 [email protected] ")" 96 [email protected] "]"
97 [email protected] "]" 97 [email protected] "\n "
98 [email protected] "\n " 98 [email protected]
99 [email protected] 99 [email protected] "#"
100 [email protected] "#" 100 [email protected] "["
101 [email protected] "[" 101 [email protected]
102 [email protected] 102 [email protected]
103 [email protected] 103 [email protected]
104 [email protected] 104 [email protected] "cfg"
105 [email protected] "cfg" 105 [email protected]
106 [email protected] 106 [email protected] "("
107 [email protected] "(" 107 [email protected] "feature"
108 [email protected] "feature" 108 [email protected] " "
109 [email protected] " " 109 [email protected] "="
110 [email protected] "=" 110 [email protected] " "
111 [email protected] " " 111 [email protected] "\"attributes\""
112 [email protected] "\"attributes\"" 112 [email protected] ")"
113 [email protected] ")" 113 [email protected] "]"
114 [email protected] "]" 114 [email protected] "\n "
115 [email protected] "\n " 115 [email protected]
116 [email protected] 116 [email protected] "#"
117 [email protected] "#" 117 [email protected] "["
118 [email protected] "[" 118 [email protected]
119 [email protected] 119 [email protected]
120 [email protected] 120 [email protected]
121 [email protected] 121 [email protected] "cfg"
122 [email protected] "cfg" 122 [email protected]
123 [email protected] 123 [email protected] "("
124 [email protected] "(" 124 [email protected] "feature"
125 [email protected] "feature" 125 [email protected] " "
126 [email protected] " " 126 [email protected] "="
127 [email protected] "=" 127 [email protected] " "
128 [email protected] " " 128 [email protected] "\"before\""
129 [email protected] "\"before\"" 129 [email protected] ")"
130 [email protected] ")" 130 [email protected] "]"
131 [email protected] "]" 131 [email protected] "\n "
132 [email protected] "\n " 132 [email protected]
133 [email protected] 133 [email protected] "_"
134 [email protected] "_" 134 [email protected] " "
135 [email protected] " " 135 [email protected] "=>"
136 [email protected] "=>" 136 [email protected] " "
137 [email protected] " " 137 [email protected]
138 [email protected] 138 [email protected] "("
139 [email protected] "(" 139 [email protected] ")"
140 [email protected] ")" 140 [email protected] ","
141 [email protected] "," 141 [email protected] "\n "
142 [email protected] "\n " 142 [email protected] "}"
143 [email protected] "}" 143 [email protected] "\n"
144 [email protected] "\n" 144 [email protected] "}"
145 [email protected] "}"
146 [email protected] "\n" 145 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
index 67b9c10d5..ada2fc54e 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
@@ -59,8 +59,7 @@ [email protected]
59 [email protected] ")" 59 [email protected] ")"
60 [email protected] " " 60 [email protected] " "
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected] "{"
63 [email protected] "{" 63 [email protected] "\n"
64 [email protected] "\n" 64 [email protected] "}"
65 [email protected] "}"
66 [email protected] "\n" 65 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast b/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast
index baf22a8d7..6178dfe59 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0124_async_fn.rast
@@ -11,7 +11,6 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "}"
16 [email protected] "}"
17 [email protected] "\n" 16 [email protected] "\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 16f5b90b6..ced59b7c1 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
@@ -9,24 +9,23 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "crate"
21 [email protected] "crate" 21 [email protected] "::"
22 [email protected] "::" 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "foo"
25 [email protected] "foo" 25 [email protected]
26 [email protected] 26 [email protected] "("
27 [email protected] "(" 27 [email protected] ")"
28 [email protected] ")" 28 [email protected] ";"
29 [email protected] ";" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "}"
31 [email protected] "}"
32 [email protected] "\n" 31 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
index 07ed14773..97611f7f3 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
@@ -9,40 +9,39 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "S"
19 [email protected] "S" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "#"
26 [email protected] "#" 26 [email protected] "["
27 [email protected] "[" 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "cfg"
31 [email protected] "cfg" 31 [email protected]
32 [email protected] 32 [email protected] "("
33 [email protected] "(" 33 [email protected] "test"
34 [email protected] "test" 34 [email protected] ")"
35 [email protected] ")" 35 [email protected] "]"
36 [email protected] "]" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "field"
39 [email protected] "field" 39 [email protected] ":"
40 [email protected] ":" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "1"
43 [email protected] "1" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "}"
45 [email protected] "}" 45 [email protected] "\n"
46 [email protected] "\n" 46 [email protected] "}"
47 [email protected] "}"
48 [email protected] "\n" 47 [email protected] "\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 8307d4c15..09221fc54 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
@@ -9,91 +9,89 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "#"
17 [email protected] "#" 17 [email protected] "["
18 [email protected] "[" 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "A"
22 [email protected] "A" 22 [email protected] "]"
23 [email protected] "]" 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "foo"
30 [email protected] "foo" 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] ";"
34 [email protected] ";" 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "#"
38 [email protected] "#" 38 [email protected] "["
39 [email protected] "[" 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "B"
43 [email protected] "B" 43 [email protected] "]"
44 [email protected] "]" 44 [email protected] " "
45 [email protected] " " 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "bar"
50 [email protected] "bar" 50 [email protected] "!"
51 [email protected] "!" 51 [email protected]
52 [email protected] 52 [email protected] "{"
53 [email protected] "{" 53 [email protected] "}"
54 [email protected] "}" 54 [email protected] "\n "
55 [email protected] "\n " 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected] "#"
58 [email protected] "#" 58 [email protected] "["
59 [email protected] "[" 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected] "C"
63 [email protected] "C" 63 [email protected] "]"
64 [email protected] "]" 64 [email protected] " "
65 [email protected] " " 65 [email protected]
66 [email protected] 66 [email protected] "#"
67 [email protected] "#" 67 [email protected] "["
68 [email protected] "[" 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "D"
72 [email protected] "D" 72 [email protected] "]"
73 [email protected] "]" 73 [email protected] " "
74 [email protected] " " 74 [email protected]
75 [email protected] 75 [email protected] "{"
76 [email protected] 76 [email protected] "}"
77 [email protected] "{" 77 [email protected] "\n "
78 [email protected] "}" 78 [email protected]
79 [email protected] "\n " 79 [email protected]
80 [email protected] 80 [email protected] "#"
81 [email protected] 81 [email protected] "["
82 [email protected] "#" 82 [email protected]
83 [email protected] "[" 83 [email protected]
84 [email protected] 84 [email protected]
85 [email protected] 85 [email protected] "D"
86 [email protected] 86 [email protected] "]"
87 [email protected] "D" 87 [email protected] " "
88 [email protected] "]" 88 [email protected]
89 [email protected] " " 89 [email protected] "return"
90 [email protected] 90 [email protected] " "
91 [email protected] "return" 91 [email protected]
92 [email protected] " " 92 [email protected] "("
93 [email protected] 93 [email protected] ")"
94 [email protected] "(" 94 [email protected] ";"
95 [email protected] ")" 95 [email protected] "\n"
96 [email protected] ";" 96 [email protected] "}"
97 [email protected] "\n"
98 [email protected] "}"
99 [email protected] "\n" 97 [email protected] "\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 19c47ea25..93cc41533 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
@@ -9,51 +9,49 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "{"
17 [email protected] 17 [email protected] " "
18 [email protected] "{" 18 [email protected]
19 [email protected] " " 19 [email protected]
20 [email protected] 20 [email protected] "#"
21 [email protected] 21 [email protected] "["
22 [email protected] "#" 22 [email protected]
23 [email protected] "[" 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "A"
26 [email protected] 26 [email protected] "]"
27 [email protected] "A" 27 [email protected] " "
28 [email protected] "]" 28 [email protected]
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "bar"
33 [email protected] 33 [email protected] "!"
34 [email protected] "bar" 34 [email protected]
35 [email protected] "!" 35 [email protected] "("
36 [email protected] 36 [email protected] ")"
37 [email protected] "(" 37 [email protected] "?"
38 [email protected] ")" 38 [email protected] " "
39 [email protected] "?" 39 [email protected] "}"
40 [email protected] " " 40 [email protected] "\n "
41 [email protected] "}" 41 [email protected]
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected] "#"
44 [email protected] 44 [email protected] "["
45 [email protected] "#" 45 [email protected]
46 [email protected] "[" 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "B"
49 [email protected] 49 [email protected] "]"
50 [email protected] "B" 50 [email protected] " "
51 [email protected] "]" 51 [email protected] "&"
52 [email protected] " " 52 [email protected]
53 [email protected] "&" 53 [email protected] "("
54 [email protected] 54 [email protected] ")"
55 [email protected] "(" 55 [email protected] "\n"
56 [email protected] ")" 56 [email protected] "}"
57 [email protected] "\n"
58 [email protected] "}"
59 [email protected] "\n" 57 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast
index 5630b20af..0901f2348 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0128_combined_fns.rast
@@ -13,9 +13,8 @@ [email protected]
13 [email protected] ")" 13 [email protected] ")"
14 [email protected] " " 14 [email protected] " "
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "{"
17 [email protected] "{" 17 [email protected] "}"
18 [email protected] "}"
19 [email protected] "\n" 18 [email protected] "\n"
20 [email protected] 19 [email protected]
21 [email protected] "const" 20 [email protected] "const"
@@ -31,7 +30,6 @@ [email protected]
31 [email protected] ")" 30 [email protected] ")"
32 [email protected] " " 31 [email protected] " "
33 [email protected] 32 [email protected]
34 [email protected] 33 [email protected] "{"
35 [email protected] "{" 34 [email protected] "}"
36 [email protected] "}"
37 [email protected] "\n" 35 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0129_marco_pat.rast
index 4946ee050..28291afc2 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
@@ -9,29 +9,28 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "m"
23 [email protected] "m" 23 [email protected] "!"
24 [email protected] "!" 24 [email protected]
25 [email protected] 25 [email protected] "("
26 [email protected] "(" 26 [email protected] "x"
27 [email protected] "x" 27 [email protected] ")"
28 [email protected] ")" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "="
30 [email protected] "=" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "0"
33 [email protected] "0" 33 [email protected] ";"
34 [email protected] ";" 34 [email protected] "\n"
35 [email protected] "\n" 35 [email protected] "}"
36 [email protected] "}"
37 [email protected] "\n" 36 [email protected] "\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 18fdd9dc9..bb94a05c6 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
@@ -9,121 +9,118 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "a"
20 [email protected] "a" 20 [email protected] ";"
21 [email protected] ";" 21 [email protected] "\n "
22 [email protected] "\n " 22 [email protected]
23 [email protected] 23 [email protected] "let"
24 [email protected] "let" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected] "b"
28 [email protected] "b" 28 [email protected] ":"
29 [email protected] ":" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected] "i32"
35 [email protected] "i32" 35 [email protected] ";"
36 [email protected] ";" 36 [email protected] "\n "
37 [email protected] "\n " 37 [email protected]
38 [email protected] 38 [email protected] "let"
39 [email protected] "let" 39 [email protected] " "
40 [email protected] " " 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "c"
43 [email protected] "c" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "="
45 [email protected] "=" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected] "92"
48 [email protected] "92" 48 [email protected] ";"
49 [email protected] ";" 49 [email protected] "\n "
50 [email protected] "\n " 50 [email protected]
51 [email protected] 51 [email protected] "let"
52 [email protected] "let" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected] "d"
56 [email protected] "d" 56 [email protected] ":"
57 [email protected] ":" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected] "i32"
63 [email protected] "i32" 63 [email protected] " "
64 [email protected] " " 64 [email protected] "="
65 [email protected] "=" 65 [email protected] " "
66 [email protected] " " 66 [email protected]
67 [email protected] 67 [email protected] "92"
68 [email protected] "92" 68 [email protected] ";"
69 [email protected] ";" 69 [email protected] "\n "
70 [email protected] "\n " 70 [email protected]
71 [email protected] 71 [email protected] "let"
72 [email protected] "let" 72 [email protected] " "
73 [email protected] " " 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected] "e"
76 [email protected] "e" 76 [email protected] ":"
77 [email protected] ":" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected] "!"
80 [email protected] "!" 80 [email protected] ";"
81 [email protected] ";" 81 [email protected] "\n "
82 [email protected] "\n " 82 [email protected]
83 [email protected] 83 [email protected] "let"
84 [email protected] "let" 84 [email protected] " "
85 [email protected] " " 85 [email protected]
86 [email protected] 86 [email protected] "_"
87 [email protected] "_" 87 [email protected] ":"
88 [email protected] ":" 88 [email protected] " "
89 [email protected] " " 89 [email protected]
90 [email protected] 90 [email protected] "!"
91 [email protected] "!" 91 [email protected] " "
92 [email protected] " " 92 [email protected] "="
93 [email protected] "=" 93 [email protected] " "
94 [email protected] " " 94 [email protected]
95 [email protected] 95 [email protected] "{"
96 [email protected] 96 [email protected] "}"
97 [email protected] "{" 97 [email protected] ";"
98 [email protected] "}" 98 [email protected] "\n "
99 [email protected] ";" 99 [email protected]
100 [email protected] "\n " 100 [email protected] "let"
101 [email protected] 101 [email protected] " "
102 [email protected] "let" 102 [email protected]
103 [email protected] " " 103 [email protected]
104 [email protected] 104 [email protected] "f"
105 [email protected] 105 [email protected] " "
106 [email protected] "f" 106 [email protected] "="
107 [email protected] " " 107 [email protected] " "
108 [email protected] "=" 108 [email protected]
109 [email protected] " " 109 [email protected]
110 [email protected] 110 [email protected] "#"
111 [email protected] 111 [email protected] "["
112 [email protected] "#" 112 [email protected]
113 [email protected] "[" 113 [email protected]
114 [email protected] 114 [email protected]
115 [email protected] 115 [email protected] "attr"
116 [email protected] 116 [email protected] "]"
117 [email protected] "attr" 117 [email protected]
118 [email protected] "]" 118 [email protected] "|"
119 [email protected] 119 [email protected] "|"
120 [email protected] "|" 120 [email protected]
121 [email protected] "|" 121 [email protected] "{"
122 [email protected] 122 [email protected] "}"
123 [email protected] 123 [email protected] ";"
124 [email protected] "{" 124 [email protected] "\n"
125 [email protected] "}" 125 [email protected] "}"
126 [email protected] ";"
127 [email protected] "\n"
128 [email protected] "}"
129 [email protected] "\n" 126 [email protected] "\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 01fffd7b0..8f2f144c7 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
@@ -9,25 +9,23 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "try"
24 [email protected] "try" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] 27 [email protected] "}"
28 [email protected] "{" 28 [email protected] ";"
29 [email protected] "}" 29 [email protected] "\n"
30 [email protected] ";" 30 [email protected] "}"
31 [email protected] "\n"
32 [email protected] "}"
33 [email protected] "\n" 31 [email protected] "\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 498b3121e..87ac42748 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
@@ -9,82 +9,81 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "x"
20 [email protected] "x" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "box"
25 [email protected] "box" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected] "1i32"
28 [email protected] "1i32" 28 [email protected] ";"
29 [email protected] ";" 29 [email protected] "\n "
30 [email protected] "\n " 30 [email protected]
31 [email protected] 31 [email protected] "let"
32 [email protected] "let" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "y"
36 [email protected] "y" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "="
38 [email protected] "=" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "("
41 [email protected] "(" 41 [email protected]
42 [email protected] 42 [email protected] "box"
43 [email protected] "box" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "1i32"
46 [email protected] "1i32" 46 [email protected] ","
47 [email protected] "," 47 [email protected] " "
48 [email protected] " " 48 [email protected]
49 [email protected] 49 [email protected] "box"
50 [email protected] "box" 50 [email protected] " "
51 [email protected] " " 51 [email protected]
52 [email protected] 52 [email protected] "2i32"
53 [email protected] "2i32" 53 [email protected] ")"
54 [email protected] ")" 54 [email protected] ";"
55 [email protected] ";" 55 [email protected] "\n "
56 [email protected] "\n " 56 [email protected]
57 [email protected] 57 [email protected] "let"
58 [email protected] "let" 58 [email protected] " "
59 [email protected] " " 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "z"
62 [email protected] "z" 62 [email protected] " "
63 [email protected] " " 63 [email protected] "="
64 [email protected] "=" 64 [email protected] " "
65 [email protected] " " 65 [email protected]
66 [email protected] 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected]
69 [email protected] 69 [email protected]
70 [email protected] 70 [email protected] "Foo"
71 [email protected] "Foo" 71 [email protected]
72 [email protected] 72 [email protected] "("
73 [email protected] "(" 73 [email protected]
74 [email protected] 74 [email protected] "box"
75 [email protected] "box" 75 [email protected] " "
76 [email protected] " " 76 [email protected]
77 [email protected] 77 [email protected] "1i32"
78 [email protected] "1i32" 78 [email protected] ","
79 [email protected] "," 79 [email protected] " "
80 [email protected] " " 80 [email protected]
81 [email protected] 81 [email protected] "box"
82 [email protected] "box" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected] "2i32"
85 [email protected] "2i32" 85 [email protected] ")"
86 [email protected] ")" 86 [email protected] ";"
87 [email protected] ";" 87 [email protected] "\n"
88 [email protected] "\n" 88 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n" 89 [email protected] "\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 db58a928e..00ce5ecf0 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
@@ -48,9 +48,8 @@ [email protected]
48 [email protected] ")" 48 [email protected] ")"
49 [email protected] " " 49 [email protected] " "
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "{"
52 [email protected] "{" 52 [email protected] "}"
53 [email protected] "}"
54 [email protected] "\n" 53 [email protected] "\n"
55 [email protected] "}" 54 [email protected] "}"
56 [email protected] "\n" 55 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast b/crates/ra_syntax/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast
index 4ca554ef8..b330a0932 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
@@ -9,56 +9,54 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "enum"
16 [email protected] "enum" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "LocalEnum"
19 [email protected] "LocalEnum" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "One"
26 [email protected] "One" 26 [email protected] ","
27 [email protected] "," 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] "Two"
31 [email protected] "Two" 31 [email protected] ","
32 [email protected] "," 32 [email protected] "\n "
33 [email protected] "\n " 33 [email protected] "}"
34 [email protected] "}" 34 [email protected] ";"
35 [email protected] ";" 35 [email protected] "\n "
36 [email protected] "\n " 36 [email protected]
37 [email protected] 37 [email protected] "fn"
38 [email protected] "fn" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "f"
41 [email protected] "f" 41 [email protected]
42 [email protected] 42 [email protected] "("
43 [email protected] "(" 43 [email protected] ")"
44 [email protected] ")" 44 [email protected] " "
45 [email protected] " " 45 [email protected]
46 [email protected] 46 [email protected] "{"
47 [email protected] 47 [email protected] "}"
48 [email protected] "{" 48 [email protected] ";"
49 [email protected] "}" 49 [email protected] "\n "
50 [email protected] ";" 50 [email protected]
51 [email protected] "\n " 51 [email protected] "struct"
52 [email protected] 52 [email protected] " "
53 [email protected] "struct" 53 [email protected]
54 [email protected] " " 54 [email protected] "S"
55 [email protected] 55 [email protected] " "
56 [email protected] "S" 56 [email protected]
57 [email protected] " " 57 [email protected] "{"
58 [email protected] 58 [email protected] "}"
59 [email protected] "{" 59 [email protected] ";"
60 [email protected] "}" 60 [email protected] "\n"
61 [email protected] ";" 61 [email protected] "}"
62 [email protected] "\n"
63 [email protected] "}"
64 [email protected] "\n" 62 [email protected] "\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 7fa3b9f32..8e8d9e992 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
@@ -9,62 +9,61 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "x"
21 [email protected] "x" 21 [email protected] "."
22 [email protected] "." 22 [email protected] "await"
23 [email protected] "await" 23 [email protected] ";"
24 [email protected] ";" 24 [email protected] "\n "
25 [email protected] "\n " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "x"
33 [email protected] "x" 33 [email protected] "."
34 [email protected] "." 34 [email protected]
35 [email protected] 35 [email protected] "0"
36 [email protected] "0" 36 [email protected] "."
37 [email protected] "." 37 [email protected] "await"
38 [email protected] "await" 38 [email protected] ";"
39 [email protected] ";" 39 [email protected] "\n "
40 [email protected] "\n " 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected] "x"
51 [email protected] "x" 51 [email protected] "."
52 [email protected] "." 52 [email protected]
53 [email protected] 53 [email protected] "0"
54 [email protected] "0" 54 [email protected]
55 [email protected] 55 [email protected] "("
56 [email protected] "(" 56 [email protected] ")"
57 [email protected] ")" 57 [email protected] "."
58 [email protected] "." 58 [email protected] "await"
59 [email protected] "await" 59 [email protected] "?"
60 [email protected] "?" 60 [email protected] "."
61 [email protected] "." 61 [email protected]
62 [email protected] 62 [email protected] "hello"
63 [email protected] "hello" 63 [email protected]
64 [email protected] 64 [email protected] "("
65 [email protected] "(" 65 [email protected] ")"
66 [email protected] ")" 66 [email protected] ";"
67 [email protected] ";" 67 [email protected] "\n"
68 [email protected] "\n" 68 [email protected] "}"
69 [email protected] "}"
70 [email protected] "\n" 69 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast
index a32484f2c..c457851c9 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_associated_type_bounds.rast
@@ -50,7 +50,6 @@ [email protected]
50 [email protected] ")" 50 [email protected] ")"
51 [email protected] " " 51 [email protected] " "
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "{"
54 [email protected] "{" 54 [email protected] "}"
55 [email protected] "}"
56 [email protected] "\n" 55 [email protected] "\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 9017236cc..ea325831e 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
@@ -9,58 +9,56 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "mut"
19 [email protected] "mut" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "p"
22 [email protected] "p" 22 [email protected] " "
23 [email protected] " " 23 [email protected] "="
24 [email protected] "=" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "F"
30 [email protected] "F" 30 [email protected]
31 [email protected] 31 [email protected] "{"
32 [email protected] "{" 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected] "x"
35 [email protected] "x" 35 [email protected] ":"
36 [email protected] ":" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "5"
39 [email protected] "5" 39 [email protected] "}"
40 [email protected] "}" 40 [email protected] ";"
41 [email protected] ";" 41 [email protected] "\n "
42 [email protected] "\n " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "{"
47 [email protected] 47 [email protected]
48 [email protected] "{" 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "p"
52 [email protected] 52 [email protected] "}"
53 [email protected] "p" 53 [email protected] "."
54 [email protected] "}" 54 [email protected]
55 [email protected] "." 55 [email protected] "x"
56 [email protected] 56 [email protected] " "
57 [email protected] "x" 57 [email protected] "="
58 [email protected] " " 58 [email protected] " "
59 [email protected] "=" 59 [email protected]
60 [email protected] " " 60 [email protected] "10"
61 [email protected] 61 [email protected] ";"
62 [email protected] "10" 62 [email protected] "\n"
63 [email protected] ";" 63 [email protected] "}"
64 [email protected] "\n"
65 [email protected] "}"
66 [email protected] "\n" 64 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
index 2cb5b52f4..9135de9df 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
@@ -20,7 +20,6 @@ [email protected]
20 [email protected] ")" 20 [email protected] ")"
21 [email protected] " " 21 [email protected] " "
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "}"
25 [email protected] "}"
26 [email protected] "\n" 25 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast b/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
index ac3f4de26..14610a0a2 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
@@ -29,7 +29,6 @@ [email protected]
29 [email protected] ")" 29 [email protected] ")"
30 [email protected] " " 30 [email protected] " "
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "{"
33 [email protected] "{" 33 [email protected] "}"
34 [email protected] "}"
35 [email protected] "\n" 34 [email protected] "\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 8d4919cbd..e6be8b7e4 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
@@ -9,34 +9,32 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "for"
16 [email protected] "for" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "x"
20 [email protected] "x" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "in"
22 [email protected] "in" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "0"
26 [email protected] "0" 26 [email protected] " "
27 [email protected] " " 27 [email protected] ".."
28 [email protected] ".." 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] "{"
31 [email protected] 31 [email protected] "\n "
32 [email protected] "{" 32 [email protected]
33 [email protected] "\n " 33 [email protected]
34 [email protected] 34 [email protected] "break"
35 [email protected] 35 [email protected] ";"
36 [email protected] "break" 36 [email protected] "\n "
37 [email protected] ";" 37 [email protected] "}"
38 [email protected] "\n " 38 [email protected] "\n"
39 [email protected] "}" 39 [email protected] "}"
40 [email protected] "\n"
41 [email protected] "}"
42 [email protected] "\n" 40 [email protected] "\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 2c933fa76..57fba5fd5 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
@@ -9,103 +9,102 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "box"
19 [email protected] "box" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "i"
23 [email protected] "i" 23 [email protected] " "
24 [email protected] " " 24 [email protected] "="
25 [email protected] "=" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected] "("
28 [email protected] "(" 28 [email protected] ")"
29 [email protected] ")" 29 [email protected] ";"
30 [email protected] ";" 30 [email protected] "\n "
31 [email protected] "\n " 31 [email protected]
32 [email protected] 32 [email protected] "let"
33 [email protected] "let" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "box"
36 [email protected] "box" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "Outer"
42 [email protected] "Outer" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] "{"
45 [email protected] "{" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "box"
49 [email protected] "box" 49 [email protected] " "
50 [email protected] " " 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "i"
53 [email protected] "i" 53 [email protected] ","
54 [email protected] "," 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected] "j"
58 [email protected] "j" 58 [email protected] ":"
59 [email protected] ":" 59 [email protected] " "
60 [email protected] " " 60 [email protected]
61 [email protected] 61 [email protected] "box"
62 [email protected] "box" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] 66 [email protected]
67 [email protected] 67 [email protected] "Inner"
68 [email protected] "Inner" 68 [email protected] "("
69 [email protected] "(" 69 [email protected]
70 [email protected] 70 [email protected] "box"
71 [email protected] "box" 71 [email protected] " "
72 [email protected] " " 72 [email protected]
73 [email protected] 73 [email protected] "&"
74 [email protected] "&" 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected] "x"
77 [email protected] "x" 77 [email protected] ")"
78 [email protected] ")" 78 [email protected] " "
79 [email protected] " " 79 [email protected] "}"
80 [email protected] "}" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "="
82 [email protected] "=" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected] "("
85 [email protected] "(" 85 [email protected] ")"
86 [email protected] ")" 86 [email protected] ";"
87 [email protected] ";" 87 [email protected] "\n "
88 [email protected] "\n " 88 [email protected]
89 [email protected] 89 [email protected] "let"
90 [email protected] "let" 90 [email protected] " "
91 [email protected] " " 91 [email protected]
92 [email protected] 92 [email protected] "box"
93 [email protected] "box" 93 [email protected] " "
94 [email protected] " " 94 [email protected]
95 [email protected] 95 [email protected] "ref"
96 [email protected] "ref" 96 [email protected] " "
97 [email protected] " " 97 [email protected] "mut"
98 [email protected] "mut" 98 [email protected] " "
99 [email protected] " " 99 [email protected]
100 [email protected] 100 [email protected] "i"
101 [email protected] "i" 101 [email protected] " "
102 [email protected] " " 102 [email protected] "="
103 [email protected] "=" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected] "("
106 [email protected] "(" 106 [email protected] ")"
107 [email protected] ")" 107 [email protected] ";"
108 [email protected] ";" 108 [email protected] "\n"
109 [email protected] "\n" 109 [email protected] "}"
110 [email protected] "}"
111 [email protected] "\n" 110 [email protected] "\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 e0b50d8be..8d8b9597b 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
@@ -9,448 +9,447 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] ".."
19 [email protected] ".." 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "("
24 [email protected] "(" 24 [email protected] ")"
25 [email protected] ")" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] "\n "
27 [email protected] "\n " 27 [email protected] "//"
28 [email protected] "//" 28 [email protected] "\n "
29 [email protected] "\n " 29 [email protected] "// Tuples"
30 [email protected] "// Tuples" 30 [email protected] "\n "
31 [email protected] "\n " 31 [email protected] "//"
32 [email protected] "//" 32 [email protected] "\n "
33 [email protected] "\n " 33 [email protected]
34 [email protected] 34 [email protected] "let"
35 [email protected] "let" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected] "("
38 [email protected] "(" 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected] "a"
41 [email protected] "a" 41 [email protected] ","
42 [email protected] "," 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] ".."
45 [email protected] ".." 45 [email protected] ")"
46 [email protected] ")" 46 [email protected] " "
47 [email protected] " " 47 [email protected] "="
48 [email protected] "=" 48 [email protected] " "
49 [email protected] " " 49 [email protected]
50 [email protected] 50 [email protected] "("
51 [email protected] "(" 51 [email protected] ")"
52 [email protected] ")" 52 [email protected] ";"
53 [email protected] ";" 53 [email protected] "\n "
54 [email protected] "\n " 54 [email protected]
55 [email protected] 55 [email protected] "let"
56 [email protected] "let" 56 [email protected] " "
57 [email protected] " " 57 [email protected]
58 [email protected] 58 [email protected] "("
59 [email protected] "(" 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "a"
62 [email protected] "a" 62 [email protected] ","
63 [email protected] "," 63 [email protected] " "
64 [email protected] " " 64 [email protected]
65 [email protected] 65 [email protected] ".."
66 [email protected] ".." 66 [email protected] ","
67 [email protected] "," 67 [email protected] ")"
68 [email protected] ")" 68 [email protected] " "
69 [email protected] " " 69 [email protected] "="
70 [email protected] "=" 70 [email protected] " "
71 [email protected] " " 71 [email protected]
72 [email protected] 72 [email protected] "("
73 [email protected] "(" 73 [email protected] ")"
74 [email protected] ")" 74 [email protected] ";"
75 [email protected] ";" 75 [email protected] "\n "
76 [email protected] "\n " 76 [email protected]
77 [email protected] 77 [email protected] "let"
78 [email protected] "let" 78 [email protected] " "
79 [email protected] " " 79 [email protected]
80 [email protected] 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected]
83 [email protected] 83 [email protected] "Tuple"
84 [email protected] "Tuple" 84 [email protected] "("
85 [email protected] "(" 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected] "a"
88 [email protected] "a" 88 [email protected] ","
89 [email protected] "," 89 [email protected] " "
90 [email protected] " " 90 [email protected]
91 [email protected] 91 [email protected] ".."
92 [email protected] ".." 92 [email protected] ")"
93 [email protected] ")" 93 [email protected] " "
94 [email protected] " " 94 [email protected] "="
95 [email protected] "=" 95 [email protected] " "
96 [email protected] " " 96 [email protected]
97 [email protected] 97 [email protected] "("
98 [email protected] "(" 98 [email protected] ")"
99 [email protected] ")" 99 [email protected] ";"
100 [email protected] ";" 100 [email protected] "\n "
101 [email protected] "\n " 101 [email protected]
102 [email protected] 102 [email protected] "let"
103 [email protected] "let" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected]
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected]
108 [email protected] 108 [email protected] "Tuple"
109 [email protected] "Tuple" 109 [email protected] "("
110 [email protected] "(" 110 [email protected]
111 [email protected] 111 [email protected]
112 [email protected] 112 [email protected] "a"
113 [email protected] "a" 113 [email protected] ","
114 [email protected] "," 114 [email protected] " "
115 [email protected] " " 115 [email protected]
116 [email protected] 116 [email protected] ".."
117 [email protected] ".." 117 [email protected] ","
118 [email protected] "," 118 [email protected] ")"
119 [email protected] ")" 119 [email protected] " "
120 [email protected] " " 120 [email protected] "="
121 [email protected] "=" 121 [email protected] " "
122 [email protected] " " 122 [email protected]
123 [email protected] 123 [email protected] "("
124 [email protected] "(" 124 [email protected] ")"
125 [email protected] ")" 125 [email protected] ";"
126 [email protected] ";" 126 [email protected] "\n "
127 [email protected] "\n " 127 [email protected]
128 [email protected] 128 [email protected] "let"
129 [email protected] "let" 129 [email protected] " "
130 [email protected] " " 130 [email protected]
131 [email protected] 131 [email protected] "("
132 [email protected] "(" 132 [email protected]
133 [email protected] 133 [email protected] ".."
134 [email protected] ".." 134 [email protected] ","
135 [email protected] "," 135 [email protected] " "
136 [email protected] " " 136 [email protected]
137 [email protected] 137 [email protected] ".."
138 [email protected] ".." 138 [email protected] ")"
139 [email protected] ")" 139 [email protected] " "
140 [email protected] " " 140 [email protected] "="
141 [email protected] "=" 141 [email protected] " "
142 [email protected] " " 142 [email protected]
143 [email protected] 143 [email protected] "("
144 [email protected] "(" 144 [email protected] ")"
145 [email protected] ")" 145 [email protected] ";"
146 [email protected] ";" 146 [email protected] "\n "
147 [email protected] "\n " 147 [email protected]
148 [email protected] 148 [email protected] "let"
149 [email protected] "let" 149 [email protected] " "
150 [email protected] " " 150 [email protected]
151 [email protected] 151 [email protected]
152 [email protected] 152 [email protected]
153 [email protected] 153 [email protected]
154 [email protected] 154 [email protected] "Tuple"
155 [email protected] "Tuple" 155 [email protected] "("
156 [email protected] "(" 156 [email protected]
157 [email protected] 157 [email protected] ".."
158 [email protected] ".." 158 [email protected] ","
159 [email protected] "," 159 [email protected] " "
160 [email protected] " " 160 [email protected]
161 [email protected] 161 [email protected] ".."
162 [email protected] ".." 162 [email protected] ")"
163 [email protected] ")" 163 [email protected] " "
164 [email protected] " " 164 [email protected] "="
165 [email protected] "=" 165 [email protected] " "
166 [email protected] " " 166 [email protected]
167 [email protected] 167 [email protected] "("
168 [email protected] "(" 168 [email protected] ")"
169 [email protected] ")" 169 [email protected] ";"
170 [email protected] ";" 170 [email protected] "\n "
171 [email protected] "\n " 171 [email protected]
172 [email protected] 172 [email protected] "let"
173 [email protected] "let" 173 [email protected] " "
174 [email protected] " " 174 [email protected]
175 [email protected] 175 [email protected] "("
176 [email protected] "(" 176 [email protected]
177 [email protected] 177 [email protected] ".."
178 [email protected] ".." 178 [email protected] ","
179 [email protected] "," 179 [email protected] " "
180 [email protected] " " 180 [email protected]
181 [email protected] 181 [email protected]
182 [email protected] 182 [email protected] "a"
183 [email protected] "a" 183 [email protected] ","
184 [email protected] "," 184 [email protected] " "
185 [email protected] " " 185 [email protected]
186 [email protected] 186 [email protected] ".."
187 [email protected] ".." 187 [email protected] ")"
188 [email protected] ")" 188 [email protected] " "
189 [email protected] " " 189 [email protected] "="
190 [email protected] "=" 190 [email protected] " "
191 [email protected] " " 191 [email protected]
192 [email protected] 192 [email protected] "("
193 [email protected] "(" 193 [email protected] ")"
194 [email protected] ")" 194 [email protected] ";"
195 [email protected] ";" 195 [email protected] "\n "
196 [email protected] "\n " 196 [email protected]
197 [email protected] 197 [email protected] "let"
198 [email protected] "let" 198 [email protected] " "
199 [email protected] " " 199 [email protected]
200 [email protected] 200 [email protected]
201 [email protected] 201 [email protected]
202 [email protected] 202 [email protected]
203 [email protected] 203 [email protected] "Tuple"
204 [email protected] "Tuple" 204 [email protected] "("
205 [email protected] "(" 205 [email protected]
206 [email protected] 206 [email protected] ".."
207 [email protected] ".." 207 [email protected] ","
208 [email protected] "," 208 [email protected] " "
209 [email protected] " " 209 [email protected]
210 [email protected] 210 [email protected]
211 [email protected] 211 [email protected] "a"
212 [email protected] "a" 212 [email protected] ","
213 [email protected] "," 213 [email protected] " "
214 [email protected] " " 214 [email protected]
215 [email protected] 215 [email protected] ".."
216 [email protected] ".." 216 [email protected] ")"
217 [email protected] ")" 217 [email protected] " "
218 [email protected] " " 218 [email protected] "="
219 [email protected] "=" 219 [email protected] " "
220 [email protected] " " 220 [email protected]
221 [email protected] 221 [email protected] "("
222 [email protected] "(" 222 [email protected] ")"
223 [email protected] ")" 223 [email protected] ";"
224 [email protected] ";" 224 [email protected] "\n "
225 [email protected] "\n " 225 [email protected] "//"
226 [email protected] "//" 226 [email protected] "\n "
227 [email protected] "\n " 227 [email protected] "// Slices"
228 [email protected] "// Slices" 228 [email protected] "\n "
229 [email protected] "\n " 229 [email protected] "//"
230 [email protected] "//" 230 [email protected] "\n "
231 [email protected] "\n " 231 [email protected]
232 [email protected] 232 [email protected] "let"
233 [email protected] "let" 233 [email protected] " "
234 [email protected] " " 234 [email protected]
235 [email protected] 235 [email protected] "["
236 [email protected] "[" 236 [email protected]
237 [email protected] 237 [email protected] ".."
238 [email protected] ".." 238 [email protected] "]"
239 [email protected] "]" 239 [email protected] " "
240 [email protected] " " 240 [email protected] "="
241 [email protected] "=" 241 [email protected] " "
242 [email protected] " " 242 [email protected]
243 [email protected] 243 [email protected] "("
244 [email protected] "(" 244 [email protected] ")"
245 [email protected] ")" 245 [email protected] ";"
246 [email protected] ";" 246 [email protected] "\n "
247 [email protected] "\n " 247 [email protected]
248 [email protected] 248 [email protected] "let"
249 [email protected] "let" 249 [email protected] " "
250 [email protected] " " 250 [email protected]
251 [email protected] 251 [email protected] "["
252 [email protected] "[" 252 [email protected]
253 [email protected] 253 [email protected]
254 [email protected] 254 [email protected] "head"
255 [email protected] "head" 255 [email protected] ","
256 [email protected] "," 256 [email protected] " "
257 [email protected] " " 257 [email protected]
258 [email protected] 258 [email protected] ".."
259 [email protected] ".." 259 [email protected] "]"
260 [email protected] "]" 260 [email protected] " "
261 [email protected] " " 261 [email protected] "="
262 [email protected] "=" 262 [email protected] " "
263 [email protected] " " 263 [email protected]
264 [email protected] 264 [email protected] "("
265 [email protected] "(" 265 [email protected] ")"
266 [email protected] ")" 266 [email protected] ";"
267 [email protected] ";" 267 [email protected] "\n "
268 [email protected] "\n " 268 [email protected]
269 [email protected] 269 [email protected] "let"
270 [email protected] "let" 270 [email protected] " "
271 [email protected] " " 271 [email protected]
272 [email protected] 272 [email protected] "["
273 [email protected] "[" 273 [email protected]
274 [email protected] 274 [email protected]
275 [email protected] 275 [email protected] "head"
276 [email protected] "head" 276 [email protected] ","
277 [email protected] "," 277 [email protected] " "
278 [email protected] " " 278 [email protected]
279 [email protected] 279 [email protected]
280 [email protected] 280 [email protected] "tail"
281 [email protected] "tail" 281 [email protected] " "
282 [email protected] " " 282 [email protected] "@"
283 [email protected] "@" 283 [email protected] " "
284 [email protected] " " 284 [email protected]
285 [email protected] 285 [email protected] ".."
286 [email protected] ".." 286 [email protected] "]"
287 [email protected] "]" 287 [email protected] " "
288 [email protected] " " 288 [email protected] "="
289 [email protected] "=" 289 [email protected] " "
290 [email protected] " " 290 [email protected]
291 [email protected] 291 [email protected] "("
292 [email protected] "(" 292 [email protected] ")"
293 [email protected] ")" 293 [email protected] ";"
294 [email protected] ";" 294 [email protected] "\n "
295 [email protected] "\n " 295 [email protected]
296 [email protected] 296 [email protected] "let"
297 [email protected] "let" 297 [email protected] " "
298 [email protected] " " 298 [email protected]
299 [email protected] 299 [email protected] "["
300 [email protected] "[" 300 [email protected]
301 [email protected] 301 [email protected]
302 [email protected] 302 [email protected] "head"
303 [email protected] "head" 303 [email protected] ","
304 [email protected] "," 304 [email protected] " "
305 [email protected] " " 305 [email protected]
306 [email protected] 306 [email protected] ".."
307 [email protected] ".." 307 [email protected] ","
308 [email protected] "," 308 [email protected] " "
309 [email protected] " " 309 [email protected]
310 [email protected] 310 [email protected]
311 [email protected] 311 [email protected] "cons"
312 [email protected] "cons" 312 [email protected] "]"
313 [email protected] "]" 313 [email protected] " "
314 [email protected] " " 314 [email protected] "="
315 [email protected] "=" 315 [email protected] " "
316 [email protected] " " 316 [email protected]
317 [email protected] 317 [email protected] "("
318 [email protected] "(" 318 [email protected] ")"
319 [email protected] ")" 319 [email protected] ";"
320 [email protected] ";" 320 [email protected] "\n "
321 [email protected] "\n " 321 [email protected]
322 [email protected] 322 [email protected] "let"
323 [email protected] "let" 323 [email protected] " "
324 [email protected] " " 324 [email protected]
325 [email protected] 325 [email protected] "["
326 [email protected] "[" 326 [email protected]
327 [email protected] 327 [email protected]
328 [email protected] 328 [email protected] "head"
329 [email protected] "head" 329 [email protected] ","
330 [email protected] "," 330 [email protected] " "
331 [email protected] " " 331 [email protected]
332 [email protected] 332 [email protected]
333 [email protected] 333 [email protected] "mid"
334 [email protected] "mid" 334 [email protected] " "
335 [email protected] " " 335 [email protected] "@"
336 [email protected] "@" 336 [email protected] " "
337 [email protected] " " 337 [email protected]
338 [email protected] 338 [email protected] ".."
339 [email protected] ".." 339 [email protected] ","
340 [email protected] "," 340 [email protected] " "
341 [email protected] " " 341 [email protected]
342 [email protected] 342 [email protected]
343 [email protected] 343 [email protected] "cons"
344 [email protected] "cons" 344 [email protected] "]"
345 [email protected] "]" 345 [email protected] " "
346 [email protected] " " 346 [email protected] "="
347 [email protected] "=" 347 [email protected] " "
348 [email protected] " " 348 [email protected]
349 [email protected] 349 [email protected] "("
350 [email protected] "(" 350 [email protected] ")"
351 [email protected] ")" 351 [email protected] ";"
352 [email protected] ";" 352 [email protected] "\n "
353 [email protected] "\n " 353 [email protected]
354 [email protected] 354 [email protected] "let"
355 [email protected] "let" 355 [email protected] " "
356 [email protected] " " 356 [email protected]
357 [email protected] 357 [email protected] "["
358 [email protected] "[" 358 [email protected]
359 [email protected] 359 [email protected]
360 [email protected] 360 [email protected] "head"
361 [email protected] "head" 361 [email protected] ","
362 [email protected] "," 362 [email protected] " "
363 [email protected] " " 363 [email protected]
364 [email protected] 364 [email protected] ".."
365 [email protected] ".." 365 [email protected] ","
366 [email protected] "," 366 [email protected] " "
367 [email protected] " " 367 [email protected]
368 [email protected] 368 [email protected] ".."
369 [email protected] ".." 369 [email protected] ","
370 [email protected] "," 370 [email protected] " "
371 [email protected] " " 371 [email protected]
372 [email protected] 372 [email protected]
373 [email protected] 373 [email protected] "cons"
374 [email protected] "cons" 374 [email protected] "]"
375 [email protected] "]" 375 [email protected] " "
376 [email protected] " " 376 [email protected] "="
377 [email protected] "=" 377 [email protected] " "
378 [email protected] " " 378 [email protected]
379 [email protected] 379 [email protected] "("
380 [email protected] "(" 380 [email protected] ")"
381 [email protected] ")" 381 [email protected] ";"
382 [email protected] ";" 382 [email protected] "\n "
383 [email protected] "\n " 383 [email protected]
384 [email protected] 384 [email protected] "let"
385 [email protected] "let" 385 [email protected] " "
386 [email protected] " " 386 [email protected]
387 [email protected] 387 [email protected] "["
388 [email protected] "[" 388 [email protected]
389 [email protected] 389 [email protected]
390 [email protected] 390 [email protected] "head"
391 [email protected] "head" 391 [email protected] ","
392 [email protected] "," 392 [email protected] " "
393 [email protected] " " 393 [email protected]
394 [email protected] 394 [email protected] ".."
395 [email protected] ".." 395 [email protected] ","
396 [email protected] "," 396 [email protected] " "
397 [email protected] " " 397 [email protected]
398 [email protected] 398 [email protected]
399 [email protected] 399 [email protected] "mid"
400 [email protected] "mid" 400 [email protected] ","
401 [email protected] "," 401 [email protected] " "
402 [email protected] " " 402 [email protected]
403 [email protected] 403 [email protected]
404 [email protected] 404 [email protected] "tail"
405 [email protected] "tail" 405 [email protected] " "
406 [email protected] " " 406 [email protected] "@"
407 [email protected] "@" 407 [email protected] " "
408 [email protected] " " 408 [email protected]
409 [email protected] 409 [email protected] ".."
410 [email protected] ".." 410 [email protected] "]"
411 [email protected] "]" 411 [email protected] " "
412 [email protected] " " 412 [email protected] "="
413 [email protected] "=" 413 [email protected] " "
414 [email protected] " " 414 [email protected]
415 [email protected] 415 [email protected] "("
416 [email protected] "(" 416 [email protected] ")"
417 [email protected] ")" 417 [email protected] ";"
418 [email protected] ";" 418 [email protected] "\n "
419 [email protected] "\n " 419 [email protected]
420 [email protected] 420 [email protected] "let"
421 [email protected] "let" 421 [email protected] " "
422 [email protected] " " 422 [email protected]
423 [email protected] 423 [email protected] "["
424 [email protected] "[" 424 [email protected]
425 [email protected] 425 [email protected]
426 [email protected] 426 [email protected] "head"
427 [email protected] "head" 427 [email protected] ","
428 [email protected] "," 428 [email protected] " "
429 [email protected] " " 429 [email protected]
430 [email protected] 430 [email protected] ".."
431 [email protected] ".." 431 [email protected] ","
432 [email protected] "," 432 [email protected] " "
433 [email protected] " " 433 [email protected]
434 [email protected] 434 [email protected]
435 [email protected] 435 [email protected] "mid"
436 [email protected] "mid" 436 [email protected] ","
437 [email protected] "," 437 [email protected] " "
438 [email protected] " " 438 [email protected]
439 [email protected] 439 [email protected] ".."
440 [email protected] ".." 440 [email protected] ","
441 [email protected] "," 441 [email protected] " "
442 [email protected] " " 442 [email protected]
443 [email protected] 443 [email protected]
444 [email protected] 444 [email protected] "cons"
445 [email protected] "cons" 445 [email protected] "]"
446 [email protected] "]" 446 [email protected] " "
447 [email protected] " " 447 [email protected] "="
448 [email protected] "=" 448 [email protected] " "
449 [email protected] " " 449 [email protected]
450 [email protected] 450 [email protected] "("
451 [email protected] "(" 451 [email protected] ")"
452 [email protected] ")" 452 [email protected] ";"
453 [email protected] ";" 453 [email protected] "\n"
454 [email protected] "\n" 454 [email protected] "}"
455 [email protected] "}"
456 [email protected] "\n" 455 [email protected] "\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 10434b637..7c092d518 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
@@ -9,68 +9,67 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "S"
22 [email protected] "S" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "{"
25 [email protected] "{" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "0"
29 [email protected] "0" 29 [email protected] ":"
30 [email protected] ":" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "1"
34 [email protected] "1" 34 [email protected] " "
35 [email protected] " " 35 [email protected] "}"
36 [email protected] "}" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "="
38 [email protected] "=" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "("
41 [email protected] "(" 41 [email protected] ")"
42 [email protected] ")" 42 [email protected] ";"
43 [email protected] ";" 43 [email protected] "\n "
44 [email protected] "\n " 44 [email protected]
45 [email protected] 45 [email protected] "let"
46 [email protected] "let" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "S"
52 [email protected] "S" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected] "{"
55 [email protected] "{" 55 [email protected] " "
56 [email protected] " " 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "x"
59 [email protected] "x" 59 [email protected] ":"
60 [email protected] ":" 60 [email protected] " "
61 [email protected] " " 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected] "1"
64 [email protected] "1" 64 [email protected] " "
65 [email protected] " " 65 [email protected] "}"
66 [email protected] "}" 66 [email protected] " "
67 [email protected] " " 67 [email protected] "="
68 [email protected] "=" 68 [email protected] " "
69 [email protected] " " 69 [email protected]
70 [email protected] 70 [email protected] "("
71 [email protected] "(" 71 [email protected] ")"
72 [email protected] ")" 72 [email protected] ";"
73 [email protected] ";" 73 [email protected] "\n"
74 [email protected] "\n" 74 [email protected] "}"
75 [email protected] "}"
76 [email protected] "\n" 75 [email protected] "\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 66ad546b9..8382a4f96 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
@@ -9,35 +9,34 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "&"
25 [email protected] "&" 25 [email protected]
26 [email protected] 26 [email protected] "1"
27 [email protected] "1" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "as"
29 [email protected] "as" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "*"
32 [email protected] "*" 32 [email protected] "const"
33 [email protected] "const" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "i32"
39 [email protected] "i32" 39 [email protected] ";"
40 [email protected] ";" 40 [email protected] "\n"
41 [email protected] "\n" 41 [email protected] "}"
42 [email protected] "}"
43 [email protected] "\n" 42 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast b/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
index c2e290a62..f43dfbe63 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
@@ -9,29 +9,28 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "foo"
20 [email protected] "foo" 20 [email protected]
21 [email protected] 21 [email protected] "("
22 [email protected] "(" 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected] "#"
25 [email protected] "#" 25 [email protected] "["
26 [email protected] "[" 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "attr"
30 [email protected] "attr" 30 [email protected] "]"
31 [email protected] "]" 31 [email protected] " "
32 [email protected] " " 32 [email protected] "92"
33 [email protected] "92" 33 [email protected] ")"
34 [email protected] ")" 34 [email protected] "\n"
35 [email protected] "\n" 35 [email protected] "}"
36 [email protected] "}"
37 [email protected] "\n" 36 [email protected] "\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 dad3dfe4d..ecac05950 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
@@ -9,62 +9,61 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "foo"
20 [email protected] "foo" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "|"
26 [email protected] "|" 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "bar"
30 [email protected] "bar" 30 [email protected] ","
31 [email protected] "," 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "baz"
36 [email protected] "baz" 36 [email protected] ":"
37 [email protected] ":" 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "Baz"
43 [email protected] "Baz" 43 [email protected] ","
44 [email protected] "," 44 [email protected] " "
45 [email protected] " " 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "qux"
49 [email protected] "qux" 49 [email protected] ":"
50 [email protected] ":" 50 [email protected] " "
51 [email protected] " " 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected] "Qux"
57 [email protected] "Qux" 57 [email protected] "::"
58 [email protected] "::" 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected] "Quux"
61 [email protected] "Quux" 61 [email protected] "|"
62 [email protected] "|" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "("
65 [email protected] "(" 65 [email protected] ")"
66 [email protected] ")" 66 [email protected] ";"
67 [email protected] ";" 67 [email protected] "\n"
68 [email protected] "\n" 68 [email protected] "}"
69 [email protected] "}"
70 [email protected] "\n" 69 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast
index 3110bf5c0..092833417 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_fn_def_param.rast
@@ -38,7 +38,6 @@ [email protected]
38 [email protected] ")" 38 [email protected] ")"
39 [email protected] " " 39 [email protected] " "
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "{"
42 [email protected] "{" 42 [email protected] "}"
43 [email protected] "}"
44 [email protected] "\n" 43 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast b/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast
index 3f3e6a9a2..88d512f1a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0156_or_pattern.rast
@@ -9,104 +9,103 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "("
19 [email protected] "(" 19 [email protected] ")"
20 [email protected] ")" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "{"
23 [email protected] "{" 23 [email protected] "\n "
24 [email protected] "\n " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "("
27 [email protected] "(" 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "_"
30 [email protected] "_" 30 [email protected] " "
31 [email protected] " " 31 [email protected] "|"
32 [email protected] "|" 32 [email protected] " "
33 [email protected] " " 33 [email protected]
34 [email protected] 34 [email protected] "_"
35 [email protected] "_" 35 [email protected] ")"
36 [email protected] ")" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "=>"
38 [email protected] "=>" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "("
41 [email protected] "(" 41 [email protected] ")"
42 [email protected] ")" 42 [email protected] ","
43 [email protected] "," 43 [email protected] "\n "
44 [email protected] "\n " 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected] "&"
47 [email protected] "&" 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "_"
52 [email protected] "_" 52 [email protected] " "
53 [email protected] " " 53 [email protected] "|"
54 [email protected] "|" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected] "_"
57 [email protected] "_" 57 [email protected] ")"
58 [email protected] ")" 58 [email protected] " "
59 [email protected] " " 59 [email protected] "=>"
60 [email protected] "=>" 60 [email protected] " "
61 [email protected] " " 61 [email protected]
62 [email protected] 62 [email protected] "("
63 [email protected] "(" 63 [email protected] ")"
64 [email protected] ")" 64 [email protected] ","
65 [email protected] "," 65 [email protected] "\n "
66 [email protected] "\n " 66 [email protected]
67 [email protected] 67 [email protected]
68 [email protected] 68 [email protected] "("
69 [email protected] "(" 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "_"
72 [email protected] "_" 72 [email protected] " "
73 [email protected] " " 73 [email protected] "|"
74 [email protected] "|" 74 [email protected] " "
75 [email protected] " " 75 [email protected]
76 [email protected] 76 [email protected] "_"
77 [email protected] "_" 77 [email protected] ","
78 [email protected] "," 78 [email protected] ")"
79 [email protected] ")" 79 [email protected] " "
80 [email protected] " " 80 [email protected] "=>"
81 [email protected] "=>" 81 [email protected] " "
82 [email protected] " " 82 [email protected]
83 [email protected] 83 [email protected] "("
84 [email protected] "(" 84 [email protected] ")"
85 [email protected] ")" 85 [email protected] ","
86 [email protected] "," 86 [email protected] "\n "
87 [email protected] "\n " 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected] "["
90 [email protected] "[" 90 [email protected]
91 [email protected] 91 [email protected]
92 [email protected] 92 [email protected] "_"
93 [email protected] "_" 93 [email protected] " "
94 [email protected] " " 94 [email protected] "|"
95 [email protected] "|" 95 [email protected] " "
96 [email protected] " " 96 [email protected]
97 [email protected] 97 [email protected] "_"
98 [email protected] "_" 98 [email protected] ","
99 [email protected] "," 99 [email protected] "]"
100 [email protected] "]" 100 [email protected] " "
101 [email protected] " " 101 [email protected] "=>"
102 [email protected] "=>" 102 [email protected] " "
103 [email protected] " " 103 [email protected]
104 [email protected] 104 [email protected] "("
105 [email protected] "(" 105 [email protected] ")"
106 [email protected] ")" 106 [email protected] ","
107 [email protected] "," 107 [email protected] "\n "
108 [email protected] "\n " 108 [email protected] "}"
109 [email protected] "}" 109 [email protected] "\n"
110 [email protected] "\n" 110 [email protected] "}"
111 [email protected] "}"
112 [email protected] "\n" 111 [email protected] "\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 50db9e967..bd9e8d40f 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
@@ -9,30 +9,28 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "v"
21 [email protected] "v" 21 [email protected] " "
22 [email protected] " " 22 [email protected] "="
23 [email protected] "=" 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] 27 [email protected]
28 [email protected] "{" 28 [email protected] "1"
29 [email protected] 29 [email protected] "}"
30 [email protected] "1" 30 [email protected] "&"
31 [email protected] "}" 31 [email protected]
32 [email protected] "&" 32 [email protected] "2"
33 [email protected] 33 [email protected] ";"
34 [email protected] "2" 34 [email protected] "\n"
35 [email protected] ";" 35 [email protected] "}"
36 [email protected] "\n"
37 [email protected] "}"
38 [email protected] "\n" 36 [email protected] "\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 c05e05bf3..08333a325 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
@@ -9,37 +9,35 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "|"
19 [email protected] "|" 19 [email protected] "|"
20 [email protected] "|" 20 [email protected] " "
21 [email protected] " " 21 [email protected]
22 [email protected] 22 [email protected] "->"
23 [email protected] "->" 23 [email protected] " "
24 [email protected] " " 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "i32"
29 [email protected] "i32" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "{"
32 [email protected] 32 [email protected] " "
33 [email protected] "{" 33 [email protected]
34 [email protected] " " 34 [email protected] "92"
35 [email protected] 35 [email protected] " "
36 [email protected] "92" 36 [email protected] "}"
37 [email protected] " " 37 [email protected]
38 [email protected] "}" 38 [email protected] "("
39 [email protected] 39 [email protected] ")"
40 [email protected] "(" 40 [email protected] ";"
41 [email protected] ")" 41 [email protected] " "
42 [email protected] ";" 42 [email protected] "}"
43 [email protected] " "
44 [email protected] "}"
45 [email protected] "\n" 43 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast b/crates/ra_syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast
index beb6d8010..5f09e4f4a 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0159_try_macro_fallback.rast
@@ -9,27 +9,26 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "try"
20 [email protected] "try" 20 [email protected] "!"
21 [email protected] "!" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected] "Ok"
24 [email protected] "Ok" 24 [email protected]
25 [email protected] 25 [email protected] "("
26 [email protected] "(" 26 [email protected]
27 [email protected] 27 [email protected] "("
28 [email protected] "(" 28 [email protected] ")"
29 [email protected] ")" 29 [email protected] ")"
30 [email protected] ")" 30 [email protected] ")"
31 [email protected] ")" 31 [email protected] ";"
32 [email protected] ";" 32 [email protected] " "
33 [email protected] " " 33 [email protected] "}"
34 [email protected] "}"
35 [email protected] "\n" 34 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rast
new file mode 100644
index 000000000..9efebd8b8
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rast
@@ -0,0 +1,26 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected]
16 [email protected]
17 [email protected] "\'label"
18 [email protected] ":"
19 [email protected] " "
20 [email protected]
21 [email protected] "{"
22 [email protected] "}"
23 [email protected] ";"
24 [email protected] " "
25 [email protected] "}"
26 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rs b/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rs
new file mode 100644
index 000000000..18b4ff4b1
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0161_labeled_block.rs
@@ -0,0 +1 @@
fn f() { 'label: {}; }
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rast b/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rast
new file mode 100644
index 000000000..4991f2c36
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rast
@@ -0,0 +1,23 @@
1[email protected]
2 [email protected]
3 [email protected] "fn"
4 [email protected] " "
5 [email protected]
6 [email protected] "f"
7 [email protected]
8 [email protected] "("
9 [email protected] ")"
10 [email protected] " "
11 [email protected]
12 [email protected] "{"
13 [email protected] " "
14 [email protected]
15 [email protected] "unsafe"
16 [email protected] " "
17 [email protected]
18 [email protected] "{"
19 [email protected] " "
20 [email protected] "}"
21 [email protected] " "
22 [email protected] "}"
23 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rs b/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rs
new file mode 100644
index 000000000..dfb9b2a1c
--- /dev/null
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0162_unsafe_block.rs
@@ -0,0 +1 @@
fn f() { unsafe { } }
diff --git a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast
index 993ba72b6..0ec237f8e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.rast
@@ -9,8 +9,7 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n"
14 [email protected] "\n" 14 [email protected] "}"
15 [email protected] "}"
16 [email protected] "\n" 15 [email protected] "\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 353bf2d2e..37b452ec4 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
@@ -36,10 +36,9 @@ [email protected]
36 [email protected] ")" 36 [email protected] ")"
37 [email protected] " " 37 [email protected] " "
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected] "{"
40 [email protected] "{" 40 [email protected] "\n "
41 [email protected] "\n " 41 [email protected] "}"
42 [email protected] "}"
43 [email protected] "\n " 42 [email protected] "\n "
44 [email protected] 43 [email protected]
45 [email protected] "struct" 44 [email protected] "struct"
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 3919cc78b..0b9bc58e8 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
@@ -31,9 +31,8 @@ [email protected]
31 [email protected] ")" 31 [email protected] ")"
32 [email protected] " " 32 [email protected] " "
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected] "{"
35 [email protected] "{" 35 [email protected] "}"
36 [email protected] "}"
37 [email protected] "\n\n" 36 [email protected] "\n\n"
38 [email protected] 37 [email protected]
39 [email protected] 38 [email protected]
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 750a045ef..980b34049 100644
--- a/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0012_visibility.rast
@@ -9,9 +9,8 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "}"
14 [email protected] "}"
15 [email protected] "\n" 14 [email protected] "\n"
16 [email protected] 15 [email protected]
17 [email protected] 16 [email protected]
@@ -26,9 +25,8 @@ [email protected]
26 [email protected] ")" 25 [email protected] ")"
27 [email protected] " " 26 [email protected] " "
28 [email protected] 27 [email protected]
29 [email protected] 28 [email protected] "{"
30 [email protected] "{" 29 [email protected] "}"
31 [email protected] "}"
32 [email protected] "\n" 30 [email protected] "\n"
33 [email protected] 31 [email protected]
34 [email protected] 32 [email protected]
@@ -46,9 +44,8 @@ [email protected]
46 [email protected] ")" 44 [email protected] ")"
47 [email protected] " " 45 [email protected] " "
48 [email protected] 46 [email protected]
49 [email protected] 47 [email protected] "{"
50 [email protected] "{" 48 [email protected] "}"
51 [email protected] "}"
52 [email protected] "\n" 49 [email protected] "\n"
53 [email protected] 50 [email protected]
54 [email protected] 51 [email protected]
@@ -66,9 +63,8 @@ [email protected]
66 [email protected] ")" 63 [email protected] ")"
67 [email protected] " " 64 [email protected] " "
68 [email protected] 65 [email protected]
69 [email protected] 66 [email protected] "{"
70 [email protected] "{" 67 [email protected] "}"
71 [email protected] "}"
72 [email protected] "\n" 68 [email protected] "\n"
73 [email protected] 69 [email protected]
74 [email protected] 70 [email protected]
@@ -101,7 +97,6 @@ [email protected]
101 [email protected] ")" 97 [email protected] ")"
102 [email protected] " " 98 [email protected] " "
103 [email protected] 99 [email protected]
104 [email protected] 100 [email protected] "{"
105 [email protected] "{" 101 [email protected] "}"
106 [email protected] "}"
107 [email protected] "\n" 102 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rast
index a5a90df7b..05d9c05ad 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
@@ -1,4 +1,4 @@
1SOURCE_FILE@0..65 1SOURCE_FILE@0..38
2 [email protected] 2 [email protected]
3 [email protected] "use" 3 [email protected] "use"
4 [email protected] " " 4 [email protected] " "
@@ -31,27 +31,3 @@ [email protected]
31 [email protected] "bar" 31 [email protected] "bar"
32 [email protected] ";" 32 [email protected] ";"
33 [email protected] "\n" 33 [email protected] "\n"
34 [email protected]
35 [email protected] "use"
36 [email protected] " "
37 [email protected]
38 [email protected]
39 [email protected]
40 [email protected]
41 [email protected]
42 [email protected]
43 [email protected] "::"
44 [email protected] "self"
45 [email protected] "::"
46 [email protected]
47 [email protected]
48 [email protected] "a"
49 [email protected] "::"
50 [email protected]
51 [email protected] "super"
52 [email protected] "::"
53 [email protected]
54 [email protected]
55 [email protected] "bar"
56 [email protected] ";"
57 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rs b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rs
index faf6a42c7..9d9eb9917 100644
--- a/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rs
+++ b/crates/ra_syntax/test_data/parser/ok/0013_use_path_self_super.rs
@@ -1,3 +1,2 @@
1use self::foo; 1use self::foo;
2use super::super::bar; 2use super::super::bar;
3use ::self::a::super::bar;
diff --git a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
index b5747aacd..964cbf5dd 100644
--- a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
@@ -23,7 +23,6 @@ [email protected]
23 [email protected] ")" 23 [email protected] ")"
24 [email protected] " " 24 [email protected] " "
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] "{" 27 [email protected] "}"
28 [email protected] "}"
29 [email protected] "\n" 28 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast
index 643a1d16c..873791f50 100644
--- a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.rast
@@ -12,10 +12,9 @@ [email protected]
12 [email protected] ")" 12 [email protected] ")"
13 [email protected] " " 13 [email protected] " "
14 [email protected] 14 [email protected]
15 [email protected] 15 [email protected] "{"
16 [email protected] "{" 16 [email protected] "\n"
17 [email protected] "\n" 17 [email protected] "}"
18 [email protected] "}"
19 [email protected] "\n\n" 18 [email protected] "\n\n"
20 [email protected] 19 [email protected]
21 [email protected] 20 [email protected]
@@ -32,10 +31,9 @@ [email protected]
32 [email protected] ")" 31 [email protected] ")"
33 [email protected] " " 32 [email protected] " "
34 [email protected] 33 [email protected]
35 [email protected] 34 [email protected] "{"
36 [email protected] "{" 35 [email protected] "\n"
37 [email protected] "\n" 36 [email protected] "}"
38 [email protected] "}"
39 [email protected] "\n\n" 37 [email protected] "\n\n"
40 [email protected] 38 [email protected]
41 [email protected] 39 [email protected]
@@ -52,8 +50,7 @@ [email protected]
52 [email protected] ")" 50 [email protected] ")"
53 [email protected] " " 51 [email protected] " "
54 [email protected] 52 [email protected]
55 [email protected] 53 [email protected] "{"
56 [email protected] "{" 54 [email protected] "\n"
57 [email protected] "\n" 55 [email protected] "}"
58 [email protected] "}"
59 [email protected] "\n" 56 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast
index 60af55837..5701f566e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.rast
@@ -9,25 +9,23 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "extern"
17 [email protected] "extern" 17 [email protected] " "
18 [email protected] " " 18 [email protected] "fn"
19 [email protected] "fn" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "f"
22 [email protected] "f" 22 [email protected]
23 [email protected] 23 [email protected] "("
24 [email protected] "(" 24 [email protected] ")"
25 [email protected] ")" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected] "{"
28 [email protected] 28 [email protected] "}"
29 [email protected] "{" 29 [email protected] "\n"
30 [email protected] "}" 30 [email protected] "}"
31 [email protected] "\n"
32 [email protected] "}"
33 [email protected] "\n" 31 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast
index 4432c0163..b029d8692 100644
--- a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.rast
@@ -9,24 +9,22 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "const"
16 [email protected] "const" 16 [email protected] " "
17 [email protected] " " 17 [email protected] "fn"
18 [email protected] "fn" 18 [email protected] " "
19 [email protected] " " 19 [email protected]
20 [email protected] 20 [email protected] "f"
21 [email protected] "f" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected] ")"
24 [email protected] ")" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] 27 [email protected] "}"
28 [email protected] "{" 28 [email protected] "\n"
29 [email protected] "}" 29 [email protected] "}"
30 [email protected] "\n"
31 [email protected] "}"
32 [email protected] "\n" 30 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast
index c0162c609..299bbd136 100644
--- a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.rast
@@ -9,35 +9,33 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "unsafe"
16 [email protected] "unsafe" 16 [email protected] " "
17 [email protected] " " 17 [email protected] "fn"
18 [email protected] "fn" 18 [email protected] " "
19 [email protected] " " 19 [email protected]
20 [email protected] 20 [email protected] "f"
21 [email protected] "f" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected] ")"
24 [email protected] ")" 24 [email protected] " "
25 [email protected] " " 25 [email protected]
26 [email protected] 26 [email protected] "{"
27 [email protected] 27 [email protected] "}"
28 [email protected] "{" 28 [email protected] "\n "
29 [email protected] "}" 29 [email protected]
30 [email protected] "\n " 30 [email protected] "unsafe"
31 [email protected] 31 [email protected] " "
32 [email protected] "unsafe" 32 [email protected]
33 [email protected] " " 33 [email protected] "{"
34 [email protected] 34 [email protected] " "
35 [email protected] "{" 35 [email protected]
36 [email protected] " " 36 [email protected] "92"
37 [email protected] 37 [email protected] " "
38 [email protected] "92" 38 [email protected] "}"
39 [email protected] " " 39 [email protected] "\n"
40 [email protected] "}" 40 [email protected] "}"
41 [email protected] "\n"
42 [email protected] "}"
43 [email protected] "\n" 41 [email protected] "\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 6c0daef52..de3c4b786 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
@@ -9,178 +9,177 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "x"
20 [email protected] "x" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "1"
27 [email protected] "1" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "+"
29 [email protected] "+" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "2"
34 [email protected] "2" 34 [email protected] " "
35 [email protected] " " 35 [email protected] "*"
36 [email protected] "*" 36 [email protected] " "
37 [email protected] " " 37 [email protected]
38 [email protected] 38 [email protected] "3"
39 [email protected] "3" 39 [email protected] " "
40 [email protected] " " 40 [email protected] "%"
41 [email protected] "%" 41 [email protected] " "
42 [email protected] " " 42 [email protected]
43 [email protected] 43 [email protected] "4"
44 [email protected] "4" 44 [email protected] " "
45 [email protected] " " 45 [email protected] "-"
46 [email protected] "-" 46 [email protected] " "
47 [email protected] " " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "5"
50 [email protected] "5" 50 [email protected] " "
51 [email protected] " " 51 [email protected] "/"
52 [email protected] "/" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected] "6"
55 [email protected] "6" 55 [email protected] ";"
56 [email protected] ";" 56 [email protected] "\n "
57 [email protected] "\n " 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected] "1"
61 [email protected] "1" 61 [email protected] " "
62 [email protected] " " 62 [email protected] "+"
63 [email protected] "+" 63 [email protected] " "
64 [email protected] " " 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] 66 [email protected] "2"
67 [email protected] "2" 67 [email protected] " "
68 [email protected] " " 68 [email protected] "*"
69 [email protected] "*" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected] "3"
72 [email protected] "3" 72 [email protected] ";"
73 [email protected] ";" 73 [email protected] "\n "
74 [email protected] "\n " 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected] "1"
78 [email protected] "1" 78 [email protected] " "
79 [email protected] " " 79 [email protected] "<<"
80 [email protected] "<<" 80 [email protected] " "
81 [email protected] " " 81 [email protected]
82 [email protected] 82 [email protected]
83 [email protected] 83 [email protected] "2"
84 [email protected] "2" 84 [email protected] " "
85 [email protected] " " 85 [email protected] "+"
86 [email protected] "+" 86 [email protected] " "
87 [email protected] " " 87 [email protected]
88 [email protected] 88 [email protected] "3"
89 [email protected] "3" 89 [email protected] ";"
90 [email protected] ";" 90 [email protected] "\n "
91 [email protected] "\n " 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected] "1"
95 [email protected] "1" 95 [email protected] " "
96 [email protected] " " 96 [email protected] "&"
97 [email protected] "&" 97 [email protected] " "
98 [email protected] " " 98 [email protected]
99 [email protected] 99 [email protected]
100 [email protected] 100 [email protected] "2"
101 [email protected] "2" 101 [email protected] " "
102 [email protected] " " 102 [email protected] ">>"
103 [email protected] ">>" 103 [email protected] " "
104 [email protected] " " 104 [email protected]
105 [email protected] 105 [email protected] "3"
106 [email protected] "3" 106 [email protected] ";"
107 [email protected] ";" 107 [email protected] "\n "
108 [email protected] "\n " 108 [email protected]
109 [email protected] 109 [email protected]
110 [email protected] 110 [email protected]
111 [email protected] 111 [email protected] "1"
112 [email protected] "1" 112 [email protected] " "
113 [email protected] " " 113 [email protected] "^"
114 [email protected] "^" 114 [email protected] " "
115 [email protected] " " 115 [email protected]
116 [email protected] 116 [email protected]
117 [email protected] 117 [email protected] "2"
118 [email protected] "2" 118 [email protected] " "
119 [email protected] " " 119 [email protected] "&"
120 [email protected] "&" 120 [email protected] " "
121 [email protected] " " 121 [email protected]
122 [email protected] 122 [email protected] "3"
123 [email protected] "3" 123 [email protected] ";"
124 [email protected] ";" 124 [email protected] "\n "
125 [email protected] "\n " 125 [email protected]
126 [email protected] 126 [email protected]
127 [email protected] 127 [email protected]
128 [email protected] 128 [email protected] "1"
129 [email protected] "1" 129 [email protected] " "
130 [email protected] " " 130 [email protected] "|"
131 [email protected] "|" 131 [email protected] " "
132 [email protected] " " 132 [email protected]
133 [email protected] 133 [email protected]
134 [email protected] 134 [email protected] "2"
135 [email protected] "2" 135 [email protected] " "
136 [email protected] " " 136 [email protected] "^"
137 [email protected] "^" 137 [email protected] " "
138 [email protected] " " 138 [email protected]
139 [email protected] 139 [email protected] "3"
140 [email protected] "3" 140 [email protected] ";"
141 [email protected] ";" 141 [email protected] "\n "
142 [email protected] "\n " 142 [email protected]
143 [email protected] 143 [email protected]
144 [email protected] 144 [email protected]
145 [email protected] 145 [email protected] "1"
146 [email protected] "1" 146 [email protected] " "
147 [email protected] " " 147 [email protected] "=="
148 [email protected] "==" 148 [email protected] " "
149 [email protected] " " 149 [email protected]
150 [email protected] 150 [email protected]
151 [email protected] 151 [email protected] "2"
152 [email protected] "2" 152 [email protected] " "
153 [email protected] " " 153 [email protected] "|"
154 [email protected] "|" 154 [email protected] " "
155 [email protected] " " 155 [email protected]
156 [email protected] 156 [email protected] "3"
157 [email protected] "3" 157 [email protected] ";"
158 [email protected] ";" 158 [email protected] "\n "
159 [email protected] "\n " 159 [email protected]
160 [email protected] 160 [email protected]
161 [email protected] 161 [email protected]
162 [email protected] 162 [email protected] "1"
163 [email protected] "1" 163 [email protected] " "
164 [email protected] " " 164 [email protected] "&&"
165 [email protected] "&&" 165 [email protected] " "
166 [email protected] " " 166 [email protected]
167 [email protected] 167 [email protected]
168 [email protected] 168 [email protected] "2"
169 [email protected] "2" 169 [email protected] " "
170 [email protected] " " 170 [email protected] "=="
171 [email protected] "==" 171 [email protected] " "
172 [email protected] " " 172 [email protected]
173 [email protected] 173 [email protected] "3"
174 [email protected] "3" 174 [email protected] ";"
175 [email protected] ";" 175 [email protected] "\n "
176 [email protected] "\n " 176 [email protected] "//1 || 2 && 2;"
177 [email protected] "//1 || 2 && 2;" 177 [email protected] "\n "
178 [email protected] "\n " 178 [email protected] "//1 .. 2 || 3;"
179 [email protected] "//1 .. 2 || 3;" 179 [email protected] "\n "
180 [email protected] "\n " 180 [email protected] "//1 = 2 .. 3;"
181 [email protected] "//1 = 2 .. 3;" 181 [email protected] "\n "
182 [email protected] "\n " 182 [email protected] "//---&*1 - --2 * 9;"
183 [email protected] "//---&*1 - --2 * 9;" 183 [email protected] "\n"
184 [email protected] "\n" 184 [email protected] "}"
185 [email protected] "}"
186 [email protected] "\n" 185 [email protected] "\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 8177bd89b..dc47d68a6 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
@@ -9,144 +9,143 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] ".."
17 [email protected] ".." 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "1"
20 [email protected] "1" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "+"
22 [email protected] "+" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "1"
25 [email protected] "1" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] "\n "
27 [email protected] "\n " 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected]
30 [email protected] 30 [email protected] ".."
31 [email protected] ".." 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "z"
36 [email protected] "z" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "="
38 [email protected] "=" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected] "2"
41 [email protected] "2" 41 [email protected] ";"
42 [email protected] ";" 42 [email protected] "\n "
43 [email protected] "\n " 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "x"
50 [email protected] "x" 50 [email protected] " "
51 [email protected] " " 51 [email protected] "="
52 [email protected] "=" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected] "false"
56 [email protected] "false" 56 [email protected] ".."
57 [email protected] ".." 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "1"
60 [email protected] "1" 60 [email protected] " "
61 [email protected] " " 61 [email protected] "=="
62 [email protected] "==" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "1"
65 [email protected] "1" 65 [email protected] ";"
66 [email protected] ";" 66 [email protected] "\n "
67 [email protected] "\n " 67 [email protected]
68 [email protected] 68 [email protected] "let"
69 [email protected] "let" 69 [email protected] " "
70 [email protected] " " 70 [email protected]
71 [email protected] 71 [email protected]
72 [email protected] 72 [email protected] "x"
73 [email protected] "x" 73 [email protected] " "
74 [email protected] " " 74 [email protected] "="
75 [email protected] "=" 75 [email protected] " "
76 [email protected] " " 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected] "1"
79 [email protected] "1" 79 [email protected] ".."
80 [email protected] ".." 80 [email protected] ";"
81 [email protected] ";" 81 [email protected] "\n \n "
82 [email protected] "\n \n " 82 [email protected]
83 [email protected] 83 [email protected]
84 [email protected] 84 [email protected] "..="
85 [email protected] "..=" 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected] "1"
88 [email protected] "1" 88 [email protected] " "
89 [email protected] " " 89 [email protected] "+"
90 [email protected] "+" 90 [email protected] " "
91 [email protected] " " 91 [email protected]
92 [email protected] 92 [email protected] "1"
93 [email protected] "1" 93 [email protected] ";"
94 [email protected] ";" 94 [email protected] "\n "
95 [email protected] "\n " 95 [email protected]
96 [email protected] 96 [email protected]
97 [email protected] 97 [email protected]
98 [email protected] 98 [email protected] "..="
99 [email protected] "..=" 99 [email protected]
100 [email protected] 100 [email protected]
101 [email protected] 101 [email protected]
102 [email protected] 102 [email protected]
103 [email protected] 103 [email protected] "z"
104 [email protected] "z" 104 [email protected] " "
105 [email protected] " " 105 [email protected] "="
106 [email protected] "=" 106 [email protected] " "
107 [email protected] " " 107 [email protected]
108 [email protected] 108 [email protected] "2"
109 [email protected] "2" 109 [email protected] ";"
110 [email protected] ";" 110 [email protected] "\n "
111 [email protected] "\n " 111 [email protected]
112 [email protected] 112 [email protected]
113 [email protected] 113 [email protected]
114 [email protected] 114 [email protected]
115 [email protected] 115 [email protected]
116 [email protected] 116 [email protected]
117 [email protected] 117 [email protected] "x"
118 [email protected] "x" 118 [email protected] " "
119 [email protected] " " 119 [email protected] "="
120 [email protected] "=" 120 [email protected] " "
121 [email protected] " " 121 [email protected]
122 [email protected] 122 [email protected]
123 [email protected] 123 [email protected] "false"
124 [email protected] "false" 124 [email protected] "..="
125 [email protected] "..=" 125 [email protected]
126 [email protected] 126 [email protected]
127 [email protected] 127 [email protected] "1"
128 [email protected] "1" 128 [email protected] " "
129 [email protected] " " 129 [email protected] "=="
130 [email protected] "==" 130 [email protected] " "
131 [email protected] " " 131 [email protected]
132 [email protected] 132 [email protected] "1"
133 [email protected] "1" 133 [email protected] ";"
134 [email protected] ";" 134 [email protected] "\n "
135 [email protected] "\n " 135 [email protected]
136 [email protected] 136 [email protected] "let"
137 [email protected] "let" 137 [email protected] " "
138 [email protected] " " 138 [email protected]
139 [email protected] 139 [email protected]
140 [email protected] 140 [email protected] "x"
141 [email protected] "x" 141 [email protected] " "
142 [email protected] " " 142 [email protected] "="
143 [email protected] "=" 143 [email protected] " "
144 [email protected] " " 144 [email protected]
145 [email protected] 145 [email protected]
146 [email protected] 146 [email protected] "1"
147 [email protected] "1" 147 [email protected] ".."
148 [email protected] ".." 148 [email protected] ";"
149 [email protected] ";" 149 [email protected] "\n"
150 [email protected] "\n" 150 [email protected] "}"
151 [email protected] "}"
152 [email protected] "\n" 151 [email protected] "\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 953930f6c..86c3b46c4 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
@@ -9,56 +9,55 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] "_"
19 [email protected] "_" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "="
21 [email protected] "=" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "\'c\'u32"
24 [email protected] "\'c\'u32" 24 [email protected] ";"
25 [email protected] ";" 25 [email protected] "\n "
26 [email protected] "\n " 26 [email protected]
27 [email protected] 27 [email protected] "let"
28 [email protected] "let" 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] "_"
31 [email protected] "_" 31 [email protected] " "
32 [email protected] " " 32 [email protected] "="
33 [email protected] "=" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "\"string\"invalid"
36 [email protected] "\"string\"invalid" 36 [email protected] ";"
37 [email protected] ";" 37 [email protected] "\n "
38 [email protected] "\n " 38 [email protected]
39 [email protected] 39 [email protected] "let"
40 [email protected] "let" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "_"
43 [email protected] "_" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "="
45 [email protected] "=" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected] "b\'b\'_suff"
48 [email protected] "b\'b\'_suff" 48 [email protected] ";"
49 [email protected] ";" 49 [email protected] "\n "
50 [email protected] "\n " 50 [email protected]
51 [email protected] 51 [email protected] "let"
52 [email protected] "let" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected] "_"
55 [email protected] "_" 55 [email protected] " "
56 [email protected] " " 56 [email protected] "="
57 [email protected] "=" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected] "b\"bs\"invalid"
60 [email protected] "b\"bs\"invalid" 60 [email protected] ";"
61 [email protected] ";" 61 [email protected] "\n"
62 [email protected] "\n" 62 [email protected] "}"
63 [email protected] "}"
64 [email protected] "\n" 63 [email protected] "\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 68eb16bbd..8d76c4e0b 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
@@ -85,7 +85,6 @@ [email protected]
85 [email protected] "," 85 [email protected] ","
86 [email protected] "\n" 86 [email protected] "\n"
87 [email protected] 87 [email protected]
88 [email protected] 88 [email protected] "{"
89 [email protected] "{" 89 [email protected] "}"
90 [email protected] "}"
91 [email protected] "\n" 90 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast b/crates/ra_syntax/test_data/parser/ok/0033_label_break.rast
index 3977faa60..13b730ded 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
@@ -11,210 +11,205 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "\n "
16 [email protected] "\n " 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "\'empty_block"
20 [email protected] "\'empty_block" 20 [email protected] ":"
21 [email protected] ":" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "}"
25 [email protected] "}" 25 [email protected] "\n\n "
26 [email protected] "\n\n " 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected]
29 [email protected] 29 [email protected] "\'block"
30 [email protected] "\'block" 30 [email protected] ":"
31 [email protected] ":" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected] "{"
34 [email protected] "{" 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "do_thing"
42 [email protected] "do_thing" 42 [email protected]
43 [email protected] 43 [email protected] "("
44 [email protected] "(" 44 [email protected] ")"
45 [email protected] ")" 45 [email protected] ";"
46 [email protected] ";" 46 [email protected] "\n "
47 [email protected] "\n " 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "if"
50 [email protected] "if" 50 [email protected] " "
51 [email protected] " " 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected] "condition_not_met"
58 [email protected] "condition_not_met" 58 [email protected]
59 [email protected] 59 [email protected] "("
60 [email protected] "(" 60 [email protected] ")"
61 [email protected] ")" 61 [email protected] " "
62 [email protected] " " 62 [email protected]
63 [email protected] 63 [email protected] "{"
64 [email protected] 64 [email protected] "\n "
65 [email protected] "{" 65 [email protected]
66 [email protected] "\n " 66 [email protected]
67 [email protected] 67 [email protected] "break"
68 [email protected] 68 [email protected] " "
69 [email protected] "break" 69 [email protected] "\'block"
70 [email protected] " " 70 [email protected] ";"
71 [email protected] "\'block" 71 [email protected] "\n "
72 [email protected] ";" 72 [email protected] "}"
73 [email protected] "\n " 73 [email protected] "\n "
74 [email protected] "}" 74 [email protected]
75 [email protected] "\n " 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected] "do_next_thing"
81 [email protected] 81 [email protected]
82 [email protected] "do_next_thing" 82 [email protected] "("
83 [email protected] 83 [email protected] ")"
84 [email protected] "(" 84 [email protected] ";"
85 [email protected] ")" 85 [email protected] "\n "
86 [email protected] ";" 86 [email protected]
87 [email protected] "\n " 87 [email protected]
88 [email protected] 88 [email protected] "if"
89 [email protected] 89 [email protected] " "
90 [email protected] "if" 90 [email protected]
91 [email protected] " " 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected]
94 [email protected] 94 [email protected]
95 [email protected] 95 [email protected]
96 [email protected] 96 [email protected] "condition_not_met"
97 [email protected] 97 [email protected]
98 [email protected] "condition_not_met" 98 [email protected] "("
99 [email protected] 99 [email protected] ")"
100 [email protected] "(" 100 [email protected] " "
101 [email protected] ")" 101 [email protected]
102 [email protected] " " 102 [email protected] "{"
103 [email protected] 103 [email protected] "\n "
104 [email protected] 104 [email protected]
105 [email protected] "{" 105 [email protected]
106 [email protected] "\n " 106 [email protected] "break"
107 [email protected] 107 [email protected] " "
108 [email protected] 108 [email protected] "\'block"
109 [email protected] "break" 109 [email protected] ";"
110 [email protected] " " 110 [email protected] "\n "
111 [email protected] "\'block" 111 [email protected] "}"
112 [email protected] ";" 112 [email protected] "\n "
113 [email protected] "\n " 113 [email protected]
114 [email protected] "}" 114 [email protected]
115 [email protected] "\n " 115 [email protected]
116 [email protected] 116 [email protected]
117 [email protected] 117 [email protected]
118 [email protected] 118 [email protected]
119 [email protected] 119 [email protected] "do_last_thing"
120 [email protected] 120 [email protected]
121 [email protected] 121 [email protected] "("
122 [email protected] "do_last_thing" 122 [email protected] ")"
123 [email protected] 123 [email protected] ";"
124 [email protected] "(" 124 [email protected] "\n "
125 [email protected] ")" 125 [email protected] "}"
126 [email protected] ";" 126 [email protected] "\n\n "
127 [email protected] "\n " 127 [email protected]
128 [email protected] "}" 128 [email protected] "let"
129 [email protected] "\n\n " 129 [email protected] " "
130 [email protected] 130 [email protected]
131 [email protected] "let" 131 [email protected]
132 [email protected] " " 132 [email protected] "result"
133 [email protected] 133 [email protected] " "
134 [email protected] 134 [email protected] "="
135 [email protected] "result" 135 [email protected] " "
136 [email protected] " " 136 [email protected]
137 [email protected] "=" 137 [email protected]
138 [email protected] " " 138 [email protected] "\'block"
139 [email protected] 139 [email protected] ":"
140 [email protected] 140 [email protected] " "
141 [email protected] "\'block" 141 [email protected]
142 [email protected] ":" 142 [email protected] "{"
143 [email protected] " " 143 [email protected] "\n "
144 [email protected] 144 [email protected]
145 [email protected] "{" 145 [email protected]
146 [email protected] "\n " 146 [email protected] "if"
147 [email protected] 147 [email protected] " "
148 [email protected] 148 [email protected]
149 [email protected] "if" 149 [email protected]
150 [email protected] " " 150 [email protected]
151 [email protected] 151 [email protected]
152 [email protected] 152 [email protected]
153 [email protected] 153 [email protected]
154 [email protected] 154 [email protected] "foo"
155 [email protected] 155 [email protected]
156 [email protected] 156 [email protected] "("
157 [email protected] "foo" 157 [email protected] ")"
158 [email protected] 158 [email protected] " "
159 [email protected] "(" 159 [email protected]
160 [email protected] ")" 160 [email protected] "{"
161 [email protected] " " 161 [email protected] "\n "
162 [email protected] 162 [email protected] "// comment"
163 [email protected] 163 [email protected] "\n "
164 [email protected] "{" 164 [email protected]
165 [email protected] "\n " 165 [email protected]
166 [email protected] "// comment" 166 [email protected] "break"
167 [email protected] "\n " 167 [email protected] " "
168 [email protected] 168 [email protected] "\'block"
169 [email protected] 169 [email protected] " "
170 [email protected] "break" 170 [email protected]
171 [email protected] " " 171 [email protected] "1"
172 [email protected] "\'block" 172 [email protected] ";"
173 [email protected] " " 173 [email protected] "\n "
174 [email protected] 174 [email protected] "}"
175 [email protected] "1" 175 [email protected] "\n "
176 [email protected] ";" 176 [email protected]
177 [email protected] "\n " 177 [email protected]
178 [email protected] "}" 178 [email protected] "if"
179 [email protected] "\n " 179 [email protected] " "
180 [email protected] 180 [email protected]
181 [email protected] 181 [email protected]
182 [email protected] "if" 182 [email protected]
183 [email protected] " " 183 [email protected]
184 [email protected] 184 [email protected]
185 [email protected] 185 [email protected]
186 [email protected] 186 [email protected] "bar"
187 [email protected] 187 [email protected]
188 [email protected] 188 [email protected] "("
189 [email protected] 189 [email protected] ")"
190 [email protected] "bar" 190 [email protected] " "
191 [email protected] 191 [email protected]
192 [email protected] "(" 192 [email protected] "{"
193 [email protected] ")" 193 [email protected] "\n "
194 [email protected] " " 194 [email protected] "/* comment */"
195 [email protected] 195 [email protected] "\n "
196 [email protected] 196 [email protected]
197 [email protected] "{" 197 [email protected]
198 [email protected] "\n " 198 [email protected] "break"
199 [email protected] "/* comment */" 199 [email protected] " "
200 [email protected] "\n " 200 [email protected] "\'block"
201 [email protected] 201 [email protected] " "
202 [email protected] 202 [email protected]
203 [email protected] "break" 203 [email protected] "2"
204 [email protected] " " 204 [email protected] ";"
205 [email protected] "\'block" 205 [email protected] "\n "
206 [email protected] " " 206 [email protected] "}"
207 [email protected] 207 [email protected] "\n "
208 [email protected] "2" 208 [email protected]
209 [email protected] ";" 209 [email protected] "3"
210 [email protected] "\n " 210 [email protected] "\n "
211 [email protected] "}" 211 [email protected] "}"
212 [email protected] "\n " 212 [email protected] ";"
213 [email protected] 213 [email protected] "\n"
214 [email protected] "3" 214 [email protected] "}"
215 [email protected] "\n "
216 [email protected] "}"
217 [email protected] ";"
218 [email protected] "\n"
219 [email protected] "}"
220 [email protected] "\n" 215 [email protected] "\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 3b9e8c71c..21874ae3a 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
@@ -9,34 +9,33 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "make_query"
21 [email protected] "make_query" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected]
27 [email protected] 27 [email protected]
28 [email protected] 28 [email protected] "crate"
29 [email protected] "crate" 29 [email protected] "::"
30 [email protected] "::" 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "module_map"
33 [email protected] "module_map" 33 [email protected] "::"
34 [email protected] "::" 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "module_tree"
37 [email protected] "module_tree" 37 [email protected] ")"
38 [email protected] ")" 38 [email protected] ";"
39 [email protected] ";" 39 [email protected] "\n"
40 [email protected] "\n" 40 [email protected] "}"
41 [email protected] "}"
42 [email protected] "\n" 41 [email protected] "\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 9af689635..eb59d6e17 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
@@ -139,33 +139,32 @@ [email protected]
139 [email protected] "bool" 139 [email protected] "bool"
140 [email protected] " " 140 [email protected] " "
141 [email protected] 141 [email protected]
142 [email protected] 142 [email protected] "{"
143 [email protected] "{" 143 [email protected] " "
144 [email protected] " " 144 [email protected]
145 [email protected] 145 [email protected] "let"
146 [email protected] "let" 146 [email protected] " "
147 [email protected] " " 147 [email protected]
148 [email protected] 148 [email protected]
149 [email protected] 149 [email protected] "_x"
150 [email protected] "_x" 150 [email protected] ":"
151 [email protected] ":" 151 [email protected] " "
152 [email protected] " " 152 [email protected]
153 [email protected] 153 [email protected]
154 [email protected] 154 [email protected]
155 [email protected] 155 [email protected]
156 [email protected] 156 [email protected] "bool"
157 [email protected] "bool" 157 [email protected] " "
158 [email protected] " " 158 [email protected] "="
159 [email protected] "=" 159 [email protected] " "
160 [email protected] " " 160 [email protected]
161 [email protected] 161 [email protected] "return"
162 [email protected] "return" 162 [email protected] " "
163 [email protected] " " 163 [email protected]
164 [email protected] 164 [email protected] "true"
165 [email protected] "true" 165 [email protected] ";"
166 [email protected] ";" 166 [email protected] " "
167 [email protected] " " 167 [email protected] "}"
168 [email protected] "}"
169 [email protected] "\n\n" 168 [email protected] "\n\n"
170 [email protected] 169 [email protected]
171 [email protected] "fn" 170 [email protected] "fn"
@@ -177,48 +176,46 @@ [email protected]
177 [email protected] ")" 176 [email protected] ")"
178 [email protected] " " 177 [email protected] " "
179 [email protected] 178 [email protected]
180 [email protected] 179 [email protected] "{"
181 [email protected] "{" 180 [email protected] "\n "
182 [email protected] "\n " 181 [email protected]
183 [email protected] 182 [email protected] "fn"
184 [email protected] "fn" 183 [email protected] " "
185 [email protected] " " 184 [email protected]
186 [email protected] 185 [email protected] "f"
187 [email protected] "f" 186 [email protected]
188 [email protected] 187 [email protected] "("
189 [email protected] "(" 188 [email protected]
190 [email protected] 189 [email protected]
191 [email protected] 190 [email protected]
192 [email protected] 191 [email protected] "_x"
193 [email protected] "_x" 192 [email protected] ":"
194 [email protected] ":" 193 [email protected] " "
195 [email protected] " " 194 [email protected]
196 [email protected] 195 [email protected] "("
197 [email protected] "(" 196 [email protected] ")"
198 [email protected] ")" 197 [email protected] ")"
199 [email protected] ")" 198 [email protected] " "
200 [email protected] " " 199 [email protected]
201 [email protected] 200 [email protected] "{"
202 [email protected] 201 [email protected] " "
203 [email protected] "{" 202 [email protected] "}"
204 [email protected] " " 203 [email protected] "\n "
205 [email protected] "}" 204 [email protected]
206 [email protected] "\n " 205 [email protected]
207 [email protected] 206 [email protected]
208 [email protected] 207 [email protected]
209 [email protected] 208 [email protected]
210 [email protected] 209 [email protected]
211 [email protected] 210 [email protected] "f"
212 [email protected] 211 [email protected]
213 [email protected] "f" 212 [email protected] "("
214 [email protected] 213 [email protected]
215 [email protected] "(" 214 [email protected] "return"
216 [email protected] 215 [email protected] ")"
217 [email protected] "return" 216 [email protected] ";"
218 [email protected] ")" 217 [email protected] "\n"
219 [email protected] ";" 218 [email protected] "}"
220 [email protected] "\n"
221 [email protected] "}"
222 [email protected] "\n\n" 219 [email protected] "\n\n"
223 [email protected] 220 [email protected]
224 [email protected] "fn" 221 [email protected] "fn"
@@ -230,189 +227,185 @@ [email protected]
230 [email protected] ")" 227 [email protected] ")"
231 [email protected] " " 228 [email protected] " "
232 [email protected] 229 [email protected]
233 [email protected] 230 [email protected] "{"
234 [email protected] "{" 231 [email protected] "\n "
235 [email protected] "\n " 232 [email protected]
236 [email protected] 233 [email protected] "fn"
237 [email protected] "fn" 234 [email protected] " "
238 [email protected] " " 235 [email protected]
239 [email protected] 236 [email protected] "the"
240 [email protected] "the" 237 [email protected]
241 [email protected] 238 [email protected] "("
242 [email protected] "(" 239 [email protected]
243 [email protected] 240 [email protected]
244 [email protected] 241 [email protected]
245 [email protected] 242 [email protected] "x"
246 [email protected] "x" 243 [email protected] ":"
247 [email protected] ":" 244 [email protected] " "
248 [email protected] " " 245 [email protected]
249 [email protected] 246 [email protected] "&"
250 [email protected] "&" 247 [email protected]
251 [email protected] 248 [email protected]
252 [email protected] 249 [email protected]
253 [email protected] 250 [email protected]
254 [email protected] 251 [email protected] "Cell"
255 [email protected] "Cell" 252 [email protected]
256 [email protected] 253 [email protected] "<"
257 [email protected] "<" 254 [email protected]
258 [email protected] 255 [email protected]
259 [email protected] 256 [email protected]
260 [email protected] 257 [email protected]
261 [email protected] 258 [email protected]
262 [email protected] 259 [email protected] "bool"
263 [email protected] "bool" 260 [email protected] ">"
264 [email protected] ">" 261 [email protected] ")"
265 [email protected] ")" 262 [email protected] " "
266 [email protected] " " 263 [email protected]
267 [email protected] 264 [email protected] "{"
268 [email protected] 265 [email protected] "\n "
269 [email protected] "{" 266 [email protected]
270 [email protected] "\n " 267 [email protected]
271 [email protected] 268 [email protected] "return"
272 [email protected] 269 [email protected] " "
273 [email protected] "return" 270 [email protected]
274 [email protected] " " 271 [email protected] "while"
275 [email protected] 272 [email protected] " "
276 [email protected] "while" 273 [email protected]
277 [email protected] " " 274 [email protected]
278 [email protected] 275 [email protected] "!"
279 [email protected] 276 [email protected]
280 [email protected] "!" 277 [email protected]
281 [email protected] 278 [email protected]
282 [email protected] 279 [email protected]
283 [email protected] 280 [email protected]
284 [email protected] 281 [email protected] "x"
285 [email protected] 282 [email protected] "."
286 [email protected] "x" 283 [email protected]
287 [email protected] "." 284 [email protected] "get"
288 [email protected] 285 [email protected]
289 [email protected] "get" 286 [email protected] "("
290 [email protected] 287 [email protected] ")"
291 [email protected] "(" 288 [email protected] " "
292 [email protected] ")" 289 [email protected]
293 [email protected] " " 290 [email protected] "{"
294 [email protected] 291 [email protected] " "
295 [email protected] 292 [email protected]
296 [email protected] "{" 293 [email protected]
297 [email protected] " " 294 [email protected]
298 [email protected] 295 [email protected]
299 [email protected] 296 [email protected]
300 [email protected] 297 [email protected]
301 [email protected] 298 [email protected] "x"
302 [email protected] 299 [email protected] "."
303 [email protected] 300 [email protected]
304 [email protected] "x" 301 [email protected] "set"
305 [email protected] "." 302 [email protected]
306 [email protected] 303 [email protected] "("
307 [email protected] "set" 304 [email protected]
308 [email protected] 305 [email protected] "true"
309 [email protected] "(" 306 [email protected] ")"
310 [email protected] 307 [email protected] ";"
311 [email protected] "true" 308 [email protected] " "
312 [email protected] ")" 309 [email protected] "}"
313 [email protected] ";" 310 [email protected] ";"
314 [email protected] " " 311 [email protected] "\n "
315 [email protected] "}" 312 [email protected] "}"
316 [email protected] ";" 313 [email protected] "\n "
317 [email protected] "\n " 314 [email protected]
318 [email protected] "}" 315 [email protected] "let"
319 [email protected] "\n " 316 [email protected] " "
320 [email protected] 317 [email protected]
321 [email protected] "let" 318 [email protected]
322 [email protected] " " 319 [email protected] "i"
323 [email protected] 320 [email protected] " "
324 [email protected] 321 [email protected] "="
325 [email protected] "i" 322 [email protected] " "
326 [email protected] " " 323 [email protected]
327 [email protected] "=" 324 [email protected] "&"
328 [email protected] " " 325 [email protected]
329 [email protected] 326 [email protected]
330 [email protected] "&" 327 [email protected]
331 [email protected] 328 [email protected]
332 [email protected] 329 [email protected]
333 [email protected] 330 [email protected]
334 [email protected] 331 [email protected] "Cell"
335 [email protected] 332 [email protected] "::"
336 [email protected] 333 [email protected]
337 [email protected] "Cell" 334 [email protected]
338 [email protected] "::" 335 [email protected] "new"
339 [email protected] 336 [email protected]
340 [email protected] 337 [email protected] "("
341 [email protected] "new" 338 [email protected]
342 [email protected] 339 [email protected] "false"
343 [email protected] "(" 340 [email protected] ")"
344 [email protected] 341 [email protected] ";"
345 [email protected] "false" 342 [email protected] "\n "
346 [email protected] ")" 343 [email protected]
347 [email protected] ";" 344 [email protected] "let"
348 [email protected] "\n " 345 [email protected] " "
349 [email protected] 346 [email protected]
350 [email protected] "let" 347 [email protected]
351 [email protected] " " 348 [email protected] "dont"
352 [email protected] 349 [email protected] " "
353 [email protected] 350 [email protected] "="
354 [email protected] "dont" 351 [email protected] " "
355 [email protected] " " 352 [email protected]
356 [email protected] "=" 353 [email protected] "{"
357 [email protected] " " 354 [email protected]
358 [email protected] 355 [email protected]
359 [email protected] 356 [email protected] "|"
360 [email protected] "{" 357 [email protected] "|"
361 [email protected] 358 [email protected]
362 [email protected] 359 [email protected]
363 [email protected] "|" 360 [email protected]
364 [email protected] "|" 361 [email protected]
365 [email protected] 362 [email protected]
366 [email protected] 363 [email protected] "the"
367 [email protected] 364 [email protected]
368 [email protected] 365 [email protected] "("
369 [email protected] 366 [email protected]
370 [email protected] "the" 367 [email protected]
371 [email protected] 368 [email protected]
372 [email protected] "(" 369 [email protected]
373 [email protected] 370 [email protected] "i"
374 [email protected] 371 [email protected] ")"
375 [email protected] 372 [email protected] "}"
376 [email protected] 373 [email protected] ";"
377 [email protected] "i" 374 [email protected] "\n "
378 [email protected] ")" 375 [email protected]
379 [email protected] "}" 376 [email protected]
380 [email protected] ";" 377 [email protected]
381 [email protected] "\n " 378 [email protected]
382 [email protected] 379 [email protected]
383 [email protected] 380 [email protected]
384 [email protected] 381 [email protected] "dont"
385 [email protected] 382 [email protected]
386 [email protected] 383 [email protected] "("
387 [email protected] 384 [email protected] ")"
388 [email protected] "dont" 385 [email protected] ";"
389 [email protected] 386 [email protected] "\n "
390 [email protected] "(" 387 [email protected]
391 [email protected] ")" 388 [email protected]
392 [email protected] ";" 389 [email protected]
393 [email protected] "\n " 390 [email protected]
394 [email protected] 391 [email protected]
395 [email protected] 392 [email protected] "assert"
396 [email protected] 393 [email protected] "!"
397 [email protected] 394 [email protected]
398 [email protected] 395 [email protected] "("
399 [email protected] "assert" 396 [email protected]
400 [email protected] "!" 397 [email protected] "("
401 [email protected] 398 [email protected] "i"
402 [email protected] "(" 399 [email protected] "."
403 [email protected] 400 [email protected] "get"
404 [email protected] "(" 401 [email protected]
405 [email protected] "i" 402 [email protected] "("
406 [email protected] "." 403 [email protected] ")"
407 [email protected] "get" 404 [email protected] ")"
408 [email protected] 405 [email protected] ")"
409 [email protected] "(" 406 [email protected] ";"
410 [email protected] ")" 407 [email protected] "\n"
411 [email protected] ")" 408 [email protected] "}"
412 [email protected] ")"
413 [email protected] ";"
414 [email protected] "\n"
415 [email protected] "}"
416 [email protected] "\n\n" 409 [email protected] "\n\n"
417 [email protected] 410 [email protected]
418 [email protected] "fn" 411 [email protected] "fn"
@@ -424,170 +417,160 @@ [email protected]
424 [email protected] ")" 417 [email protected] ")"
425 [email protected] " " 418 [email protected] " "
426 [email protected] 419 [email protected]
427 [email protected] 420 [email protected] "{"
428 [email protected] "{" 421 [email protected] "\n "
429 [email protected] "\n " 422 [email protected]
430 [email protected] 423 [email protected] "loop"
431 [email protected] "loop" 424 [email protected] " "
432 [email protected] " " 425 [email protected]
433 [email protected] 426 [email protected] "{"
434 [email protected] 427 [email protected] "\n "
435 [email protected] "{" 428 [email protected]
436 [email protected] "\n " 429 [email protected]
437 [email protected] 430 [email protected] "while"
438 [email protected] 431 [email protected] " "
439 [email protected] "while" 432 [email protected]
440 [email protected] " " 433 [email protected]
441 [email protected] 434 [email protected] "("
442 [email protected] 435 [email protected]
443 [email protected] "(" 436 [email protected] "return"
444 [email protected] 437 [email protected] ")"
445 [email protected] "return" 438 [email protected] " "
446 [email protected] ")" 439 [email protected]
447 [email protected] " " 440 [email protected] "{"
448 [email protected] 441 [email protected] "\n "
449 [email protected] 442 [email protected]
450 [email protected] "{" 443 [email protected] "if"
451 [email protected] "\n " 444 [email protected] " "
452 [email protected] 445 [email protected]
453 [email protected] "if" 446 [email protected]
454 [email protected] " " 447 [email protected] "("
455 [email protected] 448 [email protected]
456 [email protected] 449 [email protected] "return"
457 [email protected] "(" 450 [email protected] ")"
458 [email protected] 451 [email protected] " "
459 [email protected] "return" 452 [email protected]
460 [email protected] ")" 453 [email protected] "{"
461 [email protected] " " 454 [email protected] "\n "
462 [email protected] 455 [email protected]
463 [email protected] 456 [email protected]
464 [email protected] "{" 457 [email protected] "match"
465 [email protected] "\n " 458 [email protected] " "
466 [email protected] 459 [email protected]
467 [email protected] 460 [email protected] "("
468 [email protected] "match" 461 [email protected]
469 [email protected] " " 462 [email protected] "return"
470 [email protected] 463 [email protected] ")"
471 [email protected] "(" 464 [email protected] " "
472 [email protected] 465 [email protected]
473 [email protected] "return" 466 [email protected] "{"
474 [email protected] ")" 467 [email protected] "\n "
475 [email protected] " " 468 [email protected]
476 [email protected] 469 [email protected]
477 [email protected] "{" 470 [email protected]
478 [email protected] "\n " 471 [email protected] "1"
479 [email protected] 472 [email protected] " "
480 [email protected] 473 [email protected] "=>"
481 [email protected] 474 [email protected] " "
482 [email protected] "1" 475 [email protected]
483 [email protected] " " 476 [email protected] "{"
484 [email protected] "=>" 477 [email protected] "\n ..."
485 [email protected] " " 478 [email protected]
486 [email protected] 479 [email protected] "if"
487 [email protected] 480 [email protected] " "
488 [email protected] "{" 481 [email protected]
489 [email protected] "\n ..." 482 [email protected]
490 [email protected] 483 [email protected] "("
491 [email protected] "if" 484 [email protected]
492 [email protected] " " 485 [email protected] "return"
493 [email protected] 486 [email protected] ")"
494 [email protected] 487 [email protected] " "
495 [email protected] "(" 488 [email protected]
496 [email protected] 489 [email protected] "{"
497 [email protected] "return" 490 [email protected] "\n ..."
498 [email protected] ")" 491 [email protected]
499 [email protected] " " 492 [email protected] "return"
500 [email protected] 493 [email protected] "\n ..."
501 [email protected] 494 [email protected] "}"
502 [email protected] "{" 495 [email protected] " "
503 [email protected] "\n ..." 496 [email protected] "else"
504 [email protected] 497 [email protected] " "
505 [email protected] "return" 498 [email protected]
506 [email protected] "\n ..." 499 [email protected] "{"
507 [email protected] "}" 500 [email protected] "\n ..."
508 [email protected] " " 501 [email protected]
509 [email protected] "else" 502 [email protected] "return"
510 [email protected] " " 503 [email protected] "\n ..."
511 [email protected] 504 [email protected] "}"
512 [email protected] 505 [email protected] "\n "
513 [email protected] "{" 506 [email protected] "}"
514 [email protected] "\n ..." 507 [email protected] "\n "
515 [email protected] 508 [email protected]
516 [email protected] "return" 509 [email protected]
517 [email protected] "\n ..." 510 [email protected] "_"
518 [email protected] "}" 511 [email protected] " "
519 [email protected] "\n " 512 [email protected] "=>"
520 [email protected] "}" 513 [email protected] " "
521 [email protected] "\n " 514 [email protected]
522 [email protected] 515 [email protected] "{"
523 [email protected] 516 [email protected] " "
524 [email protected] "_" 517 [email protected]
525 [email protected] " " 518 [email protected] "return"
526 [email protected] "=>" 519 [email protected] " "
527 [email protected] " " 520 [email protected] "}"
528 [email protected] 521 [email protected] "\n "
529 [email protected] 522 [email protected] "}"
530 [email protected] "{" 523 [email protected] ";"
531 [email protected] " " 524 [email protected] "\n "
532 [email protected] 525 [email protected] "}"
533 [email protected] "return" 526 [email protected] " "
534 [email protected] " " 527 [email protected] "else"
535 [email protected] "}" 528 [email protected] " "
536 [email protected] "\n " 529 [email protected]
537 [email protected] "}" 530 [email protected] "if"
538 [email protected] ";" 531 [email protected] " "
539 [email protected] "\n " 532 [email protected]
540 [email protected] "}" 533 [email protected]
541 [email protected] " " 534 [email protected] "("
542 [email protected] "else" 535 [email protected]
543 [email protected] " " 536 [email protected] "return"
544 [email protected] 537 [email protected] ")"
545 [email protected] "if" 538 [email protected] " "
546 [email protected] " " 539 [email protected]
547 [email protected] 540 [email protected] "{"
548 [email protected] 541 [email protected] "\n "
549 [email protected] "(" 542 [email protected]
550 [email protected] 543 [email protected]
551 [email protected] "return" 544 [email protected] "return"
552 [email protected] ")" 545 [email protected] ";"
553 [email protected] " " 546 [email protected] "\n "
554 [email protected] 547 [email protected] "}"
555 [email protected] 548 [email protected] "\n "
556 [email protected] "{" 549 [email protected] "}"
557 [email protected] "\n " 550 [email protected] "\n "
558 [email protected] 551 [email protected]
559 [email protected] 552 [email protected] "if"
560 [email protected] "return" 553 [email protected] " "
561 [email protected] ";" 554 [email protected]
562 [email protected] "\n " 555 [email protected]
563 [email protected] "}" 556 [email protected] "("
564 [email protected] "\n " 557 [email protected]
565 [email protected] "}" 558 [email protected] "return"
566 [email protected] "\n " 559 [email protected] ")"
567 [email protected] 560 [email protected] " "
568 [email protected] "if" 561 [email protected]
569 [email protected] " " 562 [email protected] "{"
570 [email protected] 563 [email protected] " "
571 [email protected] 564 [email protected]
572 [email protected] "(" 565 [email protected]
573 [email protected] 566 [email protected] "break"
574 [email protected] "return" 567 [email protected] ";"
575 [email protected] ")" 568 [email protected] " "
576 [email protected] " " 569 [email protected] "}"
577 [email protected] 570 [email protected] "\n "
578 [email protected] 571 [email protected] "}"
579 [email protected] "{" 572 [email protected] "\n"
580 [email protected] " " 573 [email protected] "}"
581 [email protected]
582 [email protected]
583 [email protected] "break"
584 [email protected] ";"
585 [email protected] " "
586 [email protected] "}"
587 [email protected] "\n "
588 [email protected] "}"
589 [email protected] "\n"
590 [email protected] "}"
591 [email protected] "\n\n" 574 [email protected] "\n\n"
592 [email protected] 575 [email protected]
593 [email protected] "fn" 576 [email protected] "fn"
@@ -599,233 +582,232 @@ [email protected]
599 [email protected] ")" 582 [email protected] ")"
600 [email protected] " " 583 [email protected] " "
601 [email protected] 584 [email protected]
602 [email protected] 585 [email protected] "{"
603 [email protected] "{" 586 [email protected] "\n "
604 [email protected] "\n " 587 [email protected]
605 [email protected] 588 [email protected] "let"
606 [email protected] "let" 589 [email protected] " "
607 [email protected] " " 590 [email protected]
608 [email protected] 591 [email protected] "mut"
609 [email protected] "mut" 592 [email protected] " "
610 [email protected] " " 593 [email protected]
611 [email protected] 594 [email protected] "_x"
612 [email protected] "_x" 595 [email protected] ":"
613 [email protected] ":" 596 [email protected] " "
614 [email protected] " " 597 [email protected]
615 [email protected] 598 [email protected]
616 [email protected] 599 [email protected]
617 [email protected] 600 [email protected]
618 [email protected] 601 [email protected] "isize"
619 [email protected] "isize" 602 [email protected] ";"
620 [email protected] ";" 603 [email protected] "\n "
621 [email protected] "\n " 604 [email protected]
622 [email protected] 605 [email protected] "let"
623 [email protected] "let" 606 [email protected] " "
624 [email protected] " " 607 [email protected]
625 [email protected] 608 [email protected] "mut"
626 [email protected] "mut" 609 [email protected] " "
627 [email protected] " " 610 [email protected]
628 [email protected] 611 [email protected] "_y"
629 [email protected] "_y" 612 [email protected] " "
630 [email protected] " " 613 [email protected] "="
631 [email protected] "=" 614 [email protected] " "
632 [email protected] " " 615 [email protected]
633 [email protected] 616 [email protected]
634 [email protected] 617 [email protected] "("
635 [email protected] "(" 618 [email protected]
636 [email protected] 619 [email protected]
637 [email protected] 620 [email protected]
638 [email protected] 621 [email protected]
639 [email protected] 622 [email protected]
640 [email protected] 623 [email protected] "_x"
641 [email protected] "_x" 624 [email protected] " "
642 [email protected] " " 625 [email protected] "="
643 [email protected] "=" 626 [email protected] " "
644 [email protected] " " 627 [email protected]
645 [email protected] 628 [email protected] "0"
646 [email protected] "0" 629 [email protected] ")"
647 [email protected] ")" 630 [email protected] " "
648 [email protected] " " 631 [email protected] "=="
649 [email protected] "==" 632 [email protected] " "
650 [email protected] " " 633 [email protected]
651 [email protected] 634 [email protected] "("
652 [email protected] "(" 635 [email protected]
653 [email protected] 636 [email protected]
654 [email protected] 637 [email protected]
655 [email protected] 638 [email protected]
656 [email protected] 639 [email protected]
657 [email protected] 640 [email protected] "_x"
658 [email protected] "_x" 641 [email protected] " "
659 [email protected] " " 642 [email protected] "="
660 [email protected] "=" 643 [email protected] " "
661 [email protected] " " 644 [email protected]
662 [email protected] 645 [email protected] "0"
663 [email protected] "0" 646 [email protected] ")"
664 [email protected] ")" 647 [email protected] ";"
665 [email protected] ";" 648 [email protected] "\n "
666 [email protected] "\n " 649 [email protected]
667 [email protected] 650 [email protected] "let"
668 [email protected] "let" 651 [email protected] " "
669 [email protected] " " 652 [email protected]
670 [email protected] 653 [email protected] "mut"
671 [email protected] "mut" 654 [email protected] " "
672 [email protected] " " 655 [email protected]
673 [email protected] 656 [email protected] "_z"
674 [email protected] "_z" 657 [email protected] " "
675 [email protected] " " 658 [email protected] "="
676 [email protected] "=" 659 [email protected] " "
677 [email protected] " " 660 [email protected]
678 [email protected] 661 [email protected]
679 [email protected] 662 [email protected] "("
680 [email protected] "(" 663 [email protected]
681 [email protected] 664 [email protected]
682 [email protected] 665 [email protected]
683 [email protected] 666 [email protected]
684 [email protected] 667 [email protected]
685 [email protected] 668 [email protected] "_x"
686 [email protected] "_x" 669 [email protected] " "
687 [email protected] " " 670 [email protected] "="
688 [email protected] "=" 671 [email protected] " "
689 [email protected] " " 672 [email protected]
690 [email protected] 673 [email protected] "0"
691 [email protected] "0" 674 [email protected] ")"
692 [email protected] ")" 675 [email protected] " "
693 [email protected] " " 676 [email protected] "<"
694 [email protected] "<" 677 [email protected] " "
695 [email protected] " " 678 [email protected]
696 [email protected] 679 [email protected] "("
697 [email protected] "(" 680 [email protected]
698 [email protected] 681 [email protected]
699 [email protected] 682 [email protected]
700 [email protected] 683 [email protected]
701 [email protected] 684 [email protected]
702 [email protected] 685 [email protected] "_x"
703 [email protected] "_x" 686 [email protected] " "
704 [email protected] " " 687 [email protected] "="
705 [email protected] "=" 688 [email protected] " "
706 [email protected] " " 689 [email protected]
707 [email protected] 690 [email protected] "0"
708 [email protected] "0" 691 [email protected] ")"
709 [email protected] ")" 692 [email protected] ";"
710 [email protected] ";" 693 [email protected] "\n "
711 [email protected] "\n " 694 [email protected]
712 [email protected] 695 [email protected] "let"
713 [email protected] "let" 696 [email protected] " "
714 [email protected] " " 697 [email protected]
715 [email protected] 698 [email protected]
716 [email protected] 699 [email protected] "_a"
717 [email protected] "_a" 700 [email protected] " "
718 [email protected] " " 701 [email protected] "="
719 [email protected] "=" 702 [email protected] " "
720 [email protected] " " 703 [email protected]
721 [email protected] 704 [email protected]
722 [email protected] 705 [email protected] "("
723 [email protected] "(" 706 [email protected]
724 [email protected] 707 [email protected]
725 [email protected] 708 [email protected]
726 [email protected] 709 [email protected]
727 [email protected] 710 [email protected]
728 [email protected] 711 [email protected] "_x"
729 [email protected] "_x" 712 [email protected] " "
730 [email protected] " " 713 [email protected] "+="
731 [email protected] "+=" 714 [email protected] " "
732 [email protected] " " 715 [email protected]
733 [email protected] 716 [email protected] "0"
734 [email protected] "0" 717 [email protected] ")"
735 [email protected] ")" 718 [email protected] " "
736 [email protected] " " 719 [email protected] "=="
737 [email protected] "==" 720 [email protected] " "
738 [email protected] " " 721 [email protected]
739 [email protected] 722 [email protected] "("
740 [email protected] "(" 723 [email protected]
741 [email protected] 724 [email protected]
742 [email protected] 725 [email protected]
743 [email protected] 726 [email protected]
744 [email protected] 727 [email protected]
745 [email protected] 728 [email protected] "_x"
746 [email protected] "_x" 729 [email protected] " "
747 [email protected] " " 730 [email protected] "="
748 [email protected] "=" 731 [email protected] " "
749 [email protected] " " 732 [email protected]
750 [email protected] 733 [email protected] "0"
751 [email protected] "0" 734 [email protected] ")"
752 [email protected] ")" 735 [email protected] ";"
753 [email protected] ";" 736 [email protected] "\n "
754 [email protected] "\n " 737 [email protected]
755 [email protected] 738 [email protected] "let"
756 [email protected] "let" 739 [email protected] " "
757 [email protected] " " 740 [email protected]
758 [email protected] 741 [email protected]
759 [email protected] 742 [email protected] "_b"
760 [email protected] "_b" 743 [email protected] " "
761 [email protected] " " 744 [email protected] "="
762 [email protected] "=" 745 [email protected] " "
763 [email protected] " " 746 [email protected]
764 [email protected] 747 [email protected]
765 [email protected] 748 [email protected]
766 [email protected] 749 [email protected]
767 [email protected] 750 [email protected]
768 [email protected] 751 [email protected]
769 [email protected] 752 [email protected] "swap"
770 [email protected] "swap" 753 [email protected]
771 [email protected] 754 [email protected] "("
772 [email protected] "(" 755 [email protected]
773 [email protected] 756 [email protected] "&"
774 [email protected] "&" 757 [email protected] "mut"
775 [email protected] "mut" 758 [email protected] " "
776 [email protected] " " 759 [email protected]
777 [email protected] 760 [email protected]
778 [email protected] 761 [email protected]
779 [email protected] 762 [email protected]
780 [email protected] 763 [email protected] "_y"
781 [email protected] "_y" 764 [email protected] ","
782 [email protected] "," 765 [email protected] " "
783 [email protected] " " 766 [email protected]
784 [email protected] 767 [email protected] "&"
785 [email protected] "&" 768 [email protected] "mut"
786 [email protected] "mut" 769 [email protected] " "
787 [email protected] " " 770 [email protected]
788 [email protected] 771 [email protected]
789 [email protected] 772 [email protected]
790 [email protected] 773 [email protected]
791 [email protected] 774 [email protected] "_z"
792 [email protected] "_z" 775 [email protected] ")"
793 [email protected] ")" 776 [email protected] " "
794 [email protected] " " 777 [email protected] "=="
795 [email protected] "==" 778 [email protected] " "
796 [email protected] " " 779 [email protected]
797 [email protected] 780 [email protected]
798 [email protected] 781 [email protected]
799 [email protected] 782 [email protected]
800 [email protected] 783 [email protected]
801 [email protected] 784 [email protected] "swap"
802 [email protected] "swap" 785 [email protected]
803 [email protected] 786 [email protected] "("
804 [email protected] "(" 787 [email protected]
805 [email protected] 788 [email protected] "&"
806 [email protected] "&" 789 [email protected] "mut"
807 [email protected] "mut" 790 [email protected] " "
808 [email protected] " " 791 [email protected]
809 [email protected] 792 [email protected]
810 [email protected] 793 [email protected]
811 [email protected] 794 [email protected]
812 [email protected] 795 [email protected] "_y"
813 [email protected] "_y" 796 [email protected] ","
814 [email protected] "," 797 [email protected] " "
815 [email protected] " " 798 [email protected]
816 [email protected] 799 [email protected] "&"
817 [email protected] "&" 800 [email protected] "mut"
818 [email protected] "mut" 801 [email protected] " "
819 [email protected] " " 802 [email protected]
820 [email protected] 803 [email protected]
821 [email protected] 804 [email protected]
822 [email protected] 805 [email protected]
823 [email protected] 806 [email protected] "_z"
824 [email protected] "_z" 807 [email protected] ")"
825 [email protected] ")" 808 [email protected] ";"
826 [email protected] ";" 809 [email protected] "\n"
827 [email protected] "\n" 810 [email protected] "}"
828 [email protected] "}"
829 [email protected] "\n\n" 811 [email protected] "\n\n"
830 [email protected] 812 [email protected]
831 [email protected] "fn" 813 [email protected] "fn"
@@ -846,167 +828,165 @@ [email protected]
846 [email protected] "usize" 828 [email protected] "usize"
847 [email protected] " " 829 [email protected] " "
848 [email protected] 830 [email protected]
849 [email protected] 831 [email protected] "{"
850 [email protected] "{" 832 [email protected] "\n "
851 [email protected] "\n " 833 [email protected]
852 [email protected] 834 [email protected] "fn"
853 [email protected] "fn" 835 [email protected] " "
854 [email protected] " " 836 [email protected]
855 [email protected] 837 [email protected] "p"
856 [email protected] "p" 838 [email protected]
857 [email protected] 839 [email protected] "("
858 [email protected] "(" 840 [email protected] ")"
859 [email protected] ")" 841 [email protected] " "
860 [email protected] " " 842 [email protected]
861 [email protected] 843 [email protected] "->"
862 [email protected] "->" 844 [email protected] " "
863 [email protected] " " 845 [email protected]
864 [email protected] 846 [email protected]
865 [email protected] 847 [email protected]
866 [email protected] 848 [email protected]
867 [email protected] 849 [email protected] "bool"
868 [email protected] "bool" 850 [email protected] " "
869 [email protected] " " 851 [email protected]
870 [email protected] 852 [email protected] "{"
871 [email protected] 853 [email protected] " "
872 [email protected] "{" 854 [email protected]
873 [email protected] " " 855 [email protected] "true"
874 [email protected] 856 [email protected] " "
875 [email protected] "true" 857 [email protected] "}"
876 [email protected] " " 858 [email protected] "\n "
877 [email protected] "}" 859 [email protected]
878 [email protected] "\n " 860 [email protected] "let"
879 [email protected] 861 [email protected] " "
880 [email protected] "let" 862 [email protected]
881 [email protected] " " 863 [email protected]
882 [email protected] 864 [email protected] "_a"
883 [email protected] 865 [email protected] " "
884 [email protected] "_a" 866 [email protected] "="
885 [email protected] " " 867 [email protected] " "
886 [email protected] "=" 868 [email protected]
887 [email protected] " " 869 [email protected] "("
888 [email protected] 870 [email protected]
889 [email protected] "(" 871 [email protected]
890 [email protected] 872 [email protected]
891 [email protected] 873 [email protected]
892 [email protected] 874 [email protected]
893 [email protected] 875 [email protected] "assert"
894 [email protected] 876 [email protected] "!"
895 [email protected] "assert" 877 [email protected]
896 [email protected] "!" 878 [email protected] "("
897 [email protected] 879 [email protected]
898 [email protected] "(" 880 [email protected] "("
899 [email protected] 881 [email protected] "true"
900 [email protected] "(" 882 [email protected] ")"
901 [email protected] "true" 883 [email protected] ")"
902 [email protected] ")" 884 [email protected] " "
903 [email protected] ")" 885 [email protected] "=="
904 [email protected] " " 886 [email protected] " "
905 [email protected] "==" 887 [email protected]
906 [email protected] " " 888 [email protected] "("
907 [email protected] 889 [email protected]
908 [email protected] "(" 890 [email protected]
909 [email protected] 891 [email protected]
910 [email protected] 892 [email protected]
911 [email protected] 893 [email protected] "assert"
912 [email protected] 894 [email protected] "!"
913 [email protected] "assert" 895 [email protected]
914 [email protected] "!" 896 [email protected] "("
915 [email protected] 897 [email protected] "p"
916 [email protected] "(" 898 [email protected]
917 [email protected] "p" 899 [email protected] "("
918 [email protected] 900 [email protected] ")"
919 [email protected] "(" 901 [email protected] ")"
920 [email protected] ")" 902 [email protected] ")"
921 [email protected] ")" 903 [email protected] ")"
922 [email protected] ")" 904 [email protected] ";"
923 [email protected] ")" 905 [email protected] "\n "
924 [email protected] ";" 906 [email protected]
925 [email protected] "\n " 907 [email protected] "let"
926 [email protected] 908 [email protected] " "
927 [email protected] "let" 909 [email protected]
928 [email protected] " " 910 [email protected]
929 [email protected] 911 [email protected] "_c"
930 [email protected] 912 [email protected] " "
931 [email protected] "_c" 913 [email protected] "="
932 [email protected] " " 914 [email protected] " "
933 [email protected] "=" 915 [email protected]
934 [email protected] " " 916 [email protected] "("
935 [email protected] 917 [email protected]
936 [email protected] "(" 918 [email protected]
937 [email protected] 919 [email protected]
938 [email protected] 920 [email protected]
939 [email protected] 921 [email protected]
940 [email protected] 922 [email protected] "assert"
941 [email protected] 923 [email protected] "!"
942 [email protected] "assert" 924 [email protected]
943 [email protected] "!" 925 [email protected] "("
944 [email protected] 926 [email protected]
945 [email protected] "(" 927 [email protected] "("
946 [email protected] 928 [email protected] "p"
947 [email protected] "(" 929 [email protected]
948 [email protected] "p" 930 [email protected] "("
949 [email protected] 931 [email protected] ")"
950 [email protected] "(" 932 [email protected] ")"
951 [email protected] ")" 933 [email protected] ")"
952 [email protected] ")" 934 [email protected] " "
953 [email protected] ")" 935 [email protected] "=="
954 [email protected] " " 936 [email protected] " "
955 [email protected] "==" 937 [email protected]
956 [email protected] " " 938 [email protected] "("
957 [email protected] 939 [email protected] ")"
958 [email protected] "(" 940 [email protected] ")"
959 [email protected] ")" 941 [email protected] ";"
960 [email protected] ")" 942 [email protected] "\n "
961 [email protected] ";" 943 [email protected]
962 [email protected] "\n " 944 [email protected] "let"
963 [email protected] 945 [email protected] " "
964 [email protected] "let" 946 [email protected]
965 [email protected] " " 947 [email protected]
966 [email protected] 948 [email protected] "_b"
967 [email protected] 949 [email protected] ":"
968 [email protected] "_b" 950 [email protected] " "
969 [email protected] ":" 951 [email protected]
970 [email protected] " " 952 [email protected]
971 [email protected] 953 [email protected]
972 [email protected] 954 [email protected]
973 [email protected] 955 [email protected] "bool"
974 [email protected] 956 [email protected] " "
975 [email protected] "bool" 957 [email protected] "="
976 [email protected] " " 958 [email protected] " "
977 [email protected] "=" 959 [email protected]
978 [email protected] " " 960 [email protected] "("
979 [email protected] 961 [email protected]
980 [email protected] "(" 962 [email protected]
981 [email protected] 963 [email protected]
982 [email protected] 964 [email protected]
983 [email protected] 965 [email protected]
984 [email protected] 966 [email protected] "println"
985 [email protected] 967 [email protected] "!"
986 [email protected] "println" 968 [email protected]
987 [email protected] "!" 969 [email protected] "("
988 [email protected] 970 [email protected] "\"{}\""
989 [email protected] "(" 971 [email protected] ","
990 [email protected] "\"{}\"" 972 [email protected] " "
991 [email protected] "," 973 [email protected] "0"
992 [email protected] " " 974 [email protected] ")"
993 [email protected] "0" 975 [email protected] " "
994 [email protected] ")" 976 [email protected] "=="
995 [email protected] " " 977 [email protected] " "
996 [email protected] "==" 978 [email protected]
997 [email protected] " " 979 [email protected] "("
998 [email protected] 980 [email protected]
999 [email protected] "(" 981 [email protected] "return"
1000 [email protected] 982 [email protected] " "
1001 [email protected] "return" 983 [email protected]
1002 [email protected] " " 984 [email protected] "0"
1003 [email protected] 985 [email protected] ")"
1004 [email protected] "0" 986 [email protected] ")"
1005 [email protected] ")" 987 [email protected] ";"
1006 [email protected] ")" 988 [email protected] "\n"
1007 [email protected] ";" 989 [email protected] "}"
1008 [email protected] "\n"
1009 [email protected] "}"
1010 [email protected] "\n\n" 990 [email protected] "\n\n"
1011 [email protected] 991 [email protected]
1012 [email protected] "fn" 992 [email protected] "fn"
@@ -1018,144 +998,138 @@ [email protected]
1018 [email protected] ")" 998 [email protected] ")"
1019 [email protected] " " 999 [email protected] " "
1020 [email protected] 1000 [email protected]
1021 [email protected] 1001 [email protected] "{"
1022 [email protected] "{" 1002 [email protected] "\n "
1023 [email protected] "\n " 1003 [email protected]
1024 [email protected] 1004 [email protected]
1025 [email protected] 1005 [email protected] "loop"
1026 [email protected] "loop" 1006 [email protected] " "
1027 [email protected] " " 1007 [email protected]
1028 [email protected] 1008 [email protected] "{"
1029 [email protected] 1009 [email protected] " "
1030 [email protected] "{" 1010 [email protected]
1031 [email protected] " " 1011 [email protected] "if"
1032 [email protected] 1012 [email protected] " "
1033 [email protected] "if" 1013 [email protected]
1034 [email protected] " " 1014 [email protected]
1035 [email protected] 1015 [email protected] "break"
1036 [email protected] 1016 [email protected] " "
1037 [email protected] "break" 1017 [email protected]
1038 [email protected] " " 1018 [email protected] "{"
1039 [email protected] 1019 [email protected] " "
1040 [email protected] 1020 [email protected] "}"
1041 [email protected] "{" 1021 [email protected] " "
1042 [email protected] " " 1022 [email protected] "}"
1043 [email protected] "}" 1023 [email protected] "\n "
1044 [email protected] " " 1024 [email protected]
1045 [email protected] "}" 1025 [email protected] "let"
1046 [email protected] "\n " 1026 [email protected] " "
1047 [email protected] 1027 [email protected]
1048 [email protected] "let" 1028 [email protected] "mut"
1049 [email protected] " " 1029 [email protected] " "
1050 [email protected] 1030 [email protected]
1051 [email protected] "mut" 1031 [email protected] "i"
1052 [email protected] " " 1032 [email protected] " "
1053 [email protected] 1033 [email protected] "="
1054 [email protected] "i" 1034 [email protected] " "
1055 [email protected] " " 1035 [email protected]
1056 [email protected] "=" 1036 [email protected] "0"
1057 [email protected] " " 1037 [email protected] ";"
1058 [email protected] 1038 [email protected] "\n "
1059 [email protected] "0" 1039 [email protected]
1060 [email protected] ";" 1040 [email protected] "loop"
1061 [email protected] "\n " 1041 [email protected] " "
1062 [email protected] 1042 [email protected]
1063 [email protected] "loop" 1043 [email protected] "{"
1064 [email protected] " " 1044 [email protected] " "
1065 [email protected] 1045 [email protected]
1066 [email protected] 1046 [email protected]
1067 [email protected] "{" 1047 [email protected]
1068 [email protected] " " 1048 [email protected]
1069 [email protected] 1049 [email protected]
1070 [email protected] 1050 [email protected]
1071 [email protected] 1051 [email protected] "i"
1072 [email protected] 1052 [email protected] " "
1073 [email protected] 1053 [email protected] "+="
1074 [email protected] 1054 [email protected] " "
1075 [email protected] "i" 1055 [email protected]
1076 [email protected] " " 1056 [email protected] "1"
1077 [email protected] "+=" 1057 [email protected] ";"
1078 [email protected] " " 1058 [email protected] " "
1079 [email protected] 1059 [email protected]
1080 [email protected] "1" 1060 [email protected]
1081 [email protected] ";" 1061 [email protected] "if"
1082 [email protected] " " 1062 [email protected] " "
1083 [email protected] 1063 [email protected]
1084 [email protected] 1064 [email protected]
1085 [email protected] "if" 1065 [email protected]
1086 [email protected] " " 1066 [email protected]
1087 [email protected] 1067 [email protected]
1088 [email protected] 1068 [email protected]
1089 [email protected] 1069 [email protected] "i"
1090 [email protected] 1070 [email protected] " "
1091 [email protected] 1071 [email protected] "=="
1092 [email protected] 1072 [email protected] " "
1093 [email protected] "i" 1073 [email protected]
1094 [email protected] " " 1074 [email protected] "1"
1095 [email protected] "==" 1075 [email protected] " "
1096 [email protected] " " 1076 [email protected]
1097 [email protected] 1077 [email protected] "{"
1098 [email protected] "1" 1078 [email protected] " "
1099 [email protected] " " 1079 [email protected]
1100 [email protected] 1080 [email protected] "match"
1101 [email protected] 1081 [email protected] " "
1102 [email protected] "{" 1082 [email protected]
1103 [email protected] " " 1083 [email protected] "("
1104 [email protected] 1084 [email protected]
1105 [email protected] "match" 1085 [email protected] "continue"
1106 [email protected] " " 1086 [email protected] ")"
1107 [email protected] 1087 [email protected] " "
1108 [email protected] "(" 1088 [email protected]
1109 [email protected] 1089 [email protected] "{"
1110 [email protected] "continue" 1090 [email protected] " "
1111 [email protected] ")" 1091 [email protected]
1112 [email protected] " " 1092 [email protected]
1113 [email protected] 1093 [email protected]
1114 [email protected] "{" 1094 [email protected] "1"
1115 [email protected] " " 1095 [email protected] " "
1116 [email protected] 1096 [email protected] "=>"
1117 [email protected] 1097 [email protected] " "
1118 [email protected] 1098 [email protected]
1119 [email protected] "1" 1099 [email protected] "{"
1120 [email protected] " " 1100 [email protected] " "
1121 [email protected] "=>" 1101 [email protected] "}"
1122 [email protected] " " 1102 [email protected] ","
1123 [email protected] 1103 [email protected] " "
1124 [email protected] 1104 [email protected]
1125 [email protected] "{" 1105 [email protected]
1126 [email protected] " " 1106 [email protected] "_"
1127 [email protected] "}" 1107 [email protected] " "
1128 [email protected] "," 1108 [email protected] "=>"
1129 [email protected] " " 1109 [email protected] " "
1130 [email protected] 1110 [email protected]
1131 [email protected] 1111 [email protected]
1132 [email protected] "_" 1112 [email protected]
1133 [email protected] " " 1113 [email protected]
1134 [email protected] "=>" 1114 [email protected] "panic"
1135 [email protected] " " 1115 [email protected] "!"
1136 [email protected] 1116 [email protected]
1137 [email protected] 1117 [email protected] "("
1138 [email protected] 1118 [email protected] "\"wat\""
1139 [email protected] 1119 [email protected] ")"
1140 [email protected] "panic" 1120 [email protected] " "
1141 [email protected] "!" 1121 [email protected] "}"
1142 [email protected] 1122 [email protected] " "
1143 [email protected] "(" 1123 [email protected] "}"
1144 [email protected] "\"wat\"" 1124 [email protected] "\n "
1145 [email protected] ")" 1125 [email protected]
1146 [email protected] " " 1126 [email protected]
1147 [email protected] "}" 1127 [email protected] "break"
1148 [email protected] " " 1128 [email protected] ";"
1149 [email protected] "}" 1129 [email protected] " "
1150 [email protected] "\n " 1130 [email protected] "}"
1151 [email protected] 1131 [email protected] "\n"
1152 [email protected] 1132 [email protected] "}"
1153 [email protected] "break"
1154 [email protected] ";"
1155 [email protected] " "
1156 [email protected] "}"
1157 [email protected] "\n"
1158 [email protected] "}"
1159 [email protected] "\n\n" 1133 [email protected] "\n\n"
1160 [email protected] 1134 [email protected]
1161 [email protected] "fn" 1135 [email protected] "fn"
@@ -1167,31 +1141,30 @@ [email protected]
1167 [email protected] ")" 1141 [email protected] ")"
1168 [email protected] " " 1142 [email protected] " "
1169 [email protected] 1143 [email protected]
1170 [email protected] 1144 [email protected] "{"
1171 [email protected] "{" 1145 [email protected] " "
1172 [email protected] " " 1146 [email protected]
1173 [email protected] 1147 [email protected] "let"
1174 [email protected] "let" 1148 [email protected] " "
1175 [email protected] " " 1149 [email protected]
1176 [email protected] 1150 [email protected]
1177 [email protected] 1151 [email protected] "_evil"
1178 [email protected] "_evil" 1152 [email protected] " "
1179 [email protected] " " 1153 [email protected] "="
1180 [email protected] "=" 1154 [email protected] " "
1181 [email protected] " " 1155 [email protected]
1182 [email protected] 1156 [email protected]
1183 [email protected] 1157 [email protected]
1184 [email protected] 1158 [email protected]
1185 [email protected] 1159 [email protected] "println"
1186 [email protected] "println" 1160 [email protected] "!"
1187 [email protected] "!" 1161 [email protected]
1188 [email protected] 1162 [email protected] "("
1189 [email protected] "(" 1163 [email protected] "\"lincoln\""
1190 [email protected] "\"lincoln\"" 1164 [email protected] ")"
1191 [email protected] ")" 1165 [email protected] ";"
1192 [email protected] ";" 1166 [email protected] " "
1193 [email protected] " " 1167 [email protected] "}"
1194 [email protected] "}"
1195 [email protected] "\n\n" 1168 [email protected] "\n\n"
1196 [email protected] 1169 [email protected]
1197 [email protected] "fn" 1170 [email protected] "fn"
@@ -1203,114 +1176,113 @@ [email protected]
1203 [email protected] ")" 1176 [email protected] ")"
1204 [email protected] " " 1177 [email protected] " "
1205 [email protected] 1178 [email protected]
1206 [email protected] 1179 [email protected] "{"
1207 [email protected] "{" 1180 [email protected] "\n "
1208 [email protected] "\n " 1181 [email protected]
1209 [email protected] 1182 [email protected]
1210 [email protected] 1183 [email protected]
1211 [email protected] 1184 [email protected]
1212 [email protected] 1185 [email protected]
1213 [email protected] 1186 [email protected] "assert_eq"
1214 [email protected] "assert_eq" 1187 [email protected] "!"
1215 [email protected] "!" 1188 [email protected]
1216 [email protected] 1189 [email protected] "("
1217 [email protected] "(" 1190 [email protected] "String"
1218 [email protected] "String" 1191 [email protected] ":"
1219 [email protected] ":" 1192 [email protected] ":"
1220 [email protected] ":" 1193 [email protected] "from"
1221 [email protected] "from" 1194 [email protected]
1222 [email protected] 1195 [email protected] "("
1223 [email protected] "(" 1196 [email protected] "\".................... ..."
1224 [email protected] "\".................... ..." 1197 [email protected] ")"
1225 [email protected] ")" 1198 [email protected] ","
1226 [email protected] "," 1199 [email protected] "\n "
1227 [email protected] "\n " 1200 [email protected] "format"
1228 [email protected] "format" 1201 [email protected] "!"
1229 [email protected] "!" 1202 [email protected]
1230 [email protected] 1203 [email protected] "("
1231 [email protected] "(" 1204 [email protected] "\"{:?}\""
1232 [email protected] "\"{:?}\"" 1205 [email protected] ","
1233 [email protected] "," 1206 [email protected] " "
1234 [email protected] " " 1207 [email protected] "."
1235 [email protected] "." 1208 [email protected] "."
1236 [email protected] "." 1209 [email protected] " "
1237 [email protected] " " 1210 [email protected] "."
1238 [email protected] "." 1211 [email protected] "."
1239 [email protected] "." 1212 [email protected] " "
1240 [email protected] " " 1213 [email protected] "."
1241 [email protected] "." 1214 [email protected] "."
1242 [email protected] "." 1215 [email protected] " "
1243 [email protected] " " 1216 [email protected] "."
1244 [email protected] "." 1217 [email protected] "."
1245 [email protected] "." 1218 [email protected] " "
1246 [email protected] " " 1219 [email protected] "."
1247 [email protected] "." 1220 [email protected] "."
1248 [email protected] "." 1221 [email protected] " "
1249 [email protected] " " 1222 [email protected] "."
1250 [email protected] "." 1223 [email protected] "."
1251 [email protected] "." 1224 [email protected] " "
1252 [email protected] " " 1225 [email protected] "."
1253 [email protected] "." 1226 [email protected] "."
1254 [email protected] "." 1227 [email protected] " "
1255 [email protected] " " 1228 [email protected] "."
1256 [email protected] "." 1229 [email protected] "."
1257 [email protected] "." 1230 [email protected] " "
1258 [email protected] " " 1231 [email protected] "."
1259 [email protected] "." 1232 [email protected] "."
1260 [email protected] "." 1233 [email protected] " "
1261 [email protected] " " 1234 [email protected] "."
1262 [email protected] "." 1235 [email protected] "."
1263 [email protected] "." 1236 [email protected] " "
1264 [email protected] " " 1237 [email protected] "."
1265 [email protected] "." 1238 [email protected] "."
1266 [email protected] "." 1239 [email protected] " "
1267 [email protected] " " 1240 [email protected] "."
1268 [email protected] "." 1241 [email protected] "."
1269 [email protected] "." 1242 [email protected] " "
1270 [email protected] " " 1243 [email protected] "."
1271 [email protected] "." 1244 [email protected] "."
1272 [email protected] "." 1245 [email protected] "\n ..."
1273 [email protected] "\n ..." 1246 [email protected] "."
1274 [email protected] "." 1247 [email protected] "."
1275 [email protected] "." 1248 [email protected] " "
1276 [email protected] " " 1249 [email protected] "."
1277 [email protected] "." 1250 [email protected] "."
1278 [email protected] "." 1251 [email protected] " "
1279 [email protected] " " 1252 [email protected] "."
1280 [email protected] "." 1253 [email protected] "."
1281 [email protected] "." 1254 [email protected] " "
1282 [email protected] " " 1255 [email protected] "."
1283 [email protected] "." 1256 [email protected] "."
1284 [email protected] "." 1257 [email protected] " "
1285 [email protected] " " 1258 [email protected] "."
1286 [email protected] "." 1259 [email protected] "."
1287 [email protected] "." 1260 [email protected] " "
1288 [email protected] " " 1261 [email protected] "."
1289 [email protected] "." 1262 [email protected] "."
1290 [email protected] "." 1263 [email protected] " "
1291 [email protected] " " 1264 [email protected] "."
1292 [email protected] "." 1265 [email protected] "."
1293 [email protected] "." 1266 [email protected] " "
1294 [email protected] " " 1267 [email protected] "."
1295 [email protected] "." 1268 [email protected] "."
1296 [email protected] "." 1269 [email protected] " "
1297 [email protected] " " 1270 [email protected] "."
1298 [email protected] "." 1271 [email protected] "."
1299 [email protected] "." 1272 [email protected] " "
1300 [email protected] " " 1273 [email protected] "."
1301 [email protected] "." 1274 [email protected] "."
1302 [email protected] "." 1275 [email protected] " "
1303 [email protected] " " 1276 [email protected] "."
1304 [email protected] "." 1277 [email protected] "."
1305 [email protected] "." 1278 [email protected] " "
1306 [email protected] " " 1279 [email protected] "."
1307 [email protected] "." 1280 [email protected] "."
1308 [email protected] "." 1281 [email protected] ")"
1309 [email protected] ")" 1282 [email protected] ")"
1310 [email protected] ")" 1283 [email protected] ";"
1311 [email protected] ";" 1284 [email protected] "\n"
1312 [email protected] "\n" 1285 [email protected] "}"
1313 [email protected] "}"
1314 [email protected] "\n\n" 1286 [email protected] "\n\n"
1315 [email protected] 1287 [email protected]
1316 [email protected] "fn" 1288 [email protected] "fn"
@@ -1333,170 +1305,168 @@ [email protected]
1333 [email protected] ")" 1305 [email protected] ")"
1334 [email protected] " " 1306 [email protected] " "
1335 [email protected] 1307 [email protected]
1336 [email protected] 1308 [email protected] "{"
1337 [email protected] "{" 1309 [email protected] "\n "
1338 [email protected] "\n " 1310 [email protected]
1339 [email protected] 1311 [email protected] "if"
1340 [email protected] "if" 1312 [email protected] " "
1341 [email protected] " " 1313 [email protected]
1342 [email protected] 1314 [email protected]
1343 [email protected] 1315 [email protected]
1344 [email protected] 1316 [email protected]
1345 [email protected] 1317 [email protected]
1346 [email protected] 1318 [email protected]
1347 [email protected] 1319 [email protected] "u8"
1348 [email protected] "u8" 1320 [email protected] " "
1349 [email protected] " " 1321 [email protected] "!="
1350 [email protected] "!=" 1322 [email protected] " "
1351 [email protected] " " 1323 [email protected]
1352 [email protected] 1324 [email protected] "0u8"
1353 [email protected] "0u8" 1325 [email protected] " "
1354 [email protected] " " 1326 [email protected]
1355 [email protected] 1327 [email protected] "{"
1356 [email protected] 1328 [email protected] "\n "
1357 [email protected] "{" 1329 [email protected]
1358 [email protected] "\n " 1330 [email protected]
1359 [email protected] 1331 [email protected]
1360 [email protected] 1332 [email protected]
1361 [email protected] 1333 [email protected]
1362 [email protected] 1334 [email protected] "assert_eq"
1363 [email protected] 1335 [email protected] "!"
1364 [email protected] "assert_eq" 1336 [email protected]
1365 [email protected] "!" 1337 [email protected] "("
1366 [email protected] 1338 [email protected] "8u8"
1367 [email protected] "(" 1339 [email protected] ","
1368 [email protected] "8u8" 1340 [email protected] " "
1369 [email protected] "," 1341 [email protected]
1370 [email protected] " " 1342 [email protected] "{"
1371 [email protected] 1343 [email protected] "\n "
1372 [email protected] "{" 1344 [email protected] "macro_rules"
1373 [email protected] "\n " 1345 [email protected] "!"
1374 [email protected] "macro_rules" 1346 [email protected] " "
1375 [email protected] "!" 1347 [email protected] "u8"
1376 [email protected] " " 1348 [email protected] " "
1377 [email protected] "u8" 1349 [email protected]
1378 [email protected] " " 1350 [email protected] "{"
1379 [email protected] 1351 [email protected] "\n "
1380 [email protected] "{" 1352 [email protected]
1381 [email protected] "\n " 1353 [email protected] "("
1382 [email protected] 1354 [email protected] "u8"
1383 [email protected] "(" 1355 [email protected] ")"
1384 [email protected] "u8" 1356 [email protected] " "
1385 [email protected] ")" 1357 [email protected] "="
1386 [email protected] " " 1358 [email protected] ">"
1387 [email protected] "=" 1359 [email protected] " "
1388 [email protected] ">" 1360 [email protected]
1389 [email protected] " " 1361 [email protected] "{"
1390 [email protected] 1362 [email protected] "\n "
1391 [email protected] "{" 1363 [email protected] "mod"
1392 [email protected] "\n " 1364 [email protected] " "
1393 [email protected] "mod" 1365 [email protected] "u8"
1394 [email protected] " " 1366 [email protected] " "
1395 [email protected] "u8" 1367 [email protected]
1396 [email protected] " " 1368 [email protected] "{"
1397 [email protected] 1369 [email protected] "\n ..."
1398 [email protected] "{" 1370 [email protected] "pub"
1399 [email protected] "\n ..." 1371 [email protected] " "
1400 [email protected] "pub" 1372 [email protected] "fn"
1401 [email protected] " " 1373 [email protected] " "
1402 [email protected] "fn" 1374 [email protected] "u8"
1403 [email protected] " " 1375 [email protected] "<"
1404 [email protected] "u8" 1376 [email protected] "\'u8"
1405 [email protected] "<" 1377 [email protected] ":"
1406 [email protected] "\'u8" 1378 [email protected] " "
1407 [email protected] ":" 1379 [email protected] "\'u8"
1408 [email protected] " " 1380 [email protected] " "
1409 [email protected] "\'u8" 1381 [email protected] "+"
1410 [email protected] " " 1382 [email protected] " "
1411 [email protected] "+" 1383 [email protected] "\'u8"
1412 [email protected] " " 1384 [email protected] ">"
1413 [email protected] "\'u8" 1385 [email protected]
1414 [email protected] ">" 1386 [email protected] "("
1415 [email protected] 1387 [email protected] "u8"
1416 [email protected] "(" 1388 [email protected] ":"
1417 [email protected] "u8" 1389 [email protected] " "
1418 [email protected] ":" 1390 [email protected] "&"
1419 [email protected] " " 1391 [email protected] "\'u8"
1420 [email protected] "&" 1392 [email protected] " "
1421 [email protected] "\'u8" 1393 [email protected] "u8"
1422 [email protected] " " 1394 [email protected] ")"
1423 [email protected] "u8" 1395 [email protected] " "
1424 [email protected] ")" 1396 [email protected] "-"
1425 [email protected] " " 1397 [email protected] ">"
1426 [email protected] "-" 1398 [email protected] " "
1427 [email protected] ">" 1399 [email protected] "&"
1428 [email protected] " " 1400 [email protected] "\'u8"
1429 [email protected] "&" 1401 [email protected] " "
1430 [email protected] "\'u8" 1402 [email protected] "u8"
1431 [email protected] " " 1403 [email protected] " "
1432 [email protected] "u8" 1404 [email protected]
1433 [email protected] " " 1405 [email protected] "{"
1434 [email protected] 1406 [email protected] "\n ..."
1435 [email protected] "{" 1407 [email protected] "\"u8\""
1436 [email protected] "\n ..." 1408 [email protected] ";"
1437 [email protected] "\"u8\"" 1409 [email protected] "\n ..."
1438 [email protected] ";" 1410 [email protected] "u8"
1439 [email protected] "\n ..." 1411 [email protected] "\n ..."
1440 [email protected] "u8" 1412 [email protected] "}"
1441 [email protected] "\n ..." 1413 [email protected] "\n "
1442 [email protected] "}" 1414 [email protected] "}"
1443 [email protected] "\n " 1415 [email protected] "\n "
1444 [email protected] "}" 1416 [email protected] "}"
1445 [email protected] "\n " 1417 [email protected] ";"
1446 [email protected] "}" 1418 [email protected] "\n "
1447 [email protected] ";" 1419 [email protected] "}"
1448 [email protected] "\n " 1420 [email protected] "\n\n "
1449 [email protected] "}" 1421 [email protected] "u8"
1450 [email protected] "\n\n " 1422 [email protected] "!"
1451 [email protected] "u8" 1423 [email protected]
1452 [email protected] "!" 1424 [email protected] "("
1453 [email protected] 1425 [email protected] "u8"
1454 [email protected] "(" 1426 [email protected] ")"
1455 [email protected] "u8" 1427 [email protected] ";"
1456 [email protected] ")" 1428 [email protected] "\n "
1457 [email protected] ";" 1429 [email protected] "let"
1458 [email protected] "\n " 1430 [email protected] " "
1459 [email protected] "let" 1431 [email protected] "&"
1460 [email protected] " " 1432 [email protected] "u8"
1461 [email protected] "&" 1433 [email protected] ":"
1462 [email protected] "u8" 1434 [email protected] " "
1463 [email protected] ":" 1435 [email protected] "&"
1464 [email protected] " " 1436 [email protected] "u8"
1465 [email protected] "&" 1437 [email protected] " "
1466 [email protected] "u8" 1438 [email protected] "="
1467 [email protected] " " 1439 [email protected] " "
1468 [email protected] "=" 1440 [email protected] "u8"
1469 [email protected] " " 1441 [email protected] ":"
1470 [email protected] "u8" 1442 [email protected] ":"
1471 [email protected] ":" 1443 [email protected] "u8"
1472 [email protected] ":" 1444 [email protected]
1473 [email protected] "u8" 1445 [email protected] "("
1474 [email protected] 1446 [email protected] "&"
1475 [email protected] "(" 1447 [email protected] "8u8"
1476 [email protected] "&" 1448 [email protected] ")"
1477 [email protected] "8u8" 1449 [email protected] ";"
1478 [email protected] ")" 1450 [email protected] "\n "
1479 [email protected] ";" 1451 [email protected] "crate"
1480 [email protected] "\n " 1452 [email protected] ":"
1481 [email protected] "crate" 1453 [email protected] ":"
1482 [email protected] ":" 1454 [email protected] "u8"
1483 [email protected] ":" 1455 [email protected]
1484 [email protected] "u8" 1456 [email protected] "("
1485 [email protected] 1457 [email protected] "0u8"
1486 [email protected] "(" 1458 [email protected] ")"
1487 [email protected] "0u8" 1459 [email protected] ";"
1488 [email protected] ")" 1460 [email protected] "\n "
1489 [email protected] ";" 1461 [email protected] "u8"
1490 [email protected] "\n " 1462 [email protected] "\n "
1491 [email protected] "u8" 1463 [email protected] "}"
1492 [email protected] "\n " 1464 [email protected] ")"
1493 [email protected] "}" 1465 [email protected] ";"
1494 [email protected] ")" 1466 [email protected] "\n "
1495 [email protected] ";" 1467 [email protected] "}"
1496 [email protected] "\n " 1468 [email protected] "\n"
1497 [email protected] "}" 1469 [email protected] "}"
1498 [email protected] "\n"
1499 [email protected] "}"
1500 [email protected] "\n\n" 1470 [email protected] "\n\n"
1501 [email protected] 1471 [email protected]
1502 [email protected] "fn" 1472 [email protected] "fn"
@@ -1508,76 +1478,75 @@ [email protected]
1508 [email protected] ")" 1478 [email protected] ")"
1509 [email protected] " " 1479 [email protected] " "
1510 [email protected] 1480 [email protected]
1511 [email protected] 1481 [email protected] "{"
1512 [email protected] "{" 1482 [email protected] "\n "
1513 [email protected] "\n " 1483 [email protected]
1514 [email protected] 1484 [email protected]
1515 [email protected] 1485 [email protected]
1516 [email protected] 1486 [email protected]
1517 [email protected] 1487 [email protected]
1518 [email protected] 1488 [email protected] "assert_eq"
1519 [email protected] "assert_eq" 1489 [email protected] "!"
1520 [email protected] "!" 1490 [email protected]
1521 [email protected] 1491 [email protected] "("
1522 [email protected] "(" 1492 [email protected] "String"
1523 [email protected] "String" 1493 [email protected] ":"
1524 [email protected] ":" 1494 [email protected] ":"
1525 [email protected] ":" 1495 [email protected] "from"
1526 [email protected] "from" 1496 [email protected]
1527 [email protected] 1497 [email protected] "("
1528 [email protected] "(" 1498 [email protected] "\"><>\""
1529 [email protected] "\"><>\"" 1499 [email protected] ")"
1530 [email protected] ")" 1500 [email protected] ","
1531 [email protected] "," 1501 [email protected] "\n "
1532 [email protected] "\n " 1502 [email protected] "String"
1533 [email protected] "String" 1503 [email protected] ":"
1534 [email protected] ":" 1504 [email protected] ":"
1535 [email protected] ":" 1505 [email protected] "<"
1536 [email protected] "<" 1506 [email protected] ">"
1537 [email protected] ">" 1507 [email protected] ":"
1538 [email protected] ":" 1508 [email protected] ":"
1539 [email protected] ":" 1509 [email protected] "from"
1540 [email protected] "from" 1510 [email protected] ":"
1541 [email protected] ":" 1511 [email protected] ":"
1542 [email protected] ":" 1512 [email protected] "<"
1543 [email protected] "<" 1513 [email protected] ">"
1544 [email protected] ">" 1514 [email protected]
1545 [email protected] 1515 [email protected] "("
1546 [email protected] "(" 1516 [email protected] "\"><>\""
1547 [email protected] "\"><>\"" 1517 [email protected] ")"
1548 [email protected] ")" 1518 [email protected] "."
1549 [email protected] "." 1519 [email protected] "chars"
1550 [email protected] "chars" 1520 [email protected] ":"
1551 [email protected] ":" 1521 [email protected] ":"
1552 [email protected] ":" 1522 [email protected] "<"
1553 [email protected] "<" 1523 [email protected] ">"
1554 [email protected] ">" 1524 [email protected]
1555 [email protected] 1525 [email protected] "("
1556 [email protected] "(" 1526 [email protected] ")"
1557 [email protected] ")" 1527 [email protected] "."
1558 [email protected] "." 1528 [email protected] "rev"
1559 [email protected] "rev" 1529 [email protected] ":"
1560 [email protected] ":" 1530 [email protected] ":"
1561 [email protected] ":" 1531 [email protected] "<"
1562 [email protected] "<" 1532 [email protected] ">"
1563 [email protected] ">" 1533 [email protected]
1564 [email protected] 1534 [email protected] "("
1565 [email protected] "(" 1535 [email protected] ")"
1566 [email protected] ")" 1536 [email protected] "."
1567 [email protected] "." 1537 [email protected] "collect"
1568 [email protected] "collect" 1538 [email protected] ":"
1569 [email protected] ":" 1539 [email protected] ":"
1570 [email protected] ":" 1540 [email protected] "<"
1571 [email protected] "<" 1541 [email protected] "String"
1572 [email protected] "String" 1542 [email protected] ">"
1573 [email protected] ">" 1543 [email protected]
1574 [email protected] 1544 [email protected] "("
1575 [email protected] "(" 1545 [email protected] ")"
1576 [email protected] ")" 1546 [email protected] ")"
1577 [email protected] ")" 1547 [email protected] ";"
1578 [email protected] ";" 1548 [email protected] "\n"
1579 [email protected] "\n" 1549 [email protected] "}"
1580 [email protected] "}"
1581 [email protected] "\n\n" 1550 [email protected] "\n\n"
1582 [email protected] 1551 [email protected]
1583 [email protected] "fn" 1552 [email protected] "fn"
@@ -1589,47 +1558,46 @@ [email protected]
1589 [email protected] ")" 1558 [email protected] ")"
1590 [email protected] " " 1559 [email protected] " "
1591 [email protected] 1560 [email protected]
1592 [email protected] 1561 [email protected] "{"
1593 [email protected] "{" 1562 [email protected] "\n "
1594 [email protected] "\n " 1563 [email protected]
1595 [email protected] 1564 [email protected] "union"
1596 [email protected] "union" 1565 [email protected] " "
1597 [email protected] " " 1566 [email protected]
1598 [email protected] 1567 [email protected] "union"
1599 [email protected] "union" 1568 [email protected]
1600 [email protected] 1569 [email protected] "<"
1601 [email protected] "<" 1570 [email protected]
1602 [email protected] 1571 [email protected] "\'union"
1603 [email protected] "\'union" 1572 [email protected] ">"
1604 [email protected] ">" 1573 [email protected] " "
1605 [email protected] " " 1574 [email protected]
1606 [email protected] 1575 [email protected] "{"
1607 [email protected] "{" 1576 [email protected] " "
1608 [email protected] " " 1577 [email protected]
1609 [email protected] 1578 [email protected]
1610 [email protected] 1579 [email protected] "union"
1611 [email protected] "union" 1580 [email protected] ":"
1612 [email protected] ":" 1581 [email protected] " "
1613 [email protected] " " 1582 [email protected]
1614 [email protected] 1583 [email protected] "&"
1615 [email protected] "&" 1584 [email protected] "\'union"
1616 [email protected] "\'union" 1585 [email protected] " "
1617 [email protected] " " 1586 [email protected]
1618 [email protected] 1587 [email protected]
1619 [email protected] 1588 [email protected]
1620 [email protected] 1589 [email protected]
1621 [email protected] 1590 [email protected] "union"
1622 [email protected] "union" 1591 [email protected]
1623 [email protected] 1592 [email protected] "<"
1624 [email protected] "<" 1593 [email protected]
1625 [email protected] 1594 [email protected] "\'union"
1626 [email protected] "\'union" 1595 [email protected] ">"
1627 [email protected] ">" 1596 [email protected] ","
1628 [email protected] "," 1597 [email protected] " "
1629 [email protected] " " 1598 [email protected] "}"
1630 [email protected] "}" 1599 [email protected] "\n"
1631 [email protected] "\n" 1600 [email protected] "}"
1632 [email protected] "}"
1633 [email protected] "\n\n" 1601 [email protected] "\n\n"
1634 [email protected] 1602 [email protected]
1635 [email protected] "fn" 1603 [email protected] "fn"
@@ -1641,121 +1609,118 @@ [email protected]
1641 [email protected] ")" 1609 [email protected] ")"
1642 [email protected] " " 1610 [email protected] " "
1643 [email protected] 1611 [email protected]
1644 [email protected] 1612 [email protected] "{"
1645 [email protected] "{" 1613 [email protected] "\n "
1646 [email protected] "\n " 1614 [email protected]
1647 [email protected] 1615 [email protected] "let"
1648 [email protected] "let" 1616 [email protected] " "
1649 [email protected] " " 1617 [email protected]
1650 [email protected] 1618 [email protected]
1651 [email protected] 1619 [email protected] "val"
1652 [email protected] "val" 1620 [email protected] " "
1653 [email protected] " " 1621 [email protected] "="
1654 [email protected] "=" 1622 [email protected] " "
1655 [email protected] " " 1623 [email protected]
1656 [email protected] 1624 [email protected] "!"
1657 [email protected] "!" 1625 [email protected]
1658 [email protected] 1626 [email protected] "("
1659 [email protected] "(" 1627 [email protected]
1660 [email protected] 1628 [email protected]
1661 [email protected] 1629 [email protected]
1662 [email protected] 1630 [email protected] "("
1663 [email protected] "(" 1631 [email protected]
1664 [email protected] 1632 [email protected]
1665 [email protected] 1633 [email protected] "|"
1666 [email protected] "|" 1634 [email protected]
1667 [email protected] 1635 [email protected]
1668 [email protected] 1636 [email protected] "("
1669 [email protected] "(" 1637 [email protected]
1670 [email protected] 1638 [email protected] ".."
1671 [email protected] ".." 1639 [email protected] ")"
1672 [email protected] ")" 1640 [email protected] ":"
1673 [email protected] ":" 1641 [email protected]
1674 [email protected] 1642 [email protected] "("
1675 [email protected] "(" 1643 [email protected]
1676 [email protected] 1644 [email protected] "_"
1677 [email protected] "_" 1645 [email protected] ","
1678 [email protected] "," 1646 [email protected]
1679 [email protected] 1647 [email protected] "_"
1680 [email protected] "_" 1648 [email protected] ")"
1681 [email protected] ")" 1649 [email protected] ","
1682 [email protected] "," 1650 [email protected]
1683 [email protected] 1651 [email protected]
1684 [email protected] 1652 [email protected]
1685 [email protected] 1653 [email protected] "__"
1686 [email protected] "__" 1654 [email protected] "@"
1687 [email protected] "@" 1655 [email protected]
1688 [email protected] 1656 [email protected] "_"
1689 [email protected] "_" 1657 [email protected] "|"
1690 [email protected] "|" 1658 [email protected]
1691 [email protected] 1659 [email protected]
1692 [email protected] 1660 [email protected]
1693 [email protected] 1661 [email protected]
1694 [email protected] 1662 [email protected] "__"
1695 [email protected] "__" 1663 [email protected] ")"
1696 [email protected] ")" 1664 [email protected]
1697 [email protected] 1665 [email protected] "("
1698 [email protected] "(" 1666 [email protected]
1699 [email protected] 1667 [email protected] "("
1700 [email protected] "(" 1668 [email protected]
1701 [email protected] 1669 [email protected] "&"
1702 [email protected] "&" 1670 [email protected]
1703 [email protected] 1671 [email protected] "*"
1704 [email protected] "*" 1672 [email protected]
1705 [email protected] 1673 [email protected] "\"\\\\\""
1706 [email protected] "\"\\\\\"" 1674 [email protected] ","
1707 [email protected] "," 1675 [email protected]
1708 [email protected] 1676 [email protected] "\'🤔\'"
1709 [email protected] "\'🤔\'" 1677 [email protected] ")"
1710 [email protected] ")" 1678 [email protected] "/**/"
1711 [email protected] "/**/" 1679 [email protected] ","
1712 [email protected] "," 1680 [email protected]
1713 [email protected] 1681 [email protected] "{"
1714 [email protected] 1682 [email protected] "}"
1715 [email protected] "{" 1683 [email protected] ")"
1716 [email protected] "}" 1684 [email protected] "=="
1717 [email protected] ")" 1685 [email protected]
1718 [email protected] "==" 1686 [email protected] "{"
1719 [email protected] 1687 [email protected]
1720 [email protected] 1688 [email protected]
1721 [email protected] "{" 1689 [email protected] "&"
1722 [email protected] 1690 [email protected]
1723 [email protected] 1691 [email protected]
1724 [email protected] "&" 1692 [email protected] "["
1725 [email protected] 1693 [email protected]
1726 [email protected] 1694 [email protected] "..="
1727 [email protected] "[" 1695 [email protected]
1728 [email protected] 1696 [email protected] ".."
1729 [email protected] "..=" 1697 [email protected] "]"
1730 [email protected] 1698 [email protected] "["
1731 [email protected] ".." 1699 [email protected]
1732 [email protected] "]" 1700 [email protected] ".."
1733 [email protected] "[" 1701 [email protected] "]"
1734 [email protected] 1702 [email protected] ";"
1735 [email protected] ".." 1703 [email protected] "}"
1736 [email protected] "]" 1704 [email protected] ")"
1737 [email protected] ";" 1705 [email protected] "//"
1738 [email protected] "}" 1706 [email protected] "\n "
1739 [email protected] ")" 1707 [email protected] ";"
1740 [email protected] "//" 1708 [email protected] "\n "
1741 [email protected] "\n " 1709 [email protected]
1742 [email protected] ";" 1710 [email protected]
1743 [email protected] "\n " 1711 [email protected]
1744 [email protected] 1712 [email protected]
1745 [email protected] 1713 [email protected]
1746 [email protected] 1714 [email protected] "assert"
1747 [email protected] 1715 [email protected] "!"
1748 [email protected] 1716 [email protected]
1749 [email protected] "assert" 1717 [email protected] "("
1750 [email protected] "!" 1718 [email protected] "!"
1751 [email protected] 1719 [email protected] "val"
1752 [email protected] "(" 1720 [email protected] ")"
1753 [email protected] "!" 1721 [email protected] ";"
1754 [email protected] "val" 1722 [email protected] "\n"
1755 [email protected] ")" 1723 [email protected] "}"
1756 [email protected] ";"
1757 [email protected] "\n"
1758 [email protected] "}"
1759 [email protected] "\n\n" 1724 [email protected] "\n\n"
1760 [email protected] 1725 [email protected]
1761 [email protected] "fn" 1726 [email protected] "fn"
@@ -1791,306 +1756,305 @@ [email protected]
1791 [email protected] "Debug" 1756 [email protected] "Debug"
1792 [email protected] " " 1757 [email protected] " "
1793 [email protected] 1758 [email protected]
1794 [email protected] 1759 [email protected] "{"
1795 [email protected] "{" 1760 [email protected] "\n "
1796 [email protected] "\n " 1761 [email protected]
1797 [email protected] 1762 [email protected] "..="
1798 [email protected] "..=" 1763 [email protected]
1799 [email protected] 1764 [email protected] "..="
1800 [email protected] "..=" 1765 [email protected]
1801 [email protected] 1766 [email protected] ".."
1802 [email protected] ".." 1767 [email protected] " "
1803 [email protected] " " 1768 [email protected]
1804 [email protected] 1769 [email protected] ".."
1805 [email protected] ".." 1770 [email protected] " "
1806 [email protected] " " 1771 [email protected]
1807 [email protected] 1772 [email protected] ".."
1808 [email protected] ".." 1773 [email protected] " "
1809 [email protected] " " 1774 [email protected]
1810 [email protected] 1775 [email protected] ".."
1811 [email protected] ".." 1776 [email protected] " "
1812 [email protected] " " 1777 [email protected]
1813 [email protected] 1778 [email protected] ".."
1814 [email protected] ".." 1779 [email protected] " "
1815 [email protected] " " 1780 [email protected]
1816 [email protected] 1781 [email protected] ".."
1817 [email protected] ".." 1782 [email protected] " "
1818 [email protected] " " 1783 [email protected]
1819 [email protected] 1784 [email protected] ".."
1820 [email protected] ".." 1785 [email protected] " "
1821 [email protected] " " 1786 [email protected]
1822 [email protected] 1787 [email protected] ".."
1823 [email protected] ".." 1788 [email protected] " "
1824 [email protected] " " 1789 [email protected]
1825 [email protected] 1790 [email protected] ".."
1826 [email protected] ".." 1791 [email protected] " "
1827 [email protected] " " 1792 [email protected]
1828 [email protected] 1793 [email protected] ".."
1829 [email protected] ".." 1794 [email protected] " "
1830 [email protected] " " 1795 [email protected]
1831 [email protected] 1796 [email protected] ".."
1832 [email protected] ".." 1797 [email protected] " "
1833 [email protected] " " 1798 [email protected]
1834 [email protected] 1799 [email protected] "..="
1835 [email protected] "..=" 1800 [email protected]
1836 [email protected] 1801 [email protected] ".."
1837 [email protected] ".." 1802 [email protected] " "
1838 [email protected] " " 1803 [email protected]
1839 [email protected] 1804 [email protected] ".."
1840 [email protected] ".." 1805 [email protected] "\n "
1841 [email protected] "\n " 1806 [email protected]
1842 [email protected] 1807 [email protected] "..="
1843 [email protected] "..=" 1808 [email protected]
1844 [email protected] 1809 [email protected] ".."
1845 [email protected] ".." 1810 [email protected] " "
1846 [email protected] " " 1811 [email protected]
1847 [email protected] 1812 [email protected] "..="
1848 [email protected] "..=" 1813 [email protected]
1849 [email protected] 1814 [email protected] ".."
1850 [email protected] ".." 1815 [email protected] " "
1851 [email protected] " " 1816 [email protected]
1852 [email protected] 1817 [email protected] ".."
1853 [email protected] ".." 1818 [email protected] " "
1854 [email protected] " " 1819 [email protected]
1855 [email protected] 1820 [email protected] ".."
1856 [email protected] ".." 1821 [email protected] " "
1857 [email protected] " " 1822 [email protected]
1858 [email protected] 1823 [email protected] ".."
1859 [email protected] ".." 1824 [email protected] " "
1860 [email protected] " " 1825 [email protected]
1861 [email protected] 1826 [email protected] ".."
1862 [email protected] ".." 1827 [email protected] " "
1863 [email protected] " " 1828 [email protected]
1864 [email protected] 1829 [email protected] ".."
1865 [email protected] ".." 1830 [email protected] " "
1866 [email protected] " " 1831 [email protected]
1867 [email protected] 1832 [email protected] ".."
1868 [email protected] ".." 1833 [email protected] " "
1869 [email protected] " " 1834 [email protected]
1870 [email protected] 1835 [email protected] ".."
1871 [email protected] ".." 1836 [email protected] " "
1872 [email protected] " " 1837 [email protected]
1873 [email protected] 1838 [email protected] ".."
1874 [email protected] ".." 1839 [email protected] " "
1875 [email protected] " " 1840 [email protected]
1876 [email protected] 1841 [email protected] "..="
1877 [email protected] "..=" 1842 [email protected]
1878 [email protected] 1843 [email protected] "..="
1879 [email protected] "..=" 1844 [email protected]
1880 [email protected] 1845 [email protected] "..="
1881 [email protected] "..=" 1846 [email protected]
1882 [email protected] 1847 [email protected] ".."
1883 [email protected] ".." 1848 [email protected] "\n "
1884 [email protected] "\n " 1849 [email protected]
1885 [email protected] 1850 [email protected] "..="
1886 [email protected] "..=" 1851 [email protected]
1887 [email protected] 1852 [email protected] ".."
1888 [email protected] ".." 1853 [email protected] " "
1889 [email protected] " " 1854 [email protected]
1890 [email protected] 1855 [email protected] "..="
1891 [email protected] "..=" 1856 [email protected]
1892 [email protected] 1857 [email protected] ".."
1893 [email protected] ".." 1858 [email protected] " "
1894 [email protected] " " 1859 [email protected]
1895 [email protected] 1860 [email protected] "..="
1896 [email protected] "..=" 1861 [email protected]
1897 [email protected] 1862 [email protected] ".."
1898 [email protected] ".." 1863 [email protected] " "
1899 [email protected] " " 1864 [email protected]
1900 [email protected] 1865 [email protected] "..="
1901 [email protected] "..=" 1866 [email protected]
1902 [email protected] 1867 [email protected] ".."
1903 [email protected] ".." 1868 [email protected] " "
1904 [email protected] " " 1869 [email protected]
1905 [email protected] 1870 [email protected] ".."
1906 [email protected] ".." 1871 [email protected] " "
1907 [email protected] " " 1872 [email protected]
1908 [email protected] 1873 [email protected] "..="
1909 [email protected] "..=" 1874 [email protected]
1910 [email protected] 1875 [email protected] "..="
1911 [email protected] "..=" 1876 [email protected]
1912 [email protected] 1877 [email protected] ".."
1913 [email protected] ".." 1878 [email protected] " "
1914 [email protected] " " 1879 [email protected]
1915 [email protected] 1880 [email protected] ".."
1916 [email protected] ".." 1881 [email protected] " "
1917 [email protected] " " 1882 [email protected]
1918 [email protected] 1883 [email protected] "..="
1919 [email protected] "..=" 1884 [email protected]
1920 [email protected] 1885 [email protected] ".."
1921 [email protected] ".." 1886 [email protected] " "
1922 [email protected] " " 1887 [email protected]
1923 [email protected] 1888 [email protected] ".."
1924 [email protected] ".." 1889 [email protected] "\n "
1925 [email protected] "\n " 1890 [email protected]
1926 [email protected] 1891 [email protected] "..="
1927 [email protected] "..=" 1892 [email protected]
1928 [email protected] 1893 [email protected] "..="
1929 [email protected] "..=" 1894 [email protected]
1930 [email protected] 1895 [email protected] ".."
1931 [email protected] ".." 1896 [email protected] " "
1932 [email protected] " " 1897 [email protected]
1933 [email protected] 1898 [email protected] ".."
1934 [email protected] ".." 1899 [email protected] " "
1935 [email protected] " " 1900 [email protected]
1936 [email protected] 1901 [email protected] "..="
1937 [email protected] "..=" 1902 [email protected]
1938 [email protected] 1903 [email protected] ".."
1939 [email protected] ".." 1904 [email protected] " "
1940 [email protected] " " 1905 [email protected]
1941 [email protected] 1906 [email protected] "..="
1942 [email protected] "..=" 1907 [email protected]
1943 [email protected] 1908 [email protected] ".."
1944 [email protected] ".." 1909 [email protected] " "
1945 [email protected] " " 1910 [email protected]
1946 [email protected] 1911 [email protected] "..="
1947 [email protected] "..=" 1912 [email protected]
1948 [email protected] 1913 [email protected] ".."
1949 [email protected] ".." 1914 [email protected] " "
1950 [email protected] " " 1915 [email protected]
1951 [email protected] 1916 [email protected] ".."
1952 [email protected] ".." 1917 [email protected] " "
1953 [email protected] " " 1918 [email protected]
1954 [email protected] 1919 [email protected] ".."
1955 [email protected] ".." 1920 [email protected] " "
1956 [email protected] " " 1921 [email protected]
1957 [email protected] 1922 [email protected] ".."
1958 [email protected] ".." 1923 [email protected] " "
1959 [email protected] " " 1924 [email protected]
1960 [email protected] 1925 [email protected] "..="
1961 [email protected] "..=" 1926 [email protected]
1962 [email protected] 1927 [email protected] ".."
1963 [email protected] ".." 1928 [email protected] " "
1964 [email protected] " " 1929 [email protected]
1965 [email protected] 1930 [email protected] ".."
1966 [email protected] ".." 1931 [email protected] "\n "
1967 [email protected] "\n " 1932 [email protected]
1968 [email protected] 1933 [email protected] "..="
1969 [email protected] "..=" 1934 [email protected]
1970 [email protected] 1935 [email protected] ".."
1971 [email protected] ".." 1936 [email protected] " "
1972 [email protected] " " 1937 [email protected]
1973 [email protected] 1938 [email protected] "..="
1974 [email protected] "..=" 1939 [email protected]
1975 [email protected] 1940 [email protected] ".."
1976 [email protected] ".." 1941 [email protected] " "
1977 [email protected] " " 1942 [email protected]
1978 [email protected] 1943 [email protected] "..="
1979 [email protected] "..=" 1944 [email protected]
1980 [email protected] 1945 [email protected] ".."
1981 [email protected] ".." 1946 [email protected] " "
1982 [email protected] " " 1947 [email protected]
1983 [email protected] 1948 [email protected] "..="
1984 [email protected] "..=" 1949 [email protected]
1985 [email protected] 1950 [email protected] ".."
1986 [email protected] ".." 1951 [email protected] " "
1987 [email protected] " " 1952 [email protected]
1988 [email protected] 1953 [email protected] ".."
1989 [email protected] ".." 1954 [email protected] " "
1990 [email protected] " " 1955 [email protected]
1991 [email protected] 1956 [email protected] "..="
1992 [email protected] "..=" 1957 [email protected]
1993 [email protected] 1958 [email protected] ".."
1994 [email protected] ".." 1959 [email protected] " "
1995 [email protected] " " 1960 [email protected]
1996 [email protected] 1961 [email protected] ".."
1997 [email protected] ".." 1962 [email protected] " "
1998 [email protected] " " 1963 [email protected]
1999 [email protected] 1964 [email protected] ".."
2000 [email protected] ".." 1965 [email protected] " "
2001 [email protected] " " 1966 [email protected]
2002 [email protected] 1967 [email protected] "..="
2003 [email protected] "..=" 1968 [email protected]
2004 [email protected] 1969 [email protected] ".."
2005 [email protected] ".." 1970 [email protected] " "
2006 [email protected] " " 1971 [email protected]
2007 [email protected] 1972 [email protected] ".."
2008 [email protected] ".." 1973 [email protected] "\n "
2009 [email protected] "\n " 1974 [email protected]
2010 [email protected] 1975 [email protected] "..="
2011 [email protected] "..=" 1976 [email protected]
2012 [email protected] 1977 [email protected] ".."
2013 [email protected] ".." 1978 [email protected] " "
2014 [email protected] " " 1979 [email protected]
2015 [email protected] 1980 [email protected] "..="
2016 [email protected] "..=" 1981 [email protected]
2017 [email protected] 1982 [email protected] ".."
2018 [email protected] ".." 1983 [email protected] " "
2019 [email protected] " " 1984 [email protected]
2020 [email protected] 1985 [email protected] "..="
2021 [email protected] "..=" 1986 [email protected]
2022 [email protected] 1987 [email protected] ".."
2023 [email protected] ".." 1988 [email protected] " "
2024 [email protected] " " 1989 [email protected]
2025 [email protected] 1990 [email protected] "..="
2026 [email protected] "..=" 1991 [email protected]
2027 [email protected] 1992 [email protected] ".."
2028 [email protected] ".." 1993 [email protected] " "
2029 [email protected] " " 1994 [email protected]
2030 [email protected] 1995 [email protected] ".."
2031 [email protected] ".." 1996 [email protected] " "
2032 [email protected] " " 1997 [email protected]
2033 [email protected] 1998 [email protected] ".."
2034 [email protected] ".." 1999 [email protected] " "
2035 [email protected] " " 2000 [email protected]
2036 [email protected] 2001 [email protected] "..="
2037 [email protected] "..=" 2002 [email protected]
2038 [email protected] 2003 [email protected] ".."
2039 [email protected] ".." 2004 [email protected] " "
2040 [email protected] " " 2005 [email protected]
2041 [email protected] 2006 [email protected] ".."
2042 [email protected] ".." 2007 [email protected] " "
2043 [email protected] " " 2008 [email protected]
2044 [email protected] 2009 [email protected] "..="
2045 [email protected] "..=" 2010 [email protected]
2046 [email protected] 2011 [email protected] ".."
2047 [email protected] ".." 2012 [email protected] " "
2048 [email protected] " " 2013 [email protected]
2049 [email protected] 2014 [email protected] ".."
2050 [email protected] ".." 2015 [email protected] "\n "
2051 [email protected] "\n " 2016 [email protected]
2052 [email protected] 2017 [email protected] "..="
2053 [email protected] "..=" 2018 [email protected]
2054 [email protected] 2019 [email protected] ".."
2055 [email protected] ".." 2020 [email protected] " "
2056 [email protected] " " 2021 [email protected]
2057 [email protected] 2022 [email protected] "..="
2058 [email protected] "..=" 2023 [email protected]
2059 [email protected] 2024 [email protected] ".."
2060 [email protected] ".." 2025 [email protected] " "
2061 [email protected] " " 2026 [email protected]
2062 [email protected] 2027 [email protected] ".."
2063 [email protected] ".." 2028 [email protected] " "
2064 [email protected] " " 2029 [email protected]
2065 [email protected] 2030 [email protected] "..="
2066 [email protected] "..=" 2031 [email protected]
2067 [email protected] 2032 [email protected] "..="
2068 [email protected] "..=" 2033 [email protected]
2069 [email protected] 2034 [email protected] ".."
2070 [email protected] ".." 2035 [email protected] " "
2071 [email protected] " " 2036 [email protected]
2072 [email protected] 2037 [email protected] "..="
2073 [email protected] "..=" 2038 [email protected]
2074 [email protected] 2039 [email protected] "..="
2075 [email protected] "..=" 2040 [email protected]
2076 [email protected] 2041 [email protected] ".."
2077 [email protected] ".." 2042 [email protected] " "
2078 [email protected] " " 2043 [email protected]
2079 [email protected] 2044 [email protected] ".."
2080 [email protected] ".." 2045 [email protected] " "
2081 [email protected] " " 2046 [email protected]
2082 [email protected] 2047 [email protected] ".."
2083 [email protected] ".." 2048 [email protected] " "
2084 [email protected] " " 2049 [email protected]
2085 [email protected] 2050 [email protected] "..="
2086 [email protected] "..=" 2051 [email protected]
2087 [email protected] 2052 [email protected] ".."
2088 [email protected] ".." 2053 [email protected] " "
2089 [email protected] " " 2054 [email protected]
2090 [email protected] 2055 [email protected] ".."
2091 [email protected] ".." 2056 [email protected] "\n"
2092 [email protected] "\n" 2057 [email protected] "}"
2093 [email protected] "}"
2094 [email protected] "\n\n" 2058 [email protected] "\n\n"
2095 [email protected] 2059 [email protected]
2096 [email protected] "fn" 2060 [email protected] "fn"
@@ -2102,30 +2066,29 @@ [email protected]
2102 [email protected] ")" 2066 [email protected] ")"
2103 [email protected] " " 2067 [email protected] " "
2104 [email protected] 2068 [email protected]
2105 [email protected] 2069 [email protected] "{"
2106 [email protected] "{" 2070 [email protected] "\n "
2107 [email protected] "\n " 2071 [email protected] ";"
2108 [email protected] ";" 2072 [email protected] ";"
2109 [email protected] ";" 2073 [email protected] ";"
2110 [email protected] ";" 2074 [email protected]
2111 [email protected] 2075 [email protected]
2112 [email protected] 2076 [email protected] "("
2113 [email protected] "(" 2077 [email protected] ")"
2114 [email protected] ")" 2078 [email protected] ";"
2115 [email protected] ";" 2079 [email protected] ";"
2116 [email protected] ";" 2080 [email protected] ";"
2117 [email protected] ";" 2081 [email protected] ";"
2118 [email protected] ";" 2082 [email protected] ";"
2119 [email protected] ";" 2083 [email protected] ";"
2120 [email protected] ";" 2084 [email protected] ";"
2121 [email protected] ";" 2085 [email protected] ";"
2122 [email protected] ";" 2086 [email protected] ";"
2123 [email protected] ";" 2087 [email protected]
2124 [email protected] 2088 [email protected] "("
2125 [email protected] "(" 2089 [email protected] ")"
2126 [email protected] ")" 2090 [email protected] "\n"
2127 [email protected] "\n" 2091 [email protected] "}"
2128 [email protected] "}"
2129 [email protected] "\n\n" 2092 [email protected] "\n\n"
2130 [email protected] 2093 [email protected]
2131 [email protected] 2094 [email protected]
@@ -2140,190 +2103,189 @@ [email protected]
2140 [email protected] ")" 2103 [email protected] ")"
2141 [email protected] " " 2104 [email protected] " "
2142 [email protected] 2105 [email protected]
2143 [email protected] 2106 [email protected] "{"
2144 [email protected] "{" 2107 [email protected] "\n "
2145 [email protected] "\n " 2108 [email protected]
2146 [email protected] 2109 [email protected]
2147 [email protected] 2110 [email protected]
2148 [email protected] 2111 [email protected]
2149 [email protected] 2112 [email protected]
2150 [email protected] 2113 [email protected]
2151 [email protected] 2114 [email protected] "strange"
2152 [email protected] "strange" 2115 [email protected]
2153 [email protected] 2116 [email protected] "("
2154 [email protected] "(" 2117 [email protected] ")"
2155 [email protected] ")" 2118 [email protected] ";"
2156 [email protected] ";" 2119 [email protected] "\n "
2157 [email protected] "\n " 2120 [email protected]
2158 [email protected] 2121 [email protected]
2159 [email protected] 2122 [email protected]
2160 [email protected] 2123 [email protected]
2161 [email protected] 2124 [email protected]
2162 [email protected] 2125 [email protected]
2163 [email protected] 2126 [email protected] "funny"
2164 [email protected] "funny" 2127 [email protected]
2165 [email protected] 2128 [email protected] "("
2166 [email protected] "(" 2129 [email protected] ")"
2167 [email protected] ")" 2130 [email protected] ";"
2168 [email protected] ";" 2131 [email protected] "\n "
2169 [email protected] "\n " 2132 [email protected]
2170 [email protected] 2133 [email protected]
2171 [email protected] 2134 [email protected]
2172 [email protected] 2135 [email protected]
2173 [email protected] 2136 [email protected]
2174 [email protected] 2137 [email protected]
2175 [email protected] 2138 [email protected] "what"
2176 [email protected] "what" 2139 [email protected]
2177 [email protected] 2140 [email protected] "("
2178 [email protected] "(" 2141 [email protected] ")"
2179 [email protected] ")" 2142 [email protected] ";"
2180 [email protected] ";" 2143 [email protected] "\n "
2181 [email protected] "\n " 2144 [email protected]
2182 [email protected] 2145 [email protected]
2183 [email protected] 2146 [email protected]
2184 [email protected] 2147 [email protected]
2185 [email protected] 2148 [email protected]
2186 [email protected] 2149 [email protected]
2187 [email protected] 2150 [email protected] "zombiejesus"
2188 [email protected] "zombiejesus" 2151 [email protected]
2189 [email protected] 2152 [email protected] "("
2190 [email protected] "(" 2153 [email protected] ")"
2191 [email protected] ")" 2154 [email protected] ";"
2192 [email protected] ";" 2155 [email protected] "\n "
2193 [email protected] "\n " 2156 [email protected]
2194 [email protected] 2157 [email protected]
2195 [email protected] 2158 [email protected]
2196 [email protected] 2159 [email protected]
2197 [email protected] 2160 [email protected]
2198 [email protected] 2161 [email protected]
2199 [email protected] 2162 [email protected] "notsure"
2200 [email protected] "notsure" 2163 [email protected]
2201 [email protected] 2164 [email protected] "("
2202 [email protected] "(" 2165 [email protected] ")"
2203 [email protected] ")" 2166 [email protected] ";"
2204 [email protected] ";" 2167 [email protected] "\n "
2205 [email protected] "\n " 2168 [email protected]
2206 [email protected] 2169 [email protected]
2207 [email protected] 2170 [email protected]
2208 [email protected] 2171 [email protected]
2209 [email protected] 2172 [email protected]
2210 [email protected] 2173 [email protected]
2211 [email protected] 2174 [email protected] "canttouchthis"
2212 [email protected] "canttouchthis" 2175 [email protected]
2213 [email protected] 2176 [email protected] "("
2214 [email protected] "(" 2177 [email protected] ")"
2215 [email protected] ")" 2178 [email protected] ";"
2216 [email protected] ";" 2179 [email protected] "\n "
2217 [email protected] "\n " 2180 [email protected]
2218 [email protected] 2181 [email protected]
2219 [email protected] 2182 [email protected]
2220 [email protected] 2183 [email protected]
2221 [email protected] 2184 [email protected]
2222 [email protected] 2185 [email protected]
2223 [email protected] 2186 [email protected] "angrydome"
2224 [email protected] "angrydome" 2187 [email protected]
2225 [email protected] 2188 [email protected] "("
2226 [email protected] "(" 2189 [email protected] ")"
2227 [email protected] ")" 2190 [email protected] ";"
2228 [email protected] ";" 2191 [email protected] "\n "
2229 [email protected] "\n " 2192 [email protected]
2230 [email protected] 2193 [email protected]
2231 [email protected] 2194 [email protected]
2232 [email protected] 2195 [email protected]
2233 [email protected] 2196 [email protected]
2234 [email protected] 2197 [email protected]
2235 [email protected] 2198 [email protected] "evil_lincoln"
2236 [email protected] "evil_lincoln" 2199 [email protected]
2237 [email protected] 2200 [email protected] "("
2238 [email protected] "(" 2201 [email protected] ")"
2239 [email protected] ")" 2202 [email protected] ";"
2240 [email protected] ";" 2203 [email protected] "\n "
2241 [email protected] "\n " 2204 [email protected]
2242 [email protected] 2205 [email protected]
2243 [email protected] 2206 [email protected]
2244 [email protected] 2207 [email protected]
2245 [email protected] 2208 [email protected]
2246 [email protected] 2209 [email protected]
2247 [email protected] 2210 [email protected] "dots"
2248 [email protected] "dots" 2211 [email protected]
2249 [email protected] 2212 [email protected] "("
2250 [email protected] "(" 2213 [email protected] ")"
2251 [email protected] ")" 2214 [email protected] ";"
2252 [email protected] ";" 2215 [email protected] "\n "
2253 [email protected] "\n " 2216 [email protected]
2254 [email protected] 2217 [email protected]
2255 [email protected] 2218 [email protected]
2256 [email protected] 2219 [email protected]
2257 [email protected] 2220 [email protected]
2258 [email protected] 2221 [email protected]
2259 [email protected] 2222 [email protected] "u8"
2260 [email protected] "u8" 2223 [email protected]
2261 [email protected] 2224 [email protected] "("
2262 [email protected] "(" 2225 [email protected]
2263 [email protected] 2226 [email protected] "8u8"
2264 [email protected] "8u8" 2227 [email protected] ")"
2265 [email protected] ")" 2228 [email protected] ";"
2266 [email protected] ";" 2229 [email protected] "\n "
2267 [email protected] "\n " 2230 [email protected]
2268 [email protected] 2231 [email protected]
2269 [email protected] 2232 [email protected]
2270 [email protected] 2233 [email protected]
2271 [email protected] 2234 [email protected]
2272 [email protected] 2235 [email protected]
2273 [email protected] 2236 [email protected] "fishy"
2274 [email protected] "fishy" 2237 [email protected]
2275 [email protected] 2238 [email protected] "("
2276 [email protected] "(" 2239 [email protected] ")"
2277 [email protected] ")" 2240 [email protected] ";"
2278 [email protected] ";" 2241 [email protected] "\n "
2279 [email protected] "\n " 2242 [email protected]
2280 [email protected] 2243 [email protected]
2281 [email protected] 2244 [email protected]
2282 [email protected] 2245 [email protected]
2283 [email protected] 2246 [email protected]
2284 [email protected] 2247 [email protected]
2285 [email protected] 2248 [email protected] "union"
2286 [email protected] "union" 2249 [email protected]
2287 [email protected] 2250 [email protected] "("
2288 [email protected] "(" 2251 [email protected] ")"
2289 [email protected] ")" 2252 [email protected] ";"
2290 [email protected] ";" 2253 [email protected] "\n "
2291 [email protected] "\n " 2254 [email protected]
2292 [email protected] 2255 [email protected]
2293 [email protected] 2256 [email protected]
2294 [email protected] 2257 [email protected]
2295 [email protected] 2258 [email protected]
2296 [email protected] 2259 [email protected]
2297 [email protected] 2260 [email protected] "special_characters"
2298 [email protected] "special_characters" 2261 [email protected]
2299 [email protected] 2262 [email protected] "("
2300 [email protected] "(" 2263 [email protected] ")"
2301 [email protected] ")" 2264 [email protected] ";"
2302 [email protected] ";" 2265 [email protected] "\n "
2303 [email protected] "\n " 2266 [email protected]
2304 [email protected] 2267 [email protected]
2305 [email protected] 2268 [email protected]
2306 [email protected] 2269 [email protected]
2307 [email protected] 2270 [email protected]
2308 [email protected] 2271 [email protected]
2309 [email protected] 2272 [email protected] "punch_card"
2310 [email protected] "punch_card" 2273 [email protected]
2311 [email protected] 2274 [email protected] "("
2312 [email protected] "(" 2275 [email protected] ")"
2313 [email protected] ")" 2276 [email protected] ";"
2314 [email protected] ";" 2277 [email protected] "\n "
2315 [email protected] "\n " 2278 [email protected]
2316 [email protected] 2279 [email protected]
2317 [email protected] 2280 [email protected]
2318 [email protected] 2281 [email protected]
2319 [email protected] 2282 [email protected]
2320 [email protected] 2283 [email protected]
2321 [email protected] 2284 [email protected] "ktulhu"
2322 [email protected] "ktulhu" 2285 [email protected]
2323 [email protected] 2286 [email protected] "("
2324 [email protected] "(" 2287 [email protected] ")"
2325 [email protected] ")" 2288 [email protected] ";"
2326 [email protected] ";" 2289 [email protected] "\n"
2327 [email protected] "\n" 2290 [email protected] "}"
2328 [email protected] "}"
2329 [email protected] "\n" 2291 [email protected] "\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 8f616623b..a64a82e94 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
@@ -76,18 +76,17 @@ [email protected]
76 [email protected] "," 76 [email protected] ","
77 [email protected] "\n" 77 [email protected] "\n"
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "{"
80 [email protected] "{" 80 [email protected] "\n "
81 [email protected] "\n " 81 [email protected]
82 [email protected] 82 [email protected]
83 [email protected] 83 [email protected] "\"\""
84 [email protected] "\"\"" 84 [email protected] "."
85 [email protected] "." 85 [email protected]
86 [email protected] 86 [email protected] "to_owned"
87 [email protected] "to_owned" 87 [email protected]
88 [email protected] 88 [email protected] "("
89 [email protected] "(" 89 [email protected] ")"
90 [email protected] ")" 90 [email protected] "\n"
91 [email protected] "\n" 91 [email protected] "}"
92 [email protected] "}"
93 [email protected] "\n" 92 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast b/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast
index 14d82feb0..7fd414090 100644
--- a/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.rast
@@ -38,6 +38,5 @@ [email protected]
38 [email protected] "Foo" 38 [email protected] "Foo"
39 [email protected] " " 39 [email protected] " "
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "{"
42 [email protected] "{" 42 [email protected] "}"
43 [email protected] "}"
diff --git a/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast b/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast
index d38a60665..17be2c238 100644
--- a/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.rast
@@ -9,8 +9,7 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n"
14 [email protected] "\n" 14 [email protected] "}"
15 [email protected] "}"
16 [email protected] "\n" 15 [email protected] "\n"
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 db25bc2b8..acf32a852 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
@@ -9,42 +9,41 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] " "
14 [email protected] " " 14 [email protected]
15 [email protected] 15 [email protected] "let"
16 [email protected] "let" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "r#struct"
20 [email protected] "r#struct" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "="
22 [email protected] "=" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected] "92"
25 [email protected] "92" 25 [email protected] ";"
26 [email protected] ";" 26 [email protected] " "
27 [email protected] " " 27 [email protected]
28 [email protected] 28 [email protected] "let"
29 [email protected] "let" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "r#trait"
33 [email protected] "r#trait" 33 [email protected] " "
34 [email protected] " " 34 [email protected] "="
35 [email protected] "=" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "r#struct"
42 [email protected] "r#struct" 42 [email protected] " "
43 [email protected] " " 43 [email protected] "*"
44 [email protected] "*" 44 [email protected] " "
45 [email protected] " " 45 [email protected]
46 [email protected] 46 [email protected] "2"
47 [email protected] "2" 47 [email protected] ";"
48 [email protected] ";" 48 [email protected] " "
49 [email protected] " " 49 [email protected] "}"
50 [email protected] "}"
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 9704bea95..468982b74 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
@@ -39,20 +39,19 @@ [email protected]
39 [email protected] "bool" 39 [email protected] "bool"
40 [email protected] " " 40 [email protected] " "
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "{"
43 [email protected] "{" 43 [email protected] "\n "
44 [email protected] "\n " 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "unimplemented"
49 [email protected] "unimplemented" 49 [email protected] "!"
50 [email protected] "!" 50 [email protected]
51 [email protected] 51 [email protected] "("
52 [email protected] "(" 52 [email protected] ")"
53 [email protected] ")" 53 [email protected] "\n "
54 [email protected] "\n " 54 [email protected] "}"
55 [email protected] "}"
56 [email protected] "\n" 55 [email protected] "\n"
57 [email protected] "}" 56 [email protected] "}"
58 [email protected] "\n\n" 57 [email protected] "\n\n"
@@ -76,9 +75,8 @@ [email protected]
76 [email protected] ")" 75 [email protected] ")"
77 [email protected] " " 76 [email protected] " "
78 [email protected] 77 [email protected]
79 [email protected] 78 [email protected] "{"
80 [email protected] "{" 79 [email protected] "}"
81 [email protected] "}"
82 [email protected] "\n\n" 80 [email protected] "\n\n"
83 [email protected] 81 [email protected]
84 [email protected] "fn" 82 [email protected] "fn"
@@ -90,37 +88,36 @@ [email protected]
90 [email protected] ")" 88 [email protected] ")"
91 [email protected] " " 89 [email protected] " "
92 [email protected] 90 [email protected]
93 [email protected] 91 [email protected] "{"
94 [email protected] "{" 92 [email protected] "\n "
95 [email protected] "\n " 93 [email protected]
96 [email protected] 94 [email protected]
97 [email protected] 95 [email protected]
98 [email protected] 96 [email protected]
99 [email protected] 97 [email protected]
100 [email protected] 98 [email protected] "baz"
101 [email protected] "baz" 99 [email protected]
102 [email protected] 100 [email protected] "("
103 [email protected] "(" 101 [email protected]
104 [email protected] 102 [email protected]
105 [email protected] 103 [email protected]
106 [email protected] 104 [email protected]
107 [email protected] 105 [email protected]
108 [email protected] 106 [email protected] "<"
109 [email protected] "<" 107 [email protected]
110 [email protected] 108 [email protected]
111 [email protected] 109 [email protected]
112 [email protected] 110 [email protected]
113 [email protected] 111 [email protected] "Foo"
114 [email protected] "Foo" 112 [email protected] ">"
115 [email protected] ">" 113 [email protected] "::"
116 [email protected] "::" 114 [email protected]
117 [email protected] 115 [email protected]
118 [email protected] 116 [email protected] "bar"
119 [email protected] "bar" 117 [email protected]
120 [email protected] 118 [email protected] "("
121 [email protected] "(" 119 [email protected] ")"
122 [email protected] ")" 120 [email protected] ")"
123 [email protected] ")" 121 [email protected] "\n"
124 [email protected] "\n" 122 [email protected] "}"
125 [email protected] "}"
126 [email protected] "\n" 123 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.rast
index 6e5b25748..900eeb445 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
@@ -40,71 +40,70 @@ [email protected]
40 [email protected] ")" 40 [email protected] ")"
41 [email protected] " " 41 [email protected] " "
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "{"
44 [email protected] "{" 44 [email protected] "\n "
45 [email protected] "\n " 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "Repr"
54 [email protected] "Repr" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected] "{"
57 [email protected] "{" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected] "raw"
61 [email protected] "raw" 61 [email protected] ":"
62 [email protected] ":" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "["
65 [email protected] "[" 65 [email protected]
66 [email protected] 66 [email protected] "0"
67 [email protected] "0" 67 [email protected] "]"
68 [email protected] "]" 68 [email protected] " "
69 [email protected] " " 69 [email protected] "}"
70 [email protected] "}" 70 [email protected] "."
71 [email protected] "." 71 [email protected]
72 [email protected] 72 [email protected] "raw"
73 [email protected] "raw" 73 [email protected] "["
74 [email protected] "[" 74 [email protected]
75 [email protected] 75 [email protected] "0"
76 [email protected] "0" 76 [email protected] "]"
77 [email protected] "]" 77 [email protected] " "
78 [email protected] " " 78 [email protected] "="
79 [email protected] "=" 79 [email protected] " "
80 [email protected] " " 80 [email protected]
81 [email protected] 81 [email protected] "0"
82 [email protected] "0" 82 [email protected] ";"
83 [email protected] ";" 83 [email protected] "\n "
84 [email protected] "\n " 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected] "Repr"
91 [email protected] "Repr" 91 [email protected]
92 [email protected] 92 [email protected] "{"
93 [email protected] "{" 93 [email protected]
94 [email protected] 94 [email protected]
95 [email protected] 95 [email protected] "raw"
96 [email protected] "raw" 96 [email protected] ":"
97 [email protected] ":" 97 [email protected]
98 [email protected] 98 [email protected] "["
99 [email protected] "[" 99 [email protected]
100 [email protected] 100 [email protected] "0"
101 [email protected] "0" 101 [email protected] "]"
102 [email protected] "]" 102 [email protected] "}"
103 [email protected] "}" 103 [email protected]
104 [email protected] 104 [email protected] "("
105 [email protected] "(" 105 [email protected] ")"
106 [email protected] ")" 106 [email protected] ";"
107 [email protected] ";" 107 [email protected] "\n"
108 [email protected] "\n" 108 [email protected] "}"
109 [email protected] "}"
110 [email protected] "\n" 109 [email protected] "\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 f1eef3be0..6d941487b 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
@@ -11,66 +11,65 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "\n "
16 [email protected] "\n " 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "#"
19 [email protected] "#" 19 [email protected] "["
20 [email protected] "[" 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "cfg"
24 [email protected] "cfg" 24 [email protected]
25 [email protected] 25 [email protected] "("
26 [email protected] "(" 26 [email protected] "feature"
27 [email protected] "feature" 27 [email protected] " "
28 [email protected] " " 28 [email protected] "="
29 [email protected] "=" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "\"backtrace\""
31 [email protected] "\"backtrace\"" 31 [email protected] ")"
32 [email protected] ")" 32 [email protected] "]"
33 [email protected] "]" 33 [email protected] "\n "
34 [email protected] "\n " 34 [email protected] "let"
35 [email protected] "let" 35 [email protected] " "
36 [email protected] " " 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "exit_code"
39 [email protected] "exit_code" 39 [email protected] " "
40 [email protected] " " 40 [email protected] "="
41 [email protected] "=" 41 [email protected] " "
42 [email protected] " " 42 [email protected]
43 [email protected] 43 [email protected]
44 [email protected] 44 [email protected]
45 [email protected] 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected] "panic"
49 [email protected] "panic" 49 [email protected] "::"
50 [email protected] "::" 50 [email protected]
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "catch_unwind"
53 [email protected] "catch_unwind" 53 [email protected]
54 [email protected] 54 [email protected] "("
55 [email protected] "(" 55 [email protected]
56 [email protected] 56 [email protected] "move"
57 [email protected] "move" 57 [email protected] " "
58 [email protected] " " 58 [email protected]
59 [email protected] 59 [email protected] "|"
60 [email protected] "|" 60 [email protected] "|"
61 [email protected] "|" 61 [email protected] " "
62 [email protected] " " 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected]
66 [email protected] 66 [email protected]
67 [email protected] 67 [email protected] "main"
68 [email protected] "main" 68 [email protected]
69 [email protected] 69 [email protected] "("
70 [email protected] "(" 70 [email protected] ")"
71 [email protected] ")" 71 [email protected] ")"
72 [email protected] ")" 72 [email protected] ";"
73 [email protected] ";" 73 [email protected] "\n"
74 [email protected] "\n" 74 [email protected] "}"
75 [email protected] "}"
76 [email protected] "\n" 75 [email protected] "\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 f79feec19..e8b095251 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
@@ -9,86 +9,83 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "#"
16 [email protected] "#" 16 [email protected] "!"
17 [email protected] "!" 17 [email protected] "["
18 [email protected] "[" 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected] "doc"
22 [email protected] "doc" 22 [email protected]
23 [email protected] 23 [email protected] "("
24 [email protected] "(" 24 [email protected] "\"Inner attributes all ..."
25 [email protected] "\"Inner attributes all ..." 25 [email protected] ")"
26 [email protected] ")" 26 [email protected] "]"
27 [email protected] "]" 27 [email protected] "\n "
28 [email protected] "\n " 28 [email protected] "//! As are ModuleDoc ..."
29 [email protected] "//! As are ModuleDoc ..." 29 [email protected] "\n "
30 [email protected] "\n " 30 [email protected]
31 [email protected] 31 [email protected]
32 [email protected] 32 [email protected] "{"
33 [email protected] 33 [email protected] "\n "
34 [email protected] "{" 34 [email protected]
35 [email protected] "\n " 35 [email protected] "#"
36 [email protected] 36 [email protected] "!"
37 [email protected] "#" 37 [email protected] "["
38 [email protected] "!" 38 [email protected]
39 [email protected] "[" 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "doc"
42 [email protected] 42 [email protected]
43 [email protected] "doc" 43 [email protected] "("
44 [email protected] 44 [email protected] "\"Inner attributes are ..."
45 [email protected] "(" 45 [email protected] ")"
46 [email protected] "\"Inner attributes are ..." 46 [email protected] "]"
47 [email protected] ")" 47 [email protected] "\n "
48 [email protected] "]" 48 [email protected]
49 [email protected] "\n " 49 [email protected] "#"
50 [email protected] 50 [email protected] "!"
51 [email protected] "#" 51 [email protected] "["
52 [email protected] "!" 52 [email protected]
53 [email protected] "[" 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected] "doc"
56 [email protected] 56 [email protected]
57 [email protected] "doc" 57 [email protected] "("
58 [email protected] 58 [email protected] "\"Being validated is n ..."
59 [email protected] "(" 59 [email protected] ")"
60 [email protected] "\"Being validated is n ..." 60 [email protected] "]"
61 [email protected] ")" 61 [email protected] "\n "
62 [email protected] "]" 62 [email protected] "//! As are ModuleDoc ..."
63 [email protected] "\n " 63 [email protected] "\n "
64 [email protected] "//! As are ModuleDoc ..." 64 [email protected] "}"
65 [email protected] "\n " 65 [email protected] ";"
66 [email protected] "}" 66 [email protected] "\n "
67 [email protected] ";" 67 [email protected]
68 [email protected] "\n " 68 [email protected] "{"
69 [email protected] 69 [email protected] "\n "
70 [email protected] 70 [email protected]
71 [email protected] "{" 71 [email protected] "#"
72 [email protected] "\n " 72 [email protected] "!"
73 [email protected] 73 [email protected] "["
74 [email protected] "#" 74 [email protected]
75 [email protected] "!" 75 [email protected]
76 [email protected] "[" 76 [email protected]
77 [email protected] 77 [email protected] "doc"
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "("
80 [email protected] "doc" 80 [email protected] "\"Inner attributes are ..."
81 [email protected] 81 [email protected] ")"
82 [email protected] "(" 82 [email protected] "]"
83 [email protected] "\"Inner attributes are ..." 83 [email protected] "\n "
84 [email protected] ")" 84 [email protected] "//! As are ModuleDoc ..."
85 [email protected] "]" 85 [email protected] "\n "
86 [email protected] "\n " 86 [email protected] "}"
87 [email protected] "//! As are ModuleDoc ..." 87 [email protected] "\n"
88 [email protected] "\n " 88 [email protected] "}"
89 [email protected] "}"
90 [email protected] "\n"
91 [email protected] "}"
92 [email protected] "\n\n" 89 [email protected] "\n\n"
93 [email protected] "// https://github.com ..." 90 [email protected] "// https://github.com ..."
94 [email protected] "\n" 91 [email protected] "\n"
@@ -156,26 +153,25 @@ [email protected]
156 [email protected] ")" 153 [email protected] ")"
157 [email protected] " " 154 [email protected] " "
158 [email protected] 155 [email protected]
159 [email protected] 156 [email protected] "{"
160 [email protected] "{" 157 [email protected] "\n "
161 [email protected] "\n " 158 [email protected]
162 [email protected] 159 [email protected] "#"
163 [email protected] "#" 160 [email protected] "!"
164 [email protected] "!" 161 [email protected] "["
165 [email protected] "[" 162 [email protected]
166 [email protected] 163 [email protected]
167 [email protected] 164 [email protected]
168 [email protected] 165 [email protected] "allow"
169 [email protected] "allow" 166 [email protected]
170 [email protected] 167 [email protected] "("
171 [email protected] "(" 168 [email protected] "unused_variables"
172 [email protected] "unused_variables" 169 [email protected] ")"
173 [email protected] ")" 170 [email protected] "]"
174 [email protected] "]" 171 [email protected] " "
175 [email protected] " " 172 [email protected] "// this is `inner_at ..."
176 [email protected] "// this is `inner_at ..." 173 [email protected] "\n "
177 [email protected] "\n " 174 [email protected] "}"
178 [email protected] "}"
179 [email protected] "\n" 175 [email protected] "\n"
180 [email protected] "}" 176 [email protected] "}"
181 [email protected] "\n" 177 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast b/crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.rast
index 1cf12d670..38e44e48a 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
@@ -11,252 +11,250 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "\n "
16 [email protected] "\n " 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "match"
19 [email protected] "match" 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "Some"
26 [email protected] "Some" 26 [email protected]
27 [email protected] 27 [email protected] "("
28 [email protected] "(" 28 [email protected]
29 [email protected] 29 [email protected] "-"
30 [email protected] "-" 30 [email protected]
31 [email protected] 31 [email protected] "1"
32 [email protected] "1" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] " "
34 [email protected] " " 34 [email protected]
35 [email protected] 35 [email protected] "{"
36 [email protected] "{" 36 [email protected] "\n "
37 [email protected] "\n " 37 [email protected]
38 [email protected] 38 [email protected]
39 [email protected] 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected] "Some"
43 [email protected] "Some" 43 [email protected] "("
44 [email protected] "(" 44 [email protected]
45 [email protected] 45 [email protected] "-"
46 [email protected] "-" 46 [email protected]
47 [email protected] 47 [email protected] "1"
48 [email protected] "1" 48 [email protected] ")"
49 [email protected] ")" 49 [email protected] " "
50 [email protected] " " 50 [email protected] "=>"
51 [email protected] "=>" 51 [email protected] " "
52 [email protected] " " 52 [email protected]
53 [email protected] 53 [email protected] "("
54 [email protected] "(" 54 [email protected] ")"
55 [email protected] ")" 55 [email protected] ","
56 [email protected] "," 56 [email protected] "\n "
57 [email protected] "\n " 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected] "_"
60 [email protected] "_" 60 [email protected] " "
61 [email protected] " " 61 [email protected] "=>"
62 [email protected] "=>" 62 [email protected] " "
63 [email protected] " " 63 [email protected]
64 [email protected] 64 [email protected] "("
65 [email protected] "(" 65 [email protected] ")"
66 [email protected] ")" 66 [email protected] ","
67 [email protected] "," 67 [email protected] "\n "
68 [email protected] "\n " 68 [email protected] "}"
69 [email protected] "}" 69 [email protected] "\n\n "
70 [email protected] "\n\n " 70 [email protected]
71 [email protected] 71 [email protected]
72 [email protected] 72 [email protected] "match"
73 [email protected] "match" 73 [email protected] " "
74 [email protected] " " 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "Some"
80 [email protected] "Some" 80 [email protected]
81 [email protected] 81 [email protected] "("
82 [email protected] "(" 82 [email protected]
83 [email protected] 83 [email protected] "("
84 [email protected] "(" 84 [email protected]
85 [email protected] 85 [email protected] "-"
86 [email protected] "-" 86 [email protected]
87 [email protected] 87 [email protected] "1"
88 [email protected] "1" 88 [email protected] ","
89 [email protected] "," 89 [email protected] " "
90 [email protected] " " 90 [email protected]
91 [email protected] 91 [email protected] "-"
92 [email protected] "-" 92 [email protected]
93 [email protected] 93 [email protected] "1"
94 [email protected] "1" 94 [email protected] ")"
95 [email protected] ")" 95 [email protected] ")"
96 [email protected] ")" 96 [email protected] " "
97 [email protected] " " 97 [email protected]
98 [email protected] 98 [email protected] "{"
99 [email protected] "{" 99 [email protected] "\n "
100 [email protected] "\n " 100 [email protected]
101 [email protected] 101 [email protected]
102 [email protected] 102 [email protected]
103 [email protected] 103 [email protected]
104 [email protected] 104 [email protected]
105 [email protected] 105 [email protected] "Some"
106 [email protected] "Some" 106 [email protected] "("
107 [email protected] "(" 107 [email protected]
108 [email protected] 108 [email protected] "("
109 [email protected] "(" 109 [email protected]
110 [email protected] 110 [email protected] "-"
111 [email protected] "-" 111 [email protected]
112 [email protected] 112 [email protected] "1"
113 [email protected] "1" 113 [email protected] ","
114 [email protected] "," 114 [email protected] " "
115 [email protected] " " 115 [email protected]
116 [email protected] 116 [email protected] "-"
117 [email protected] "-" 117 [email protected]
118 [email protected] 118 [email protected] "1"
119 [email protected] "1" 119 [email protected] ")"
120 [email protected] ")" 120 [email protected] ")"
121 [email protected] ")" 121 [email protected] " "
122 [email protected] " " 122 [email protected] "=>"
123 [email protected] "=>" 123 [email protected] " "
124 [email protected] " " 124 [email protected]
125 [email protected] 125 [email protected] "("
126 [email protected] "(" 126 [email protected] ")"
127 [email protected] ")" 127 [email protected] ","
128 [email protected] "," 128 [email protected] "\n "
129 [email protected] "\n " 129 [email protected]
130 [email protected] 130 [email protected]
131 [email protected] 131 [email protected] "_"
132 [email protected] "_" 132 [email protected] " "
133 [email protected] " " 133 [email protected] "=>"
134 [email protected] "=>" 134 [email protected] " "
135 [email protected] " " 135 [email protected]
136 [email protected] 136 [email protected] "("
137 [email protected] "(" 137 [email protected] ")"
138 [email protected] ")" 138 [email protected] ","
139 [email protected] "," 139 [email protected] "\n "
140 [email protected] "\n " 140 [email protected] "}"
141 [email protected] "}" 141 [email protected] "\n\n "
142 [email protected] "\n\n " 142 [email protected]
143 [email protected] 143 [email protected]
144 [email protected] 144 [email protected] "match"
145 [email protected] "match" 145 [email protected] " "
146 [email protected] " " 146 [email protected]
147 [email protected] 147 [email protected]
148 [email protected] 148 [email protected]
149 [email protected] 149 [email protected]
150 [email protected] 150 [email protected]
151 [email protected] 151 [email protected]
152 [email protected] 152 [email protected] "A"
153 [email protected] "A" 153 [email protected] "::"
154 [email protected] "::" 154 [email protected]
155 [email protected] 155 [email protected]
156 [email protected] 156 [email protected] "B"
157 [email protected] "B" 157 [email protected]
158 [email protected] 158 [email protected] "("
159 [email protected] "(" 159 [email protected]
160 [email protected] 160 [email protected] "-"
161 [email protected] "-" 161 [email protected]
162 [email protected] 162 [email protected] "1"
163 [email protected] "1" 163 [email protected] ","
164 [email protected] "," 164 [email protected] " "
165 [email protected] " " 165 [email protected]
166 [email protected] 166 [email protected] "-"
167 [email protected] "-" 167 [email protected]
168 [email protected] 168 [email protected] "1"
169 [email protected] "1" 169 [email protected] ")"
170 [email protected] ")" 170 [email protected] " "
171 [email protected] " " 171 [email protected]
172 [email protected] 172 [email protected] "{"
173 [email protected] "{" 173 [email protected] "\n "
174 [email protected] "\n " 174 [email protected]
175 [email protected] 175 [email protected]
176 [email protected] 176 [email protected]
177 [email protected] 177 [email protected]
178 [email protected] 178 [email protected]
179 [email protected] 179 [email protected]
180 [email protected] 180 [email protected] "A"
181 [email protected] "A" 181 [email protected] "::"
182 [email protected] "::" 182 [email protected]
183 [email protected] 183 [email protected]
184 [email protected] 184 [email protected] "B"
185 [email protected] "B" 185 [email protected] "("
186 [email protected] "(" 186 [email protected]
187 [email protected] 187 [email protected] "-"
188 [email protected] "-" 188 [email protected]
189 [email protected] 189 [email protected] "1"
190 [email protected] "1" 190 [email protected] ","
191 [email protected] "," 191 [email protected] " "
192 [email protected] " " 192 [email protected]
193 [email protected] 193 [email protected] "-"
194 [email protected] "-" 194 [email protected]
195 [email protected] 195 [email protected] "1"
196 [email protected] "1" 196 [email protected] ")"
197 [email protected] ")" 197 [email protected] " "
198 [email protected] " " 198 [email protected] "=>"
199 [email protected] "=>" 199 [email protected] " "
200 [email protected] " " 200 [email protected]
201 [email protected] 201 [email protected] "("
202 [email protected] "(" 202 [email protected] ")"
203 [email protected] ")" 203 [email protected] ","
204 [email protected] "," 204 [email protected] "\n "
205 [email protected] "\n " 205 [email protected]
206 [email protected] 206 [email protected]
207 [email protected] 207 [email protected] "_"
208 [email protected] "_" 208 [email protected] " "
209 [email protected] " " 209 [email protected] "=>"
210 [email protected] "=>" 210 [email protected] " "
211 [email protected] " " 211 [email protected]
212 [email protected] 212 [email protected] "("
213 [email protected] "(" 213 [email protected] ")"
214 [email protected] ")" 214 [email protected] ","
215 [email protected] "," 215 [email protected] "\n "
216 [email protected] "\n " 216 [email protected] "}"
217 [email protected] "}" 217 [email protected] "\n\n "
218 [email protected] "\n\n " 218 [email protected]
219 [email protected] 219 [email protected] "if"
220 [email protected] "if" 220 [email protected] " "
221 [email protected] " " 221 [email protected]
222 [email protected] 222 [email protected] "let"
223 [email protected] "let" 223 [email protected] " "
224 [email protected] " " 224 [email protected]
225 [email protected] 225 [email protected]
226 [email protected] 226 [email protected]
227 [email protected] 227 [email protected]
228 [email protected] 228 [email protected] "Some"
229 [email protected] "Some" 229 [email protected] "("
230 [email protected] "(" 230 [email protected]
231 [email protected] 231 [email protected] "-"
232 [email protected] "-" 232 [email protected]
233 [email protected] 233 [email protected] "1"
234 [email protected] "1" 234 [email protected] ")"
235 [email protected] ")" 235 [email protected] " "
236 [email protected] " " 236 [email protected] "="
237 [email protected] "=" 237 [email protected] " "
238 [email protected] " " 238 [email protected]
239 [email protected] 239 [email protected]
240 [email protected] 240 [email protected]
241 [email protected] 241 [email protected]
242 [email protected] 242 [email protected]
243 [email protected] 243 [email protected] "Some"
244 [email protected] "Some" 244 [email protected]
245 [email protected] 245 [email protected] "("
246 [email protected] "(" 246 [email protected]
247 [email protected] 247 [email protected] "-"
248 [email protected] "-" 248 [email protected]
249 [email protected] 249 [email protected] "1"
250 [email protected] "1" 250 [email protected] ")"
251 [email protected] ")" 251 [email protected] " "
252 [email protected] " " 252 [email protected]
253 [email protected] 253 [email protected] "{"
254 [email protected] 254 [email protected] "\n "
255 [email protected] "{" 255 [email protected] "}"
256 [email protected] "\n " 256 [email protected] "\n"
257 [email protected] "}" 257 [email protected] "}"
258 [email protected] "\n"
259 [email protected] "}"
260 [email protected] "\n\n" 258 [email protected] "\n\n"
261 [email protected] 259 [email protected]
262 [email protected] "enum" 260 [email protected] "enum"
@@ -317,7 +315,6 @@ [email protected]
317 [email protected] ")" 315 [email protected] ")"
318 [email protected] " " 316 [email protected] " "
319 [email protected] 317 [email protected]
320 [email protected] 318 [email protected] "{"
321 [email protected] "{" 319 [email protected] "}"
322 [email protected] "}"
323 [email protected] "\n" 320 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast b/crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.rast
index 9c2701bf7..28233c5d0 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
@@ -11,191 +11,190 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "\n "
16 [email protected] "\n " 16 [email protected]
17 [email protected] 17 [email protected] "let"
18 [email protected] "let" 18 [email protected] " "
19 [email protected] " " 19 [email protected]
20 [email protected] 20 [email protected] "mut"
21 [email protected] "mut" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "a"
24 [email protected] "a" 24 [email protected] " "
25 [email protected] " " 25 [email protected] "="
26 [email protected] "=" 26 [email protected] " "
27 [email protected] " " 27 [email protected]
28 [email protected] 28 [email protected] "0"
29 [email protected] "0" 29 [email protected] ";"
30 [email protected] ";" 30 [email protected] "\n "
31 [email protected] "\n " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "a"
38 [email protected] "a" 38 [email protected] " "
39 [email protected] " " 39 [email protected] "+="
40 [email protected] "+=" 40 [email protected] " "
41 [email protected] " " 41 [email protected]
42 [email protected] 42 [email protected] "1"
43 [email protected] "1" 43 [email protected] ";"
44 [email protected] ";" 44 [email protected] "\n "
45 [email protected] "\n " 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected]
51 [email protected] 51 [email protected] "a"
52 [email protected] "a" 52 [email protected] " "
53 [email protected] " " 53 [email protected] "-="
54 [email protected] "-=" 54 [email protected] " "
55 [email protected] " " 55 [email protected]
56 [email protected] 56 [email protected] "2"
57 [email protected] "2" 57 [email protected] ";"
58 [email protected] ";" 58 [email protected] "\n "
59 [email protected] "\n " 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected]
62 [email protected] 62 [email protected]
63 [email protected] 63 [email protected]
64 [email protected] 64 [email protected]
65 [email protected] 65 [email protected] "a"
66 [email protected] "a" 66 [email protected] " "
67 [email protected] " " 67 [email protected] "*="
68 [email protected] "*=" 68 [email protected] " "
69 [email protected] " " 69 [email protected]
70 [email protected] 70 [email protected] "3"
71 [email protected] "3" 71 [email protected] ";"
72 [email protected] ";" 72 [email protected] "\n "
73 [email protected] "\n " 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected] "a"
80 [email protected] "a" 80 [email protected] " "
81 [email protected] " " 81 [email protected] "%="
82 [email protected] "%=" 82 [email protected] " "
83 [email protected] " " 83 [email protected]
84 [email protected] 84 [email protected] "4"
85 [email protected] "4" 85 [email protected] ";"
86 [email protected] ";" 86 [email protected] "\n "
87 [email protected] "\n " 87 [email protected]
88 [email protected] 88 [email protected]
89 [email protected] 89 [email protected]
90 [email protected] 90 [email protected]
91 [email protected] 91 [email protected]
92 [email protected] 92 [email protected]
93 [email protected] 93 [email protected] "a"
94 [email protected] "a" 94 [email protected] " "
95 [email protected] " " 95 [email protected] "/="
96 [email protected] "/=" 96 [email protected] " "
97 [email protected] " " 97 [email protected]
98 [email protected] 98 [email protected] "5"
99 [email protected] "5" 99 [email protected] ";"
100 [email protected] ";" 100 [email protected] "\n "
101 [email protected] "\n " 101 [email protected]
102 [email protected] 102 [email protected]
103 [email protected] 103 [email protected]
104 [email protected] 104 [email protected]
105 [email protected] 105 [email protected]
106 [email protected] 106 [email protected]
107 [email protected] 107 [email protected] "a"
108 [email protected] "a" 108 [email protected] " "
109 [email protected] " " 109 [email protected] "|="
110 [email protected] "|=" 110 [email protected] " "
111 [email protected] " " 111 [email protected]
112 [email protected] 112 [email protected] "6"
113 [email protected] "6" 113 [email protected] ";"
114 [email protected] ";" 114 [email protected] "\n "
115 [email protected] "\n " 115 [email protected]
116 [email protected] 116 [email protected]
117 [email protected] 117 [email protected]
118 [email protected] 118 [email protected]
119 [email protected] 119 [email protected]
120 [email protected] 120 [email protected]
121 [email protected] 121 [email protected] "a"
122 [email protected] "a" 122 [email protected] " "
123 [email protected] " " 123 [email protected] "&="
124 [email protected] "&=" 124 [email protected] " "
125 [email protected] " " 125 [email protected]
126 [email protected] 126 [email protected] "7"
127 [email protected] "7" 127 [email protected] ";"
128 [email protected] ";" 128 [email protected] "\n "
129 [email protected] "\n " 129 [email protected]
130 [email protected] 130 [email protected]
131 [email protected] 131 [email protected]
132 [email protected] 132 [email protected]
133 [email protected] 133 [email protected]
134 [email protected] 134 [email protected]
135 [email protected] 135 [email protected] "a"
136 [email protected] "a" 136 [email protected] " "
137 [email protected] " " 137 [email protected] "^="
138 [email protected] "^=" 138 [email protected] " "
139 [email protected] " " 139 [email protected]
140 [email protected] 140 [email protected] "8"
141 [email protected] "8" 141 [email protected] ";"
142 [email protected] ";" 142 [email protected] "\n "
143 [email protected] "\n " 143 [email protected]
144 [email protected] 144 [email protected]
145 [email protected] 145 [email protected]
146 [email protected] 146 [email protected]
147 [email protected] 147 [email protected]
148 [email protected] 148 [email protected]
149 [email protected] 149 [email protected] "a"
150 [email protected] "a" 150 [email protected] " "
151 [email protected] " " 151 [email protected] "<="
152 [email protected] "<=" 152 [email protected] " "
153 [email protected] " " 153 [email protected]
154 [email protected] 154 [email protected] "9"
155 [email protected] "9" 155 [email protected] ";"
156 [email protected] ";" 156 [email protected] "\n "
157 [email protected] "\n " 157 [email protected]
158 [email protected] 158 [email protected]
159 [email protected] 159 [email protected]
160 [email protected] 160 [email protected]
161 [email protected] 161 [email protected]
162 [email protected] 162 [email protected]
163 [email protected] 163 [email protected] "a"
164 [email protected] "a" 164 [email protected] " "
165 [email protected] " " 165 [email protected] ">="
166 [email protected] ">=" 166 [email protected] " "
167 [email protected] " " 167 [email protected]
168 [email protected] 168 [email protected] "10"
169 [email protected] "10" 169 [email protected] ";"
170 [email protected] ";" 170 [email protected] "\n "
171 [email protected] "\n " 171 [email protected]
172 [email protected] 172 [email protected]
173 [email protected] 173 [email protected]
174 [email protected] 174 [email protected]
175 [email protected] 175 [email protected]
176 [email protected] 176 [email protected]
177 [email protected] 177 [email protected] "a"
178 [email protected] "a" 178 [email protected] " "
179 [email protected] " " 179 [email protected] ">>="
180 [email protected] ">>=" 180 [email protected] " "
181 [email protected] " " 181 [email protected]
182 [email protected] 182 [email protected] "11"
183 [email protected] "11" 183 [email protected] ";"
184 [email protected] ";" 184 [email protected] "\n "
185 [email protected] "\n " 185 [email protected]
186 [email protected] 186 [email protected]
187 [email protected] 187 [email protected]
188 [email protected] 188 [email protected]
189 [email protected] 189 [email protected]
190 [email protected] 190 [email protected]
191 [email protected] 191 [email protected] "a"
192 [email protected] "a" 192 [email protected] " "
193 [email protected] " " 193 [email protected] "<<="
194 [email protected] "<<=" 194 [email protected] " "
195 [email protected] " " 195 [email protected]
196 [email protected] 196 [email protected] "12"
197 [email protected] "12" 197 [email protected] ";"
198 [email protected] ";" 198 [email protected] "\n"
199 [email protected] "\n" 199 [email protected] "}"
200 [email protected] "}"
201 [email protected] "\n" 200 [email protected] "\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 750527bb9..0569488f8 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
@@ -9,28 +9,27 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected] "async"
17 [email protected] "async" 17 [email protected] " "
18 [email protected] " " 18 [email protected]
19 [email protected] 19 [email protected] "{"
20 [email protected] "{" 20 [email protected] "}"
21 [email protected] "}" 21 [email protected] ";"
22 [email protected] ";" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "async"
26 [email protected] "async" 26 [email protected] " "
27 [email protected] " " 27 [email protected] "move"
28 [email protected] "move" 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected] "{"
31 [email protected] "{" 31 [email protected] "}"
32 [email protected] "}" 32 [email protected] ";"
33 [email protected] ";" 33 [email protected] "\n"
34 [email protected] "\n" 34 [email protected] "}"
35 [email protected] "}"
36 [email protected] "\n\n" 35 [email protected] "\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 b5577e933..7847da085 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
@@ -49,9 +49,8 @@ [email protected]
49 [email protected] ")" 49 [email protected] ")"
50 [email protected] " " 50 [email protected] " "
51 [email protected] 51 [email protected]
52 [email protected] 52 [email protected] "{"
53 [email protected] "{" 53 [email protected] "}"
54 [email protected] "}"
55 [email protected] "\n\n" 54 [email protected] "\n\n"
56 [email protected] 55 [email protected]
57 [email protected] "fn" 56 [email protected] "fn"
@@ -63,30 +62,29 @@ [email protected]
63 [email protected] ")" 62 [email protected] ")"
64 [email protected] " " 63 [email protected] " "
65 [email protected] 64 [email protected]
66 [email protected] 65 [email protected] "{"
67 [email protected] "{" 66 [email protected] "\n "
68 [email protected] "\n " 67 [email protected]
69 [email protected] 68 [email protected]
70 [email protected] 69 [email protected]
71 [email protected] 70 [email protected]
72 [email protected] 71 [email protected]
73 [email protected] 72 [email protected] "foo"
74 [email protected] "foo" 73 [email protected]
75 [email protected] 74 [email protected] "("
76 [email protected] "(" 75 [email protected]
77 [email protected] 76 [email protected] "async"
78 [email protected] "async" 77 [email protected] " "
79 [email protected] " " 78 [email protected] "move"
80 [email protected] "move" 79 [email protected] " "
81 [email protected] " " 80 [email protected]
82 [email protected] 81 [email protected] "{"
83 [email protected] "{" 82 [email protected] " "
84 [email protected] " " 83 [email protected]
85 [email protected] 84 [email protected] "12"
86 [email protected] "12" 85 [email protected] " "
87 [email protected] " " 86 [email protected] "}"
88 [email protected] "}" 87 [email protected] ")"
89 [email protected] ")" 88 [email protected] "\n"
90 [email protected] "\n" 89 [email protected] "}"
91 [email protected] "}"
92 [email protected] "\n" 90 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.rast
index 6aacc2141..816740a7c 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
@@ -38,9 +38,8 @@ [email protected]
38 [email protected] ")" 38 [email protected] ")"
39 [email protected] " " 39 [email protected] " "
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "{"
42 [email protected] "{" 42 [email protected] "}"
43 [email protected] "}"
44 [email protected] "\n" 43 [email protected] "\n"
45 [email protected] 44 [email protected]
46 [email protected] "fn" 45 [email protected] "fn"
@@ -72,9 +71,8 @@ [email protected]
72 [email protected] ")" 71 [email protected] ")"
73 [email protected] " " 72 [email protected] " "
74 [email protected] 73 [email protected]
75 [email protected] 74 [email protected] "{"
76 [email protected] "{" 75 [email protected] "}"
77 [email protected] "}"
78 [email protected] "\n\n" 76 [email protected] "\n\n"
79 [email protected] 77 [email protected]
80 [email protected] 78 [email protected]
@@ -185,9 +183,8 @@ [email protected]
185 [email protected] "(" 183 [email protected] "("
186 [email protected] ")" 184 [email protected] ")"
187 [email protected] 185 [email protected]
188 [email protected] 186 [email protected] "{"
189 [email protected] "{" 187 [email protected] "}"
190 [email protected] "}"
191 [email protected] "\n\n" 188 [email protected] "\n\n"
192 [email protected] 189 [email protected]
193 [email protected] "trait" 190 [email protected] "trait"
@@ -287,9 +284,8 @@ [email protected]
287 [email protected] ")" 284 [email protected] ")"
288 [email protected] " " 285 [email protected] " "
289 [email protected] 286 [email protected]
290 [email protected] 287 [email protected] "{"
291 [email protected] "{" 288 [email protected] "}"
292 [email protected] "}"
293 [email protected] "\n " 289 [email protected] "\n "
294 [email protected] 290 [email protected]
295 [email protected] "fn" 291 [email protected] "fn"
@@ -312,9 +308,8 @@ [email protected]
312 [email protected] ")" 308 [email protected] ")"
313 [email protected] " " 309 [email protected] " "
314 [email protected] 310 [email protected]
315 [email protected] 311 [email protected] "{"
316 [email protected] "{" 312 [email protected] "}"
317 [email protected] "}"
318 [email protected] "\n " 313 [email protected] "\n "
319 [email protected] 314 [email protected]
320 [email protected] "fn" 315 [email protected] "fn"
@@ -338,9 +333,8 @@ [email protected]
338 [email protected] ")" 333 [email protected] ")"
339 [email protected] " " 334 [email protected] " "
340 [email protected] 335 [email protected]
341 [email protected] 336 [email protected] "{"
342 [email protected] "{" 337 [email protected] "}"
343 [email protected] "}"
344 [email protected] "\n " 338 [email protected] "\n "
345 [email protected] 339 [email protected]
346 [email protected] "fn" 340 [email protected] "fn"
@@ -371,9 +365,8 @@ [email protected]
371 [email protected] ")" 365 [email protected] ")"
372 [email protected] " " 366 [email protected] " "
373 [email protected] 367 [email protected]
374 [email protected] 368 [email protected] "{"
375 [email protected] "{" 369 [email protected] "}"
376 [email protected] "}"
377 [email protected] "\n " 370 [email protected] "\n "
378 [email protected] 371 [email protected]
379 [email protected] "fn" 372 [email protected] "fn"
@@ -404,9 +397,8 @@ [email protected]
404 [email protected] ")" 397 [email protected] ")"
405 [email protected] " " 398 [email protected] " "
406 [email protected] 399 [email protected]
407 [email protected] 400 [email protected] "{"
408 [email protected] "{" 401 [email protected] "}"
409 [email protected] "}"
410 [email protected] "\n " 402 [email protected] "\n "
411 [email protected] 403 [email protected]
412 [email protected] "fn" 404 [email protected] "fn"
@@ -439,9 +431,8 @@ [email protected]
439 [email protected] ")" 431 [email protected] ")"
440 [email protected] " " 432 [email protected] " "
441 [email protected] 433 [email protected]
442 [email protected] 434 [email protected] "{"
443 [email protected] "{" 435 [email protected] "}"
444 [email protected] "}"
445 [email protected] "\n " 436 [email protected] "\n "
446 [email protected] 437 [email protected]
447 [email protected] "fn" 438 [email protected] "fn"
@@ -471,9 +462,8 @@ [email protected]
471 [email protected] ")" 462 [email protected] ")"
472 [email protected] " " 463 [email protected] " "
473 [email protected] 464 [email protected]
474 [email protected] 465 [email protected] "{"
475 [email protected] "{" 466 [email protected] "}"
476 [email protected] "}"
477 [email protected] "\n " 467 [email protected] "\n "
478 [email protected] 468 [email protected]
479 [email protected] "fn" 469 [email protected] "fn"
@@ -512,8 +502,7 @@ [email protected]
512 [email protected] ")" 502 [email protected] ")"
513 [email protected] " " 503 [email protected] " "
514 [email protected] 504 [email protected]
515 [email protected] 505 [email protected] "{"
516 [email protected] "{" 506 [email protected] "}"
517 [email protected] "}"
518 [email protected] "\n" 507 [email protected] "\n"
519 [email protected] "}" 508 [email protected] "}"
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 f376f86a7..65cfa7bc5 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
@@ -9,73 +9,70 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "for"
16 [email protected] "for" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected] "_x"
20 [email protected] "_x" 20 [email protected] " "
21 [email protected] " " 21 [email protected] "in"
22 [email protected] "in" 22 [email protected] " "
23 [email protected] " " 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "0"
26 [email protected] "0" 26 [email protected] " "
27 [email protected] " " 27 [email protected] ".."
28 [email protected] ".." 28 [email protected] " "
29 [email protected] " " 29 [email protected]
30 [email protected] 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected] "0"
35 [email protected] "0" 35 [email protected] " "
36 [email protected] " " 36 [email protected] ".."
37 [email protected] ".." 37 [email protected] " "
38 [email protected] " " 38 [email protected]
39 [email protected] 39 [email protected] "{"
40 [email protected] 40 [email protected]
41 [email protected] "{" 41 [email protected]
42 [email protected] 42 [email protected] "1"
43 [email protected] 43 [email protected] " "
44 [email protected] "1" 44 [email protected] "+"
45 [email protected] " " 45 [email protected] " "
46 [email protected] "+" 46 [email protected]
47 [email protected] " " 47 [email protected] "2"
48 [email protected] 48 [email protected] "}"
49 [email protected] "2" 49 [email protected] ")"
50 [email protected] "}" 50 [email protected] "."
51 [email protected] ")" 51 [email protected]
52 [email protected] "." 52 [email protected] "sum"
53 [email protected] 53 [email protected]
54 [email protected] "sum" 54 [email protected] "::"
55 [email protected] 55 [email protected] "<"
56 [email protected] "::" 56 [email protected]
57 [email protected] "<" 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "u32"
62 [email protected] 62 [email protected] ">"
63 [email protected] "u32" 63 [email protected]
64 [email protected] ">" 64 [email protected] "("
65 [email protected] 65 [email protected] ")"
66 [email protected] "(" 66 [email protected] " "
67 [email protected] ")" 67 [email protected]
68 [email protected] " " 68 [email protected] "{"
69 [email protected] 69 [email protected] "\n "
70 [email protected] 70 [email protected]
71 [email protected] "{" 71 [email protected]
72 [email protected] "\n " 72 [email protected] "break"
73 [email protected] 73 [email protected] ";"
74 [email protected] 74 [email protected] "\n "
75 [email protected] "break" 75 [email protected] "}"
76 [email protected] ";" 76 [email protected] "\n"
77 [email protected] "\n " 77 [email protected] "}"
78 [email protected] "}"
79 [email protected] "\n"
80 [email protected] "}"
81 [email protected] "\n" 78 [email protected] "\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 f20819bd2..d6aec7ab9 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
@@ -32,9 +32,8 @@ [email protected]
32 [email protected] ">" 32 [email protected] ">"
33 [email protected] " " 33 [email protected] " "
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "{"
36 [email protected] "{" 36 [email protected] "}"
37 [email protected] "}"
38 [email protected] "\n\n" 37 [email protected] "\n\n"
39 [email protected] 38 [email protected]
40 [email protected] "fn" 39 [email protected] "fn"
@@ -75,9 +74,8 @@ [email protected]
75 [email protected] ")" 74 [email protected] ")"
76 [email protected] " " 75 [email protected] " "
77 [email protected] 76 [email protected]
78 [email protected] 77 [email protected] "{"
79 [email protected] "{" 78 [email protected] "}"
80 [email protected] "}"
81 [email protected] "\n\n" 79 [email protected] "\n\n"
82 [email protected] 80 [email protected]
83 [email protected] "fn" 81 [email protected] "fn"
@@ -120,7 +118,6 @@ [email protected]
120 [email protected] ")" 118 [email protected] ")"
121 [email protected] " " 119 [email protected] " "
122 [email protected] 120 [email protected]
123 [email protected] 121 [email protected] "{"
124 [email protected] "{" 122 [email protected] "}"
125 [email protected] "}"
126 [email protected] "\n" 123 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast b/crates/ra_syntax/test_data/parser/ok/0055_dot_dot_dot.rast
index dcdb3cc6d..9e0cec35f 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
@@ -22,29 +22,28 @@ [email protected]
22 [email protected] ")" 22 [email protected] ")"
23 [email protected] " " 23 [email protected] " "
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected] "{"
26 [email protected] "{" 26 [email protected] "\n "
27 [email protected] "\n " 27 [email protected]
28 [email protected] 28 [email protected] "let"
29 [email protected] "let" 29 [email protected] " "
30 [email protected] " " 30 [email protected]
31 [email protected] 31 [email protected] "("
32 [email protected] "(" 32 [email protected] ")"
33 [email protected] ")" 33 [email protected] ":"
34 [email protected] ":" 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected] "::"
38 [email protected] "::" 38 [email protected]
39 [email protected] 39 [email protected] "X"
40 [email protected] "X" 40 [email protected] " "
41 [email protected] " " 41 [email protected] "="
42 [email protected] "=" 42 [email protected] " "
43 [email protected] " " 43 [email protected]
44 [email protected] 44 [email protected] "("
45 [email protected] "(" 45 [email protected] ")"
46 [email protected] ")" 46 [email protected] ";"
47 [email protected] ";" 47 [email protected] "\n"
48 [email protected] "\n" 48 [email protected] "}"
49 [email protected] "}"
50 [email protected] "\n" 49 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast b/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast
index 6176a9620..7fa3033ac 100644
--- a/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0056_neq_in_type.rast
@@ -9,58 +9,56 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "if"
16 [email protected] "if" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected]
21 [email protected] 21 [email protected]
22 [email protected] 22 [email protected] "1.0f32"
23 [email protected] "1.0f32" 23 [email protected] "."
24 [email protected] "." 24 [email protected]
25 [email protected] 25 [email protected] "floor"
26 [email protected] "floor" 26 [email protected]
27 [email protected] 27 [email protected] "("
28 [email protected] "(" 28 [email protected] ")"
29 [email protected] ")" 29 [email protected] " "
30 [email protected] " " 30 [email protected] "as"
31 [email protected] "as" 31 [email protected] " "
32 [email protected] " " 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected]
36 [email protected] 36 [email protected] "i64"
37 [email protected] "i64" 37 [email protected] " "
38 [email protected] " " 38 [email protected] "!="
39 [email protected] "!=" 39 [email protected] " "
40 [email protected] " " 40 [email protected]
41 [email protected] 41 [email protected]
42 [email protected] 42 [email protected]
43 [email protected] 43 [email protected] "1.0f32"
44 [email protected] "1.0f32" 44 [email protected] "."
45 [email protected] "." 45 [email protected]
46 [email protected] 46 [email protected] "floor"
47 [email protected] "floor" 47 [email protected]
48 [email protected] 48 [email protected] "("
49 [email protected] "(" 49 [email protected] ")"
50 [email protected] ")" 50 [email protected] " "
51 [email protected] " " 51 [email protected] "as"
52 [email protected] "as" 52 [email protected] " "
53 [email protected] " " 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected]
57 [email protected] 57 [email protected] "i64"
58 [email protected] "i64" 58 [email protected] " "
59 [email protected] " " 59 [email protected]
60 [email protected] 60 [email protected] "{"
61 [email protected] 61 [email protected] "}"
62 [email protected] "{" 62 [email protected] "\n"
63 [email protected] "}" 63 [email protected] "}"
64 [email protected] "\n"
65 [email protected] "}"
66 [email protected] "\n" 64 [email protected] "\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 342fe23f5..d93968016 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
@@ -20,9 +20,8 @@ [email protected]
20 [email protected] ")" 20 [email protected] ")"
21 [email protected] " " 21 [email protected] " "
22 [email protected] 22 [email protected]
23 [email protected] 23 [email protected] "{"
24 [email protected] "{" 24 [email protected] "}"
25 [email protected] "}"
26 [email protected] "\n\n" 25 [email protected] "\n\n"
27 [email protected] 26 [email protected]
28 [email protected] "fn" 27 [email protected] "fn"
@@ -34,26 +33,24 @@ [email protected]
34 [email protected] ")" 33 [email protected] ")"
35 [email protected] " " 34 [email protected] " "
36 [email protected] 35 [email protected]
37 [email protected] 36 [email protected] "{"
38 [email protected] "{" 37 [email protected] "\n "
39 [email protected] "\n " 38 [email protected]
40 [email protected] 39 [email protected]
41 [email protected] 40 [email protected]
42 [email protected] 41 [email protected]
43 [email protected] 42 [email protected]
44 [email protected] 43 [email protected]
45 [email protected] 44 [email protected] "foo"
46 [email protected] "foo" 45 [email protected]
47 [email protected] 46 [email protected] "("
48 [email protected] "(" 47 [email protected]
49 [email protected] 48 [email protected] "loop"
50 [email protected] "loop" 49 [email protected] " "
51 [email protected] " " 50 [email protected]
52 [email protected] 51 [email protected] "{"
53 [email protected] 52 [email protected] "}"
54 [email protected] "{" 53 [email protected] ")"
55 [email protected] "}" 54 [email protected] ";"
56 [email protected] ")" 55 [email protected] "\n"
57 [email protected] ";" 56 [email protected] "}"
58 [email protected] "\n"
59 [email protected] "}"
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 360b6e044..b5c72ee36 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
@@ -9,89 +9,88 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "1"
19 [email protected] "1" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "+"
21 [email protected] "+" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected] "*"
24 [email protected] "*" 24 [email protected]
25 [email protected] 25 [email protected] "&"
26 [email protected] "&" 26 [email protected]
27 [email protected] 27 [email protected] "2"
28 [email protected] "2" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "+"
30 [email protected] "+" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected] "3"
33 [email protected] "3" 33 [email protected] ";"
34 [email protected] ";" 34 [email protected] "\n "
35 [email protected] "\n " 35 [email protected]
36 [email protected] 36 [email protected]
37 [email protected] 37 [email protected]
38 [email protected] 38 [email protected] "*"
39 [email protected] "*" 39 [email protected]
40 [email protected] 40 [email protected] "&"
41 [email protected] "&" 41 [email protected]
42 [email protected] 42 [email protected] "1"
43 [email protected] "1" 43 [email protected] " "
44 [email protected] " " 44 [email protected] "as"
45 [email protected] "as" 45 [email protected] " "
46 [email protected] " " 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected] "u64"
51 [email protected] "u64" 51 [email protected] ";"
52 [email protected] ";" 52 [email protected] "\n "
53 [email protected] "\n " 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected] "*"
56 [email protected] "*" 56 [email protected]
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected]
59 [email protected] 59 [email protected]
60 [email protected] 60 [email protected]
61 [email protected] 61 [email protected] "x"
62 [email protected] "x" 62 [email protected]
63 [email protected] 63 [email protected] "("
64 [email protected] "(" 64 [email protected]
65 [email protected] 65 [email protected] "1"
66 [email protected] "1" 66 [email protected] ")"
67 [email protected] ")" 67 [email protected] ";"
68 [email protected] ";" 68 [email protected] "\n "
69 [email protected] "\n " 69 [email protected]
70 [email protected] 70 [email protected]
71 [email protected] 71 [email protected] "&"
72 [email protected] "&" 72 [email protected]
73 [email protected] 73 [email protected]
74 [email protected] 74 [email protected]
75 [email protected] 75 [email protected]
76 [email protected] 76 [email protected]
77 [email protected] 77 [email protected] "x"
78 [email protected] "x" 78 [email protected] "["
79 [email protected] "[" 79 [email protected]
80 [email protected] 80 [email protected] "1"
81 [email protected] "1" 81 [email protected] "]"
82 [email protected] "]" 82 [email protected] ";"
83 [email protected] ";" 83 [email protected] "\n "
84 [email protected] "\n " 84 [email protected]
85 [email protected] 85 [email protected]
86 [email protected] 86 [email protected]
87 [email protected] 87 [email protected] "-"
88 [email protected] "-" 88 [email protected]
89 [email protected] 89 [email protected] "1"
90 [email protected] "1" 90 [email protected] ".."
91 [email protected] ".." 91 [email protected]
92 [email protected] 92 [email protected] "2"
93 [email protected] "2" 93 [email protected] ";"
94 [email protected] ";" 94 [email protected] "\n"
95 [email protected] "\n" 95 [email protected] "}"
96 [email protected] "}"
97 [email protected] "\n" 96 [email protected] "\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 225b1d0b6..ddcb139c1 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
@@ -9,93 +9,89 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected]
19 [email protected] 19 [email protected]
20 [email protected] 20 [email protected] "Some"
21 [email protected] "Some" 21 [email protected]
22 [email protected] 22 [email protected] "("
23 [email protected] "(" 23 [email protected]
24 [email protected] 24 [email protected] "for"
25 [email protected] "for" 25 [email protected] " "
26 [email protected] " " 26 [email protected]
27 [email protected] 27 [email protected] "_"
28 [email protected] "_" 28 [email protected] " "
29 [email protected] " " 29 [email protected] "in"
30 [email protected] "in" 30 [email protected] " "
31 [email protected] " " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected] "["
34 [email protected] "[" 34 [email protected]
35 [email protected] 35 [email protected] "1"
36 [email protected] "1" 36 [email protected] "]"
37 [email protected] "]" 37 [email protected] "."
38 [email protected] "." 38 [email protected]
39 [email protected] 39 [email protected] "into_iter"
40 [email protected] "into_iter" 40 [email protected]
41 [email protected] 41 [email protected] "("
42 [email protected] "(" 42 [email protected] ")"
43 [email protected] ")" 43 [email protected] " "
44 [email protected] " " 44 [email protected]
45 [email protected] 45 [email protected] "{"
46 [email protected] 46 [email protected] "}"
47 [email protected] "{" 47 [email protected] ")"
48 [email protected] "}" 48 [email protected] ";"
49 [email protected] ")" 49 [email protected] "\n "
50 [email protected] ";" 50 [email protected]
51 [email protected] "\n " 51 [email protected]
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected]
54 [email protected] 54 [email protected]
55 [email protected] 55 [email protected]
56 [email protected] 56 [email protected] "Some"
57 [email protected] 57 [email protected]
58 [email protected] "Some" 58 [email protected] "("
59 [email protected] 59 [email protected]
60 [email protected] "(" 60 [email protected] "loop"
61 [email protected] 61 [email protected] " "
62 [email protected] "loop" 62 [email protected]
63 [email protected] " " 63 [email protected] "{"
64 [email protected] 64 [email protected] " "
65 [email protected] 65 [email protected]
66 [email protected] "{" 66 [email protected]
67 [email protected] " " 67 [email protected] "break"
68 [email protected] 68 [email protected] ";"
69 [email protected] 69 [email protected] " "
70 [email protected] "break" 70 [email protected] "}"
71 [email protected] ";" 71 [email protected] ")"
72 [email protected] " " 72 [email protected] ";"
73 [email protected] "}" 73 [email protected] "\n "
74 [email protected] ")" 74 [email protected]
75 [email protected] ";" 75 [email protected]
76 [email protected] "\n " 76 [email protected]
77 [email protected] 77 [email protected]
78 [email protected] 78 [email protected]
79 [email protected] 79 [email protected]
80 [email protected] 80 [email protected] "Some"
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "("
83 [email protected] "Some" 83 [email protected]
84 [email protected] 84 [email protected] "while"
85 [email protected] "(" 85 [email protected] " "
86 [email protected] 86 [email protected]
87 [email protected] "while" 87 [email protected]
88 [email protected] " " 88 [email protected] "true"
89 [email protected] 89 [email protected] " "
90 [email protected] 90 [email protected]
91 [email protected] "true" 91 [email protected] "{"
92 [email protected] " " 92 [email protected] "}"
93 [email protected] 93 [email protected] ")"
94 [email protected] 94 [email protected] ";"
95 [email protected] "{" 95 [email protected] "\n"
96 [email protected] "}" 96 [email protected] "}"
97 [email protected] ")"
98 [email protected] ";"
99 [email protected] "\n"
100 [email protected] "}"
101 [email protected] "\n" 97 [email protected] "\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 a52a08ed0..098152fc3 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
@@ -9,48 +9,47 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected]
16 [email protected] 16 [email protected]
17 [email protected] 17 [email protected]
18 [email protected] 18 [email protected] "0"
19 [email protected] "0" 19 [email protected] " "
20 [email protected] " " 20 [email protected] "as"
21 [email protected] "as" 21 [email protected] " "
22 [email protected] " " 22 [email protected]
23 [email protected] 23 [email protected]
24 [email protected] 24 [email protected]
25 [email protected] 25 [email protected]
26 [email protected] 26 [email protected] "usize"
27 [email protected] "usize" 27 [email protected] " "
28 [email protected] " " 28 [email protected] ".."
29 [email protected] ".." 29 [email protected] ";"
30 [email protected] ";" 30 [email protected] "\n "
31 [email protected] "\n " 31 [email protected]
32 [email protected] 32 [email protected]
33 [email protected] 33 [email protected]
34 [email protected] 34 [email protected]
35 [email protected] 35 [email protected] "1"
36 [email protected] "1" 36 [email protected] " "
37 [email protected] " " 37 [email protected] "+"
38 [email protected] "+" 38 [email protected] " "
39 [email protected] " " 39 [email protected]
40 [email protected] 40 [email protected]
41 [email protected] 41 [email protected] "2"
42 [email protected] "2" 42 [email protected] " "
43 [email protected] " " 43 [email protected] "as"
44 [email protected] "as" 44 [email protected] " "
45 [email protected] " " 45 [email protected]
46 [email protected] 46 [email protected]
47 [email protected] 47 [email protected]
48 [email protected] 48 [email protected]
49 [email protected] 49 [email protected] "usize"
50 [email protected] "usize" 50 [email protected] " "
51 [email protected] " " 51 [email protected] ".."
52 [email protected] ".." 52 [email protected] ";"
53 [email protected] ";" 53 [email protected] "\n"
54 [email protected] "\n" 54 [email protected] "}"
55 [email protected] "}"
56 [email protected] "\n" 55 [email protected] "\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 b8974c942..c6e982976 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
@@ -9,19 +9,18 @@ [email protected]
9 [email protected] ")" 9 [email protected] ")"
10 [email protected] " " 10 [email protected] " "
11 [email protected] 11 [email protected]
12 [email protected] 12 [email protected] "{"
13 [email protected] "{" 13 [email protected] "\n "
14 [email protected] "\n " 14 [email protected]
15 [email protected] 15 [email protected] "match"
16 [email protected] "match" 16 [email protected] " "
17 [email protected] " " 17 [email protected]
18 [email protected] 18 [email protected] ".."
19 [email protected] ".." 19 [email protected] " "
20 [email protected] " " 20 [email protected]
21 [email protected] 21 [email protected] "{"
22 [email protected] "{" 22 [email protected] "\n "
23 [email protected] "\n " 23 [email protected] "}"
24 [email protected] "}" 24 [email protected] "\n"
25 [email protected] "\n" 25 [email protected] "}"
26 [email protected] "}"
27 [email protected] "\n" 26 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast b/crates/ra_syntax/test_data/parser/ok/0062_macro_2.0.rast
index 46f370eec..bf791ee2b 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
@@ -70,107 +70,106 @@ [email protected]
70 [email protected] ")" 70 [email protected] ")"
71 [email protected] " " 71 [email protected] " "
72 [email protected] 72 [email protected]
73 [email protected] 73 [email protected] "{"
74 [email protected] "{" 74 [email protected] "\n "
75 [email protected] "\n " 75 [email protected]
76 [email protected] 76 [email protected] "macro"
77 [email protected] "macro" 77 [email protected] " "
78 [email protected] " " 78 [email protected]
79 [email protected] 79 [email protected] "test_merge"
80 [email protected] "test_merge" 80 [email protected]
81 [email protected] 81 [email protected]
82 [email protected] 82 [email protected] "("
83 [email protected] "(" 83 [email protected]
84 [email protected] 84 [email protected] "["
85 [email protected] "[" 85 [email protected] "$"
86 [email protected] "$" 86 [email protected]
87 [email protected] 87 [email protected] "("
88 [email protected] "(" 88 [email protected] "$"
89 [email protected] "$" 89 [email protected] "input"
90 [email protected] "input" 90 [email protected] ":"
91 [email protected] ":" 91 [email protected] "expr"
92 [email protected] "expr" 92 [email protected] ")"
93 [email protected] ")" 93 [email protected] ","
94 [email protected] "," 94 [email protected] "*"
95 [email protected] "*" 95 [email protected] " "
96 [email protected] " " 96 [email protected] "$"
97 [email protected] "$" 97 [email protected]
98 [email protected] 98 [email protected] "("
99 [email protected] "(" 99 [email protected] ","
100 [email protected] "," 100 [email protected] ")"
101 [email protected] ")" 101 [email protected] "*"
102 [email protected] "*" 102 [email protected] "]"
103 [email protected] "]" 103 [email protected] ","
104 [email protected] "," 104 [email protected] " "
105 [email protected] " " 105 [email protected]
106 [email protected] 106 [email protected] "["
107 [email protected] "[" 107 [email protected] "$"
108 [email protected] "$" 108 [email protected]
109 [email protected] 109 [email protected] "("
110 [email protected] "(" 110 [email protected] "$"
111 [email protected] "$" 111 [email protected] "output"
112 [email protected] "output" 112 [email protected] ":"
113 [email protected] ":" 113 [email protected] "expr"
114 [email protected] "expr" 114 [email protected] ")"
115 [email protected] ")" 115 [email protected] ","
116 [email protected] "," 116 [email protected] "*"
117 [email protected] "*" 117 [email protected] " "
118 [email protected] " " 118 [email protected] "$"
119 [email protected] "$" 119 [email protected]
120 [email protected] 120 [email protected] "("
121 [email protected] "(" 121 [email protected] ","
122 [email protected] "," 122 [email protected] ")"
123 [email protected] ")" 123 [email protected] "*"
124 [email protected] "*" 124 [email protected] "]"
125 [email protected] "]" 125 [email protected] ")"
126 [email protected] ")" 126 [email protected] " "
127 [email protected] " " 127 [email protected]
128 [email protected] 128 [email protected] "{"
129 [email protected] "{" 129 [email protected] "\n "
130 [email protected] "\n " 130 [email protected] "assert_eq"
131 [email protected] "assert_eq" 131 [email protected] "!"
132 [email protected] "!" 132 [email protected]
133 [email protected] 133 [email protected] "("
134 [email protected] "(" 134 [email protected] "\n "
135 [email protected] "\n " 135 [email protected] "merge_use_trees"
136 [email protected] "merge_use_trees" 136 [email protected]
137 [email protected] 137 [email protected] "("
138 [email protected] "(" 138 [email protected] "parse_use_trees"
139 [email protected] "parse_use_trees" 139 [email protected] "!"
140 [email protected] "!" 140 [email protected]
141 [email protected] 141 [email protected] "("
142 [email protected] "(" 142 [email protected] "$"
143 [email protected] "$" 143 [email protected]
144 [email protected] 144 [email protected] "("
145 [email protected] "(" 145 [email protected] "$"
146 [email protected] "$" 146 [email protected] "input"
147 [email protected] "input" 147 [email protected] ","
148 [email protected] "," 148 [email protected] ")"
149 [email protected] ")" 149 [email protected] "*"
150 [email protected] "*" 150 [email protected] ")"
151 [email protected] ")" 151 [email protected] ")"
152 [email protected] ")" 152 [email protected] ","
153 [email protected] "," 153 [email protected] "\n "
154 [email protected] "\n " 154 [email protected] "parse_use_trees"
155 [email protected] "parse_use_trees" 155 [email protected] "!"
156 [email protected] "!" 156 [email protected]
157 [email protected] 157 [email protected] "("
158 [email protected] "(" 158 [email protected] "$"
159 [email protected] "$" 159 [email protected]
160 [email protected] 160 [email protected] "("
161 [email protected] "(" 161 [email protected] "$"
162 [email protected] "$" 162 [email protected] "output"
163 [email protected] "output" 163 [email protected] ","
164 [email protected] "," 164 [email protected] ")"
165 [email protected] ")" 165 [email protected] "*"
166 [email protected] "*" 166 [email protected] ")"
167 [email protected] ")" 167 [email protected] ","
168 [email protected] "," 168 [email protected] "\n "
169 [email protected] "\n " 169 [email protected] ")"
170 [email protected] ")" 170 [email protected] ";"
171 [email protected] ";" 171 [email protected] "\n "
172 [email protected] "\n " 172 [email protected] "}"
173 [email protected] "}" 173 [email protected] "\n"
174 [email protected] "\n" 174 [email protected] "}"
175 [email protected] "}"
176 [email protected] "\n" 175 [email protected] "\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 1cd77aa14..886b211d0 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
@@ -47,9 +47,8 @@ [email protected]
47 [email protected] ")" 47 [email protected] ")"
48 [email protected] " " 48 [email protected] " "
49 [email protected] 49 [email protected]
50 [email protected] 50 [email protected] "{"
51 [email protected] "{" 51 [email protected] "}"
52 [email protected] "}"
53 [email protected] "\n " 52 [email protected] "\n "
54 [email protected] 53 [email protected]
55 [email protected] "fn" 54 [email protected] "fn"
@@ -90,9 +89,8 @@ [email protected]
90 [email protected] ")" 89 [email protected] ")"
91 [email protected] " " 90 [email protected] " "
92 [email protected] 91 [email protected]
93 [email protected] 92 [email protected] "{"
94 [email protected] "{" 93 [email protected] "}"
95 [email protected] "}"
96 [email protected] "\n " 94 [email protected] "\n "
97 [email protected] 95 [email protected]
98 [email protected] "fn" 96 [email protected] "fn"
@@ -122,9 +120,8 @@ [email protected]
122 [email protected] ")" 120 [email protected] ")"
123 [email protected] " " 121 [email protected] " "
124 [email protected] 122 [email protected]
125 [email protected] 123 [email protected] "{"
126 [email protected] "{" 124 [email protected] "}"
127 [email protected] "}"
128 [email protected] "\n " 125 [email protected] "\n "
129 [email protected] 126 [email protected]
130 [email protected] "fn" 127 [email protected] "fn"
@@ -155,9 +152,8 @@ [email protected]
155 [email protected] ")" 152 [email protected] ")"
156 [email protected] " " 153 [email protected] " "
157 [email protected] 154 [email protected]
158 [email protected] 155 [email protected] "{"
159 [email protected] "{" 156 [email protected] "}"
160 [email protected] "}"
161 [email protected] "\n " 157 [email protected] "\n "
162 [email protected] 158 [email protected]
163 [email protected] "fn" 159 [email protected] "fn"
diff --git a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
index 4f9a14066..a0423806c 100644
--- a/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0064_impl_fn_params.rast
@@ -50,9 +50,8 @@ [email protected]
50 [email protected] ")" 50 [email protected] ")"
51 [email protected] " " 51 [email protected] " "
52 [email protected] 52 [email protected]
53 [email protected] 53 [email protected] "{"
54 [email protected] "{" 54 [email protected] "}"
55 [email protected] "}"
56 [email protected] "\n " 55 [email protected] "\n "
57 [email protected] 56 [email protected]
58 [email protected] "fn" 57 [email protected] "fn"
@@ -93,9 +92,8 @@ [email protected]
93 [email protected] ")" 92 [email protected] ")"
94 [email protected] " " 93 [email protected] " "
95 [email protected] 94 [email protected]
96 [email protected] 95 [email protected] "{"
97 [email protected] "{" 96 [email protected] "}"
98 [email protected] "}"
99 [email protected] "\n " 97 [email protected] "\n "
100 [email protected] 98 [email protected]
101 [email protected] "fn" 99 [email protected] "fn"
@@ -125,9 +123,8 @@ [email protected]
125 [email protected] ")" 123 [email protected] ")"
126 [email protected] " " 124 [email protected] " "
127 [email protected] 125 [email protected]
128 [email protected] 126 [email protected] "{"
129 [email protected] "{" 127 [email protected] "}"
130 [email protected] "}"
131 [email protected] "\n " 128 [email protected] "\n "
132 [email protected] 129 [email protected]
133 [email protected] "fn" 130 [email protected] "fn"
@@ -158,9 +155,8 @@ [email protected]
158 [email protected] ")" 155 [email protected] ")"
159 [email protected] " " 156 [email protected] " "
160 [email protected] 157 [email protected]
161 [email protected] 158 [email protected] "{"
162 [email protected] "{" 159 [email protected] "}"
163 [email protected] "}"
164 [email protected] "\n" 160 [email protected] "\n"
165 [email protected] "}" 161 [email protected] "}"
166 [email protected] "\n" 162 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast b/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast
index 3294f4901..d1fffdd63 100644
--- a/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0065_comment_newline.rast
@@ -11,7 +11,6 @@ [email protected]
11 [email protected] ")" 11 [email protected] ")"
12 [email protected] " " 12 [email protected] " "
13 [email protected] 13 [email protected]
14 [email protected] 14 [email protected] "{"
15 [email protected] "{" 15 [email protected] "}"
16 [email protected] "}"
17 [email protected] "\n" 16 [email protected] "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast b/crates/ra_syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast
index 633b14000..eb2f8eb3c 100644
--- a/crates/ra_syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0065_plus_after_fn_trait_bound.rast
@@ -55,7 +55,6 @@ [email protected]
55 [email protected] "Send" 55 [email protected] "Send"
56 [email protected] " " 56 [email protected] " "
57 [email protected] 57 [email protected]
58 [email protected] 58 [email protected] "{"
59 [email protected] "{" 59 [email protected] "}"
60 [email protected] "}"
61 [email protected] "\n" 60 [email protected] "\n"
diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml
index 0459807fc..8c94f430a 100644
--- a/crates/rust-analyzer/Cargo.toml
+++ b/crates/rust-analyzer/Cargo.toml
@@ -26,7 +26,7 @@ pico-args = "0.3.1"
26rand = { version = "0.7.3", features = ["small_rng"] } 26rand = { version = "0.7.3", features = ["small_rng"] }
27relative-path = "1.0.0" 27relative-path = "1.0.0"
28rustc-hash = "1.1.0" 28rustc-hash = "1.1.0"
29serde = { version = "1.0.104", features = ["derive"] } 29serde = { version = "1.0.106", features = ["derive"] }
30serde_json = "1.0.48" 30serde_json = "1.0.48"
31threadpool = "1.7.1" 31threadpool = "1.7.1"
32 32
diff --git a/crates/rust-analyzer/src/caps.rs b/crates/rust-analyzer/src/caps.rs
index e22ab8402..44222d8bd 100644
--- a/crates/rust-analyzer/src/caps.rs
+++ b/crates/rust-analyzer/src/caps.rs
@@ -3,13 +3,13 @@
3use crate::semantic_tokens; 3use crate::semantic_tokens;
4 4
5use lsp_types::{ 5use lsp_types::{
6 CallHierarchyServerCapability, CodeActionProviderCapability, CodeLensOptions, 6 CallHierarchyServerCapability, CodeActionOptions, CodeActionProviderCapability,
7 CompletionOptions, DocumentOnTypeFormattingOptions, FoldingRangeProviderCapability, 7 CodeLensOptions, CompletionOptions, DocumentOnTypeFormattingOptions,
8 ImplementationProviderCapability, RenameOptions, RenameProviderCapability, SaveOptions, 8 FoldingRangeProviderCapability, ImplementationProviderCapability, RenameOptions,
9 SelectionRangeProviderCapability, SemanticTokensDocumentProvider, SemanticTokensLegend, 9 RenameProviderCapability, SaveOptions, SelectionRangeProviderCapability,
10 SemanticTokensOptions, ServerCapabilities, SignatureHelpOptions, TextDocumentSyncCapability, 10 SemanticTokensDocumentProvider, SemanticTokensLegend, SemanticTokensOptions,
11 TextDocumentSyncKind, TextDocumentSyncOptions, TypeDefinitionProviderCapability, 11 ServerCapabilities, SignatureHelpOptions, TextDocumentSyncCapability, TextDocumentSyncKind,
12 WorkDoneProgressOptions, 12 TextDocumentSyncOptions, TypeDefinitionProviderCapability, WorkDoneProgressOptions,
13}; 13};
14 14
15pub fn server_capabilities() -> ServerCapabilities { 15pub fn server_capabilities() -> ServerCapabilities {
@@ -40,7 +40,20 @@ pub fn server_capabilities() -> ServerCapabilities {
40 document_highlight_provider: Some(true), 40 document_highlight_provider: Some(true),
41 document_symbol_provider: Some(true), 41 document_symbol_provider: Some(true),
42 workspace_symbol_provider: Some(true), 42 workspace_symbol_provider: Some(true),
43 code_action_provider: Some(CodeActionProviderCapability::Simple(true)), 43 code_action_provider: Some(CodeActionProviderCapability::Options(CodeActionOptions {
44 // Advertise support for all built-in CodeActionKinds
45 code_action_kinds: Some(vec![
46 lsp_types::code_action_kind::EMPTY.to_string(),
47 lsp_types::code_action_kind::QUICKFIX.to_string(),
48 lsp_types::code_action_kind::REFACTOR.to_string(),
49 lsp_types::code_action_kind::REFACTOR_EXTRACT.to_string(),
50 lsp_types::code_action_kind::REFACTOR_INLINE.to_string(),
51 lsp_types::code_action_kind::REFACTOR_REWRITE.to_string(),
52 lsp_types::code_action_kind::SOURCE.to_string(),
53 lsp_types::code_action_kind::SOURCE_ORGANIZE_IMPORTS.to_string(),
54 ]),
55 work_done_progress_options: Default::default(),
56 })),
44 code_lens_provider: Some(CodeLensOptions { resolve_provider: Some(true) }), 57 code_lens_provider: Some(CodeLensOptions { resolve_provider: Some(true) }),
45 document_formatting_provider: Some(true), 58 document_formatting_provider: Some(true),
46 document_range_formatting_provider: None, 59 document_range_formatting_provider: None,
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index 74a63e32a..177da94cc 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -70,6 +70,7 @@ pub struct ClientCapsConfig {
70 pub location_link: bool, 70 pub location_link: bool,
71 pub line_folding_only: bool, 71 pub line_folding_only: bool,
72 pub hierarchical_symbols: bool, 72 pub hierarchical_symbols: bool,
73 pub code_action_literals: bool,
73} 74}
74 75
75impl Default for Config { 76impl Default for Config {
@@ -221,6 +222,11 @@ impl Config {
221 { 222 {
222 self.client_caps.hierarchical_symbols = value 223 self.client_caps.hierarchical_symbols = value
223 } 224 }
225 if let Some(value) =
226 caps.code_action.as_ref().and_then(|it| Some(it.code_action_literal_support.is_some()))
227 {
228 self.client_caps.code_action_literals = value;
229 }
224 self.completion.allow_snippets(false); 230 self.completion.allow_snippets(false);
225 if let Some(completion) = &caps.completion { 231 if let Some(completion) = &caps.completion {
226 if let Some(completion_item) = &completion.completion_item { 232 if let Some(completion_item) = &completion.completion_item {
diff --git a/crates/rust-analyzer/src/main_loop/handlers.rs b/crates/rust-analyzer/src/main_loop/handlers.rs
index 8db2dfa0c..c7a96ba93 100644
--- a/crates/rust-analyzer/src/main_loop/handlers.rs
+++ b/crates/rust-analyzer/src/main_loop/handlers.rs
@@ -19,8 +19,7 @@ use lsp_types::{
19 TextEdit, Url, WorkspaceEdit, 19 TextEdit, Url, WorkspaceEdit,
20}; 20};
21use ra_ide::{ 21use ra_ide::{
22 Assist, AssistId, FileId, FilePosition, FileRange, Query, RangeInfo, Runnable, RunnableKind, 22 Assist, FileId, FilePosition, FileRange, Query, RangeInfo, Runnable, RunnableKind, SearchScope,
23 SearchScope,
24}; 23};
25use ra_prof::profile; 24use ra_prof::profile;
26use ra_syntax::{AstNode, SyntaxKind, TextRange, TextSize}; 25use ra_syntax::{AstNode, SyntaxKind, TextRange, TextSize};
@@ -47,11 +46,11 @@ use crate::{
47pub fn handle_analyzer_status(world: WorldSnapshot, _: ()) -> Result<String> { 46pub fn handle_analyzer_status(world: WorldSnapshot, _: ()) -> Result<String> {
48 let _p = profile("handle_analyzer_status"); 47 let _p = profile("handle_analyzer_status");
49 let mut buf = world.status(); 48 let mut buf = world.status();
50 format_to!(buf, "\n\nrequests:"); 49 format_to!(buf, "\n\nrequests:\n");
51 let requests = world.latest_requests.read(); 50 let requests = world.latest_requests.read();
52 for (is_last, r) in requests.iter() { 51 for (is_last, r) in requests.iter() {
53 let mark = if is_last { "*" } else { " " }; 52 let mark = if is_last { "*" } else { " " };
54 format_to!(buf, "{}{:4} {:<36}{}ms", mark, r.id, r.method, r.duration.as_millis()); 53 format_to!(buf, "{}{:4} {:<36}{}ms\n", mark, r.id, r.method, r.duration.as_millis());
55 } 54 }
56 Ok(buf) 55 Ok(buf)
57} 56}
@@ -401,11 +400,7 @@ pub fn handle_runnables(
401 range: Default::default(), 400 range: Default::default(),
402 label: format!("cargo {} -p {}", cmd, spec.package), 401 label: format!("cargo {} -p {}", cmd, spec.package),
403 bin: "cargo".to_string(), 402 bin: "cargo".to_string(),
404 args: { 403 args: vec![cmd.to_string(), "--package".to_string(), spec.package.clone()],
405 let mut args = vec![cmd.to_string()];
406 spec.clone().push_to(&mut args);
407 args
408 },
409 extra_args: Vec::new(), 404 extra_args: Vec::new(),
410 env: FxHashMap::default(), 405 env: FxHashMap::default(),
411 cwd: workspace_root.map(|root| root.to_owned()), 406 cwd: workspace_root.map(|root| root.to_owned()),
@@ -702,15 +697,9 @@ fn create_single_code_action(assist: Assist, world: &WorldSnapshot) -> Result<Co
702 arguments: Some(vec![arg]), 697 arguments: Some(vec![arg]),
703 }; 698 };
704 699
705 let kind = match assist.id {
706 AssistId("introduce_variable") => Some("refactor.extract.variable".to_string()),
707 AssistId("add_custom_impl") => Some("refactor.rewrite.add_custom_impl".to_string()),
708 _ => None,
709 };
710
711 Ok(CodeAction { 700 Ok(CodeAction {
712 title, 701 title,
713 kind, 702 kind: Some(String::new()),
714 diagnostics: None, 703 diagnostics: None,
715 edit: None, 704 edit: None,
716 command: Some(command), 705 command: Some(command),
@@ -812,6 +801,23 @@ pub fn handle_code_action(
812 } 801 }
813 } 802 }
814 803
804 // If the client only supports commands then filter the list
805 // and remove and actions that depend on edits.
806 if !world.config.client_caps.code_action_literals {
807 // FIXME: use drain_filter once it hits stable.
808 res = res
809 .into_iter()
810 .filter_map(|it| match it {
811 cmd @ lsp_types::CodeActionOrCommand::Command(_) => Some(cmd),
812 lsp_types::CodeActionOrCommand::CodeAction(action) => match action.command {
813 Some(cmd) if action.edit.is_none() => {
814 Some(lsp_types::CodeActionOrCommand::Command(cmd))
815 }
816 _ => None,
817 },
818 })
819 .collect();
820 }
815 Ok(Some(res)) 821 Ok(Some(res))
816} 822}
817 823
diff --git a/crates/rust-analyzer/tests/heavy_tests/main.rs b/crates/rust-analyzer/tests/heavy_tests/main.rs
index 07b8114c6..a218da76d 100644
--- a/crates/rust-analyzer/tests/heavy_tests/main.rs
+++ b/crates/rust-analyzer/tests/heavy_tests/main.rs
@@ -149,7 +149,7 @@ fn main() {}
149 "cwd": server.path().join("foo") 149 "cwd": server.path().join("foo")
150 }, 150 },
151 { 151 {
152 "args": [ "check", "--package", "foo", "--test", "spam" ], 152 "args": [ "check", "--package", "foo" ],
153 "extraArgs": [], 153 "extraArgs": [],
154 "bin": "cargo", 154 "bin": "cargo",
155 "env": {}, 155 "env": {},
@@ -161,7 +161,7 @@ fn main() {}
161 "cwd": server.path().join("foo") 161 "cwd": server.path().join("foo")
162 }, 162 },
163 { 163 {
164 "args": [ "test", "--package", "foo", "--test", "spam" ], 164 "args": [ "test", "--package", "foo" ],
165 "extraArgs": [], 165 "extraArgs": [],
166 "bin": "cargo", 166 "bin": "cargo",
167 "env": {}, 167 "env": {},
diff --git a/crates/rust-analyzer/tests/heavy_tests/support.rs b/crates/rust-analyzer/tests/heavy_tests/support.rs
index e4fe3411a..8d47ee4f6 100644
--- a/crates/rust-analyzer/tests/heavy_tests/support.rs
+++ b/crates/rust-analyzer/tests/heavy_tests/support.rs
@@ -77,7 +77,11 @@ impl<'a> Project<'a> {
77 let roots = self.roots.into_iter().map(|root| tmp_dir.path().join(root)).collect(); 77 let roots = self.roots.into_iter().map(|root| tmp_dir.path().join(root)).collect();
78 78
79 let mut config = Config { 79 let mut config = Config {
80 client_caps: ClientCapsConfig { location_link: true, ..Default::default() }, 80 client_caps: ClientCapsConfig {
81 location_link: true,
82 code_action_literals: true,
83 ..Default::default()
84 },
81 with_sysroot: self.with_sysroot, 85 with_sysroot: self.with_sysroot,
82 ..Config::default() 86 ..Config::default()
83 }; 87 };
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md
index 3a337c574..cee916c09 100644
--- a/docs/dev/architecture.md
+++ b/docs/dev/architecture.md
@@ -46,7 +46,7 @@ can be quickly updated for small modifications.
46 46
47Some of the components of this repository are generated through automatic 47Some of the components of this repository are generated through automatic
48processes. `cargo xtask codegen` runs all generation tasks. Generated code is 48processes. `cargo xtask codegen` runs all generation tasks. Generated code is
49commited to the git repository. 49committed to the git repository.
50 50
51In particular, `cargo xtask codegen` generates: 51In particular, `cargo xtask codegen` generates:
52 52
@@ -114,7 +114,7 @@ is responsible for guessing a HIR for a particular source position.
114Underneath, HIR works on top of salsa, using a `HirDatabase` trait. 114Underneath, HIR works on top of salsa, using a `HirDatabase` trait.
115 115
116`ra_hir_xxx` crates have a strong ECS flavor, in that they work with raw ids and 116`ra_hir_xxx` crates have a strong ECS flavor, in that they work with raw ids and
117directly query the databse. 117directly query the database.
118 118
119The top-level `ra_hir` façade crate wraps ids into a more OO-flavored API. 119The top-level `ra_hir` façade crate wraps ids into a more OO-flavored API.
120 120
diff --git a/docs/dev/guide.md b/docs/dev/guide.md
index abbe4c154..c3252f1f6 100644
--- a/docs/dev/guide.md
+++ b/docs/dev/guide.md
@@ -26,7 +26,7 @@ properties hold:
26 26
27## IDE API 27## IDE API
28 28
29To see the bigger picture of how the IDE features works, let's take a look at the [`AnalysisHost`] and 29To see the bigger picture of how the IDE features work, let's take a look at the [`AnalysisHost`] and
30[`Analysis`] pair of types. `AnalysisHost` has three methods: 30[`Analysis`] pair of types. `AnalysisHost` has three methods:
31 31
32* `default()` for creating an empty analysis instance 32* `default()` for creating an empty analysis instance
@@ -131,7 +131,7 @@ mapping between `SourceRoot` IDs (which are assigned by the client) and actual
131analyzer. 131analyzer.
132 132
133Note that `mod`, `#[path]` and `include!()` can only reference files from the 133Note that `mod`, `#[path]` and `include!()` can only reference files from the
134same source root. It is of course is possible to explicitly add extra files to 134same source root. It is of course possible to explicitly add extra files to
135the source root, even `/dev/random`. 135the source root, even `/dev/random`.
136 136
137## Language Server Protocol 137## Language Server Protocol
@@ -192,7 +192,7 @@ task will be canceled as soon as the main loop calls `apply_change` on the
192[`schedule`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L426-L455 192[`schedule`]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop.rs#L426-L455
193[The task]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop/handlers.rs#L205-L223 193[The task]: https://github.com/rust-analyzer/rust-analyzer/blob/guide-2019-01/crates/ra_lsp_server/src/main_loop/handlers.rs#L205-L223
194 194
195This concludes the overview of the analyzer's programing *interface*. Next, lets 195This concludes the overview of the analyzer's programing *interface*. Next, let's
196dig into the implementation! 196dig into the implementation!
197 197
198## Salsa 198## Salsa
@@ -480,7 +480,7 @@ throughout the analyzer:
480## Source Map pattern 480## Source Map pattern
481 481
482Due to an obscure edge case in completion, IDE needs to know the syntax node of 482Due to an obscure edge case in completion, IDE needs to know the syntax node of
483an use statement which imported the given completion candidate. We can't just 483a use statement which imported the given completion candidate. We can't just
484store the syntax node as a part of name resolution: this will break 484store the syntax node as a part of name resolution: this will break
485incrementality, due to the fact that syntax changes after every file 485incrementality, due to the fact that syntax changes after every file
486modification. 486modification.
diff --git a/docs/user/assists.md b/docs/user/assists.md
index a421aa0c3..ee515949e 100644
--- a/docs/user/assists.md
+++ b/docs/user/assists.md
@@ -175,7 +175,9 @@ trait Trait<T> {
175} 175}
176 176
177impl Trait<u32> for () { 177impl Trait<u32> for () {
178 fn foo(&self) -> u32 { todo!() } 178 fn foo(&self) -> u32 {
179 todo!()
180 }
179 181
180} 182}
181``` 183```
diff --git a/docs/user/readme.adoc b/docs/user/readme.adoc
index 4cb1e23e8..b1af72ce6 100644
--- a/docs/user/readme.adoc
+++ b/docs/user/readme.adoc
@@ -201,7 +201,7 @@ let g:LanguageClient_serverCommands = {
201 201
2022. Configure by adding this to your vim/neovim config file (replacing the existing Rust-specific line if it exists): 2022. Configure by adding this to your vim/neovim config file (replacing the existing Rust-specific line if it exists):
203+ 203+
204[source,vim] 204[source,vim]
205---- 205----
206let g:ycm_language_server = 206let g:ycm_language_server =
207\ [ 207\ [
@@ -252,6 +252,15 @@ If it worked, you should see "rust-analyzer, Line X, Column Y" on the left side
252 252
253If you get an error saying `No such file or directory: 'rust-analyzer'`, see the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>> section on installing the language server binary. 253If you get an error saying `No such file or directory: 'rust-analyzer'`, see the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>> section on installing the language server binary.
254 254
255=== Gnome Builder
256
257Prerequisites: You have installed the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>>.
258
259Gnome Builder currently has support for RLS, and there's no way to configure the language server executable. A future version might support `rust-analyzer` out of the box.
260
2611. Rename, symlink or copy the `rust-analyzer` binary to `rls` and place it somewhere Builder can find (in `PATH`, or under `~/.cargo/bin`).
2622. Enable the Rust Builder plugin.
263
255== Usage 264== Usage
256 265
257See https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/features.md[features.md]. 266See https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/features.md[features.md].
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs
index bdd42cb76..028f7cbe1 100644
--- a/xtask/src/ast_src.rs
+++ b/xtask/src/ast_src.rs
@@ -162,6 +162,7 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
162 "RECORD_LIT", 162 "RECORD_LIT",
163 "RECORD_FIELD_LIST", 163 "RECORD_FIELD_LIST",
164 "RECORD_FIELD", 164 "RECORD_FIELD",
165 "EFFECT_EXPR",
165 "BOX_EXPR", 166 "BOX_EXPR",
166 // postfix 167 // postfix
167 "CALL_EXPR", 168 "CALL_EXPR",
@@ -176,7 +177,6 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
176 "PREFIX_EXPR", 177 "PREFIX_EXPR",
177 "RANGE_EXPR", // just weird 178 "RANGE_EXPR", // just weird
178 "BIN_EXPR", 179 "BIN_EXPR",
179 "BLOCK",
180 "EXTERN_BLOCK", 180 "EXTERN_BLOCK",
181 "EXTERN_ITEM_LIST", 181 "EXTERN_ITEM_LIST",
182 "ENUM_VARIANT", 182 "ENUM_VARIANT",
@@ -439,6 +439,7 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
439 } 439 }
440 struct IfExpr: AttrsOwner { T![if], Condition } 440 struct IfExpr: AttrsOwner { T![if], Condition }
441 struct LoopExpr: AttrsOwner, LoopBodyOwner { T![loop] } 441 struct LoopExpr: AttrsOwner, LoopBodyOwner { T![loop] }
442 struct EffectExpr: AttrsOwner { Label, T![try], T![unsafe], T![async], BlockExpr }
442 struct ForExpr: AttrsOwner, LoopBodyOwner { 443 struct ForExpr: AttrsOwner, LoopBodyOwner {
443 T![for], 444 T![for],
444 Pat, 445 Pat,
@@ -449,7 +450,9 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
449 struct ContinueExpr: AttrsOwner { T![continue], T![lifetime] } 450 struct ContinueExpr: AttrsOwner { T![continue], T![lifetime] }
450 struct BreakExpr: AttrsOwner { T![break], T![lifetime], Expr } 451 struct BreakExpr: AttrsOwner { T![break], T![lifetime], Expr }
451 struct Label { T![lifetime] } 452 struct Label { T![lifetime] }
452 struct BlockExpr: AttrsOwner { Label, T![unsafe], T![async], Block } 453 struct BlockExpr: AttrsOwner, ModuleItemOwner {
454 T!['{'], statements: [Stmt], Expr, T!['}'],
455 }
453 struct ReturnExpr: AttrsOwner { Expr } 456 struct ReturnExpr: AttrsOwner { Expr }
454 struct CallExpr: ArgListOwner { Expr } 457 struct CallExpr: ArgListOwner { Expr }
455 struct MethodCallExpr: AttrsOwner, ArgListOwner { 458 struct MethodCallExpr: AttrsOwner, ArgListOwner {
@@ -458,7 +461,7 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
458 struct IndexExpr: AttrsOwner { T!['['], T![']'] } 461 struct IndexExpr: AttrsOwner { T!['['], T![']'] }
459 struct FieldExpr: AttrsOwner { Expr, T![.], NameRef } 462 struct FieldExpr: AttrsOwner { Expr, T![.], NameRef }
460 struct AwaitExpr: AttrsOwner { Expr, T![.], T![await] } 463 struct AwaitExpr: AttrsOwner { Expr, T![.], T![await] }
461 struct TryExpr: AttrsOwner { T![try], Expr } 464 struct TryExpr: AttrsOwner { Expr, T![?] }
462 struct CastExpr: AttrsOwner { Expr, T![as], TypeRef } 465 struct CastExpr: AttrsOwner { Expr, T![as], TypeRef }
463 struct RefExpr: AttrsOwner { T![&], T![raw], T![mut], Expr } 466 struct RefExpr: AttrsOwner { T![&], T![raw], T![mut], Expr }
464 struct PrefixExpr: AttrsOwner { /*PrefixOp,*/ Expr } 467 struct PrefixExpr: AttrsOwner { /*PrefixOp,*/ Expr }
@@ -554,12 +557,6 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
554 T![;], 557 T![;],
555 } 558 }
556 struct Condition { T![let], Pat, T![=], Expr } 559 struct Condition { T![let], Pat, T![=], Expr }
557 struct Block: AttrsOwner, ModuleItemOwner {
558 T!['{'],
559 statements: [Stmt],
560 Expr,
561 T!['}'],
562 }
563 struct ParamList { 560 struct ParamList {
564 T!['('], 561 T!['('],
565 SelfParam, 562 SelfParam,
@@ -593,7 +590,7 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
593 qualifier: Path, 590 qualifier: Path,
594 } 591 }
595 struct PathSegment { 592 struct PathSegment {
596 T![::], T![crate], T![<], NameRef, TypeArgList, ParamList, RetType, PathType, T![>] 593 T![::], T![crate], T![self], T![super], T![<], NameRef, TypeArgList, ParamList, RetType, PathType, T![>]
597 } 594 }
598 struct TypeArgList { 595 struct TypeArgList {
599 T![::], 596 T![::],
@@ -720,6 +717,7 @@ pub(crate) const AST_SRC: AstSrc = AstSrc {
720 FieldExpr, 717 FieldExpr,
721 AwaitExpr, 718 AwaitExpr,
722 TryExpr, 719 TryExpr,
720 EffectExpr,
723 CastExpr, 721 CastExpr,
724 RefExpr, 722 RefExpr,
725 PrefixExpr, 723 PrefixExpr,
diff --git a/xtask/src/codegen/gen_syntax.rs b/xtask/src/codegen/gen_syntax.rs
index e9dc09552..8028575c5 100644
--- a/xtask/src/codegen/gen_syntax.rs
+++ b/xtask/src/codegen/gen_syntax.rs
@@ -432,6 +432,7 @@ impl Field<'_> {
432 ":" => "colon", 432 ":" => "colon",
433 "::" => "coloncolon", 433 "::" => "coloncolon",
434 "#" => "pound", 434 "#" => "pound",
435 "?" => "question_mark",
435 _ => name, 436 _ => name,
436 }; 437 };
437 format_ident!("{}_token", name) 438 format_ident!("{}_token", name)