rust/crates/ra_syntax/test_data/parser/inline/ok
Aleksey Kladov da8eb29a2f Macro patterns are not confused with expressions.
We treat macro calls as expressions (there's appropriate Into impl),
which causes problem if there's expresison and non-expression macro in
the same node (like in the match arm).

We fix this problem by nesting macor patterns into another node (the
same way we nest path into PathExpr or PathPat). Ideally, we probably
should add a similar nesting for macro expressions, but that needs
some careful thinking about macros in blocks: `{ am_i_expression!() }`.
2020-04-03 16:12:38 +02:00
..
0001_trait_item_list.rs
0001_trait_item_list.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0002_use_tree_list.rs
0002_use_tree_list.txt
0003_where_pred_for.rs
0003_where_pred_for.txt
0004_value_parameters_no_patterns.rs Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0004_value_parameters_no_patterns.txt Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0005_function_type_params.rs
0005_function_type_params.txt
0006_self_param.rs
0006_self_param.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0007_type_param_bounds.rs
0007_type_param_bounds.txt
0008_path_part.rs
0008_path_part.txt
0009_loop_expr.rs
0009_loop_expr.txt
0010_extern_block.rs
0010_extern_block.txt
0011_field_expr.rs
0011_field_expr.txt
0012_type_item_where_clause.rs
0012_type_item_where_clause.txt
0013_pointer_type_mut.rs
0013_pointer_type_mut.txt
0014_never_type.rs
0014_never_type.txt
0015_continue_expr.rs
0015_continue_expr.txt
0016_unsafe_trait.rs
0016_unsafe_trait.txt
0017_array_type.rs
0017_array_type.txt
0018_arb_self_types.rs
0018_arb_self_types.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0019_unary_expr.rs
0019_unary_expr.txt
0020_use_star.rs
0020_use_star.txt
0021_impl_item_list.rs
0021_impl_item_list.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0022_crate_visibility.rs
0022_crate_visibility.txt
0023_placeholder_type.rs
0023_placeholder_type.txt
0024_slice_pat.rs
0024_slice_pat.txt
0025_slice_type.rs
0025_slice_type.txt
0026_tuple_pat_fields.rs
0026_tuple_pat_fields.txt
0027_ref_pat.rs
0027_ref_pat.txt
0028_impl_trait_type.rs
0028_impl_trait_type.txt
0029_cast_expr.rs
0029_cast_expr.txt
0030_cond.rs
0030_cond.txt Update tests for or-patterns 2020-02-09 22:06:28 +00:00
0031_while_expr.rs
0031_while_expr.txt
0032_fn_pointer_type.rs
0032_fn_pointer_type.txt Parse variadics correctly 2020-03-13 13:54:14 +01:00
0033_reference_type;.rs
0033_reference_type;.txt
0034_break_expr.rs
0034_break_expr.txt
0036_unsafe_extern_fn.rs
0036_unsafe_extern_fn.txt
0037_qual_paths.rs
0037_qual_paths.txt
0038_full_range_expr.rs
0038_full_range_expr.txt
0039_type_arg.rs Improve const generics parsing 2020-01-07 09:29:03 +10:30
0039_type_arg.txt Improve const generics parsing 2020-01-07 09:29:03 +10:30
0040_crate_keyword_vis.rs
0040_crate_keyword_vis.txt
0041_trait_item.rs
0041_trait_item.txt
0042_call_expr.rs
0042_call_expr.txt
0043_use_alias.rs
0043_use_alias.txt
0044_block_items.rs
0044_block_items.txt
0045_param_list_opt_patterns.rs
0045_param_list_opt_patterns.txt
0046_singleton_tuple_type.rs
0046_singleton_tuple_type.txt
0047_unsafe_default_impl.rs
0047_unsafe_default_impl.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0048_path_type_with_bounds.rs
0048_path_type_with_bounds.txt
0050_fn_decl.rs
0050_fn_decl.txt
0051_unit_type.rs
0051_unit_type.txt
0052_path_type.rs
0052_path_type.txt
0053_path_expr.rs
0053_path_expr.txt
0054_record_field_attrs.rs
0054_record_field_attrs.txt
0055_literal_pattern.rs
0055_literal_pattern.txt
0056_where_clause.rs
0056_where_clause.txt
0057_const_fn.rs
0057_const_fn.txt
0058_range_pat.rs
0058_range_pat.txt
0059_match_arms_commas.rs
0059_match_arms_commas.txt
0060_extern_crate.rs
0060_extern_crate.txt
0061_record_lit.rs
0061_record_lit.txt
0062_mod_contents.rs
0062_mod_contents.txt
0063_impl_def_neg.rs Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0063_impl_def_neg.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0064_if_expr.rs
0064_if_expr.txt
0065_dyn_trait_type.rs
0065_dyn_trait_type.txt
0066_match_arm.rs
0066_match_arm.txt Update tests for or-patterns 2020-02-09 22:06:28 +00:00
0067_crate_path.rs
0067_crate_path.txt
0068_union_items.rs
0068_union_items.txt
0069_use_tree_list_after_path.rs
0069_use_tree_list_after_path.txt
0070_stmt_bin_expr_ambiguity.rs
0070_stmt_bin_expr_ambiguity.txt
0071_match_expr.rs
0071_match_expr.txt
0072_return_expr.rs
0072_return_expr.txt
0073_type_item_type_params.rs
0073_type_item_type_params.txt
0074_stmt_postfix_expr_ambiguity.rs
0074_stmt_postfix_expr_ambiguity.txt
0075_block.rs
0075_block.txt
0076_function_where_clause.rs
0076_function_where_clause.txt
0077_try_expr.rs
0077_try_expr.txt
0078_type_item.rs
0078_type_item.txt
0079_impl_def.rs Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0079_impl_def.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0080_postfix_range.rs
0080_postfix_range.txt
0081_for_type.rs
0081_for_type.txt
0082_ref_expr.rs
0082_ref_expr.txt
0083_struct_items.rs
0083_struct_items.txt
0084_paren_type.rs
0084_paren_type.txt
0085_expr_literals.rs
0085_expr_literals.txt
0086_function_ret_type.rs
0086_function_ret_type.txt
0087_unsafe_impl.rs
0087_unsafe_impl.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0088_break_ambiguity.rs
0088_break_ambiguity.txt
0089_extern_fn.rs
0089_extern_fn.txt
0090_type_param_default.rs
0090_type_param_default.txt
0091_auto_trait.rs
0091_auto_trait.txt
0092_fn_pointer_type_with_ret.rs
0092_fn_pointer_type_with_ret.txt
0093_index_expr.rs
0093_index_expr.txt
0094_unsafe_auto_trait.rs
0094_unsafe_auto_trait.txt
0095_placeholder_pat.rs
0095_placeholder_pat.txt
0096_no_semi_after_block.rs
0096_no_semi_after_block.txt
0097_default_impl.rs
0097_default_impl.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0098_const_unsafe_fn.rs
0098_const_unsafe_fn.txt
0099_param_list.rs
0099_param_list.txt
0100_for_expr.rs
0100_for_expr.txt
0101_unsafe_fn.rs
0101_unsafe_fn.txt
0102_record_field_pat_list.rs
0102_record_field_pat_list.txt
0103_array_expr.rs
0103_array_expr.txt
0104_path_fn_trait_args.rs Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0104_path_fn_trait_args.txt Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0105_block_expr.rs
0105_block_expr.txt
0106_lambda_expr.rs
0106_lambda_expr.txt
0107_method_call_expr.rs
0107_method_call_expr.txt
0108_tuple_expr.rs
0108_tuple_expr.txt
0109_label.rs
0109_label.txt
0110_use_path.rs
0110_use_path.txt
0111_tuple_pat.rs Address review comments 2020-02-10 20:11:44 +00:00
0111_tuple_pat.txt Address review comments 2020-02-10 20:11:44 +00:00
0112_bind_pat.rs
0112_bind_pat.txt
0113_nocontentexpr.rs
0113_nocontentexpr.txt
0114_tuple_struct_where.rs
0114_tuple_struct_where.txt
0115_tuple_field_attrs.rs
0115_tuple_field_attrs.txt
0117_macro_call_type.rs
0117_macro_call_type.txt
0118_impl_inner_attributes.rs
0118_impl_inner_attributes.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0118_match_guard.rs
0118_match_guard.txt
0120_match_arms_inner_attribute.rs
0120_match_arms_inner_attribute.txt
0121_match_arms_outer_attributes.rs
0121_match_arms_outer_attributes.txt
0122_generic_lifetime_type_attribute.rs
0122_generic_lifetime_type_attribute.txt
0123_param_list_vararg.rs
0123_param_list_vararg.txt Parse variadics correctly 2020-03-13 13:54:14 +01:00
0124_async_fn.rs
0124_async_fn.txt
0125_crate_keyword_path.rs
0125_crate_keyword_path.txt
0125_record_literal_field_with_attr.rs
0125_record_literal_field_with_attr.txt
0126_attr_on_expr_stmt.rs
0126_attr_on_expr_stmt.txt
0127_attr_on_last_expr_in_block.rs
0127_attr_on_last_expr_in_block.txt
0128_combined_fns.rs Update async unsafe fn ordering. 2020-02-07 13:51:51 +01:00
0128_combined_fns.txt Update async unsafe fn ordering. 2020-02-07 13:51:51 +01:00
0129_marco_pat.rs
0129_marco_pat.txt Macro patterns are not confused with expressions. 2020-04-03 16:12:38 +02:00
0130_let_stmt.rs Parse attr in rhs of let stmts 2020-02-28 13:08:47 +08:00
0130_let_stmt.txt Parse attr in rhs of let stmts 2020-02-28 13:08:47 +08:00
0130_try_block_expr.rs
0130_try_block_expr.txt
0131_existential_type.rs
0131_existential_type.txt
0132_box_expr.rs
0132_box_expr.txt
0132_default_fn_type.rs
0132_default_fn_type.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0134_nocontentexpr_after_item.rs
0134_nocontentexpr_after_item.txt
0137_await_expr.rs
0137_await_expr.txt
0138_associated_type_bounds.rs
0138_associated_type_bounds.txt
0138_expression_after_block.rs
0138_expression_after_block.txt
0138_self_param_outer_attr.rs
0138_self_param_outer_attr.txt
0139_param_outer_arg.rs
0139_param_outer_arg.txt
0142_for_range_from.rs
0142_for_range_from.txt
0143_box_pat.rs
0143_box_pat.txt
0144_dot_dot_pat.rs
0144_dot_dot_pat.txt
0145_record_field_pat.rs
0145_record_field_pat.txt
0146_as_precedence.rs
0146_as_precedence.txt
0147_const_param.rs Parse const generics 2019-12-22 01:32:08 +00:00
0147_const_param.txt Parse const generics 2019-12-22 01:32:08 +00:00
0147_macro_def.rs Add macro 2.0 support in parser 2019-12-21 18:29:14 +08:00
0147_macro_def.txt Use name instead of ident for macro 2.0 sytnax 2019-12-22 11:11:10 +08:00
0148_pub_macro_def.rs Add macro 2.0 support in parser 2019-12-21 18:29:14 +08:00
0148_pub_macro_def.txt Use name instead of ident for macro 2.0 sytnax 2019-12-22 11:11:10 +08:00
0150_array_attrs.rs Minimize test 2020-01-16 18:39:29 +01:00
0150_array_attrs.txt Minimize test 2020-01-16 18:39:29 +01:00
0150_impl_type_params.rs Improve const generics parsing 2020-01-07 09:29:03 +10:30
0150_impl_type_params.txt Rename ast::ImplBlock -> ast::ImplDef 2020-02-29 21:33:15 +01:00
0151_trait_alias.rs Parse trait aliases 2020-01-09 18:40:01 +01:00
0151_trait_alias.txt Parse trait aliases 2020-01-09 18:40:01 +01:00
0152_arg_with_attr.rs move inline function closer to relevant code 2020-01-16 22:20:17 -05:00
0152_arg_with_attr.txt Nest attrs into exprs in function args 2020-01-17 11:47:07 +01:00
0154_fn_pointer_param_ident_path.rs Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0154_fn_pointer_param_ident_path.txt Rework value parameter parsing 2020-02-06 19:45:51 +00:00
0155_closure_params.rs Closure params test 2020-02-06 20:39:27 +00:00
0155_closure_params.txt Closure params test 2020-02-06 20:39:27 +00:00
0156_fn_def_param.rs Move verbose tests out of line 2020-03-13 12:20:42 +01:00
0156_fn_def_param.txt Move verbose tests out of line 2020-03-13 12:20:42 +01:00
0156_or_pattern.rs Update tests for or-patterns 2020-02-09 22:06:28 +00:00
0156_or_pattern.txt Update tests for or-patterns 2020-02-09 22:06:28 +00:00
0157_fn_pointer_unnamed_arg.rs Run cargo xtask codegen 2020-02-12 23:09:13 +01:00
0157_fn_pointer_unnamed_arg.txt Run cargo test 2020-02-12 23:15:48 +01:00
0157_variant_discriminant.rs Support arbitrary discriminants 2020-03-20 08:50:34 +01:00
0157_variant_discriminant.txt Support arbitrary discriminants 2020-03-20 08:50:34 +01:00
0158_binop_resets_statementness.rs Fix parsing of stement-ish binary expressions 2020-03-11 14:28:18 +01:00
0158_binop_resets_statementness.txt Fix parsing of stement-ish binary expressions 2020-03-11 14:28:18 +01:00
0158_lambda_ret_block.rs Fix parsing lambdas with return type 2020-03-25 17:01:28 +01:00
0158_lambda_ret_block.txt Fix parsing lambdas with return type 2020-03-25 17:01:28 +01:00