diff --git a/crates/parser/src/grammar/items.rs b/crates/parser/src/grammar/items.rs index d8468ba3cb..df117d7aa9 100644 --- a/crates/parser/src/grammar/items.rs +++ b/crates/parser/src/grammar/items.rs @@ -388,7 +388,7 @@ fn macro_def(p: &mut Parser<'_>, m: Marker) { m.complete(p, MACRO_DEF); } -// test fn +// test fn_ // fn foo() {} fn fn_(p: &mut Parser<'_>, m: Marker) { p.bump(T![fn]); diff --git a/crates/parser/src/grammar/types.rs b/crates/parser/src/grammar/types.rs index 18ec570cd5..f95425824a 100644 --- a/crates/parser/src/grammar/types.rs +++ b/crates/parser/src/grammar/types.rs @@ -169,7 +169,7 @@ fn array_or_slice_type(p: &mut Parser<'_>) { m.complete(p, kind); } -// test reference_type; +// test reference_type // type A = &(); // type B = &'static (); // type C = &mut (); diff --git a/crates/parser/src/tests.rs b/crates/parser/src/tests.rs index b837387be1..e0042fbdec 100644 --- a/crates/parser/src/tests.rs +++ b/crates/parser/src/tests.rs @@ -11,6 +11,9 @@ use expect_test::expect_file; use crate::{Edition, LexedStr, TopEntryPoint}; +#[path = "../test_data/generated/runner.rs"] +mod runner; + #[test] fn lex_ok() { for case in TestCase::list("lexer/ok") { @@ -54,16 +57,6 @@ fn parse_ok() { } } -#[test] -fn parse_inline_ok() { - for case in TestCase::list("parser/inline/ok") { - let _guard = stdx::panic_context::enter(format!("{:?}", case.rs)); - let (actual, errors) = parse(TopEntryPoint::SourceFile, &case.text); - assert!(!errors, "errors in an OK file {}:\n{actual}", case.rs.display()); - expect_file![case.rast].assert_eq(&actual); - } -} - #[test] fn parse_err() { for case in TestCase::list("parser/err") { @@ -74,16 +67,6 @@ fn parse_err() { } } -#[test] -fn parse_inline_err() { - for case in TestCase::list("parser/inline/err") { - let _guard = stdx::panic_context::enter(format!("{:?}", case.rs)); - let (actual, errors) = parse(TopEntryPoint::SourceFile, &case.text); - assert!(errors, "no errors in an ERR file {}:\n{actual}", case.rs.display()); - expect_file![case.rast].assert_eq(&actual) - } -} - fn parse(entry: TopEntryPoint, text: &str) -> (String, bool) { let lexed = LexedStr::new(Edition::CURRENT, text); let input = lexed.to_input(); @@ -167,3 +150,27 @@ impl TestCase { res } } + +#[track_caller] +fn run_and_expect_no_errors(path: &str) { + let path = PathBuf::from(path); + let text = std::fs::read_to_string(&path).unwrap(); + let (actual, errors) = parse(TopEntryPoint::SourceFile, &text); + assert!(!errors, "errors in an OK file {}:\n{actual}", path.display()); + let mut p = PathBuf::from(".."); + p.push(path); + p.set_extension("rast"); + expect_file![p].assert_eq(&actual) +} + +#[track_caller] +fn run_and_expect_errors(path: &str) { + let path = PathBuf::from(path); + let text = std::fs::read_to_string(&path).unwrap(); + let (actual, errors) = parse(TopEntryPoint::SourceFile, &text); + assert!(errors, "no errors in an ERR file {}:\n{actual}", path.display()); + let mut p = PathBuf::from(".."); + p.push(path); + p.set_extension("rast"); + expect_file![p].assert_eq(&actual) +} diff --git a/crates/parser/test_data/generated/runner.rs b/crates/parser/test_data/generated/runner.rs new file mode 100644 index 0000000000..f82d1ed320 --- /dev/null +++ b/crates/parser/test_data/generated/runner.rs @@ -0,0 +1,810 @@ +mod ok { + use crate::tests::run_and_expect_no_errors; + #[test] + fn anonymous_const() { + run_and_expect_no_errors("test_data/parser/inline/ok/anonymous_const.rs"); + } + #[test] + fn arb_self_types() { + run_and_expect_no_errors("test_data/parser/inline/ok/arb_self_types.rs"); + } + #[test] + fn arg_with_attr() { run_and_expect_no_errors("test_data/parser/inline/ok/arg_with_attr.rs"); } + #[test] + fn array_attrs() { run_and_expect_no_errors("test_data/parser/inline/ok/array_attrs.rs"); } + #[test] + fn array_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/array_expr.rs"); } + #[test] + fn array_type() { run_and_expect_no_errors("test_data/parser/inline/ok/array_type.rs"); } + #[test] + fn as_precedence() { run_and_expect_no_errors("test_data/parser/inline/ok/as_precedence.rs"); } + #[test] + fn assoc_const_eq() { + run_and_expect_no_errors("test_data/parser/inline/ok/assoc_const_eq.rs"); + } + #[test] + fn assoc_item_list() { + run_and_expect_no_errors("test_data/parser/inline/ok/assoc_item_list.rs"); + } + #[test] + fn assoc_item_list_inner_attrs() { + run_and_expect_no_errors("test_data/parser/inline/ok/assoc_item_list_inner_attrs.rs"); + } + #[test] + fn assoc_type_bound() { + run_and_expect_no_errors("test_data/parser/inline/ok/assoc_type_bound.rs"); + } + #[test] + fn assoc_type_eq() { run_and_expect_no_errors("test_data/parser/inline/ok/assoc_type_eq.rs"); } + #[test] + fn associated_return_type_bounds() { + run_and_expect_no_errors("test_data/parser/inline/ok/associated_return_type_bounds.rs"); + } + #[test] + fn associated_type_bounds() { + run_and_expect_no_errors("test_data/parser/inline/ok/associated_type_bounds.rs"); + } + #[test] + fn async_trait_bound() { + run_and_expect_no_errors("test_data/parser/inline/ok/async_trait_bound.rs"); + } + #[test] + fn attr_on_expr_stmt() { + run_and_expect_no_errors("test_data/parser/inline/ok/attr_on_expr_stmt.rs"); + } + #[test] + fn await_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/await_expr.rs"); } + #[test] + fn bare_dyn_types_with_leading_lifetime() { + run_and_expect_no_errors( + "test_data/parser/inline/ok/bare_dyn_types_with_leading_lifetime.rs", + ); + } + #[test] + fn bare_dyn_types_with_paren_as_generic_args() { + run_and_expect_no_errors( + "test_data/parser/inline/ok/bare_dyn_types_with_paren_as_generic_args.rs", + ); + } + #[test] + fn become_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/become_expr.rs"); } + #[test] + fn bind_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/bind_pat.rs"); } + #[test] + fn binop_resets_statementness() { + run_and_expect_no_errors("test_data/parser/inline/ok/binop_resets_statementness.rs"); + } + #[test] + fn block() { run_and_expect_no_errors("test_data/parser/inline/ok/block.rs"); } + #[test] + fn block_items() { run_and_expect_no_errors("test_data/parser/inline/ok/block_items.rs"); } + #[test] + fn box_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/box_pat.rs"); } + #[test] + fn break_ambiguity() { + run_and_expect_no_errors("test_data/parser/inline/ok/break_ambiguity.rs"); + } + #[test] + fn break_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/break_expr.rs"); } + #[test] + fn builtin_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/builtin_expr.rs"); } + #[test] + fn call_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/call_expr.rs"); } + #[test] + fn cast_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/cast_expr.rs"); } + #[test] + fn closure_body_underscore_assignment() { + run_and_expect_no_errors( + "test_data/parser/inline/ok/closure_body_underscore_assignment.rs", + ); + } + #[test] + fn closure_params() { + run_and_expect_no_errors("test_data/parser/inline/ok/closure_params.rs"); + } + #[test] + fn closure_range_method_call() { + run_and_expect_no_errors("test_data/parser/inline/ok/closure_range_method_call.rs"); + } + #[test] + fn const_arg() { run_and_expect_no_errors("test_data/parser/inline/ok/const_arg.rs"); } + #[test] + fn const_arg_block() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_arg_block.rs"); + } + #[test] + fn const_arg_bool_literal() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_arg_bool_literal.rs"); + } + #[test] + fn const_arg_literal() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_arg_literal.rs"); + } + #[test] + fn const_arg_negative_number() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_arg_negative_number.rs"); + } + #[test] + fn const_block_pat() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_block_pat.rs"); + } + #[test] + fn const_closure() { run_and_expect_no_errors("test_data/parser/inline/ok/const_closure.rs"); } + #[test] + fn const_item() { run_and_expect_no_errors("test_data/parser/inline/ok/const_item.rs"); } + #[test] + fn const_param() { run_and_expect_no_errors("test_data/parser/inline/ok/const_param.rs"); } + #[test] + fn const_param_default_expression() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_param_default_expression.rs"); + } + #[test] + fn const_param_default_literal() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_param_default_literal.rs"); + } + #[test] + fn const_param_default_path() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_param_default_path.rs"); + } + #[test] + fn const_trait_bound() { + run_and_expect_no_errors("test_data/parser/inline/ok/const_trait_bound.rs"); + } + #[test] + fn continue_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/continue_expr.rs"); } + #[test] + fn crate_path() { run_and_expect_no_errors("test_data/parser/inline/ok/crate_path.rs"); } + #[test] + fn crate_visibility() { + run_and_expect_no_errors("test_data/parser/inline/ok/crate_visibility.rs"); + } + #[test] + fn crate_visibility_in() { + run_and_expect_no_errors("test_data/parser/inline/ok/crate_visibility_in.rs"); + } + #[test] + fn default_async_fn() { + run_and_expect_no_errors("test_data/parser/inline/ok/default_async_fn.rs"); + } + #[test] + fn default_async_unsafe_fn() { + run_and_expect_no_errors("test_data/parser/inline/ok/default_async_unsafe_fn.rs"); + } + #[test] + fn default_item() { run_and_expect_no_errors("test_data/parser/inline/ok/default_item.rs"); } + #[test] + fn default_unsafe_item() { + run_and_expect_no_errors("test_data/parser/inline/ok/default_unsafe_item.rs"); + } + #[test] + fn destructuring_assignment_struct_rest_pattern() { + run_and_expect_no_errors( + "test_data/parser/inline/ok/destructuring_assignment_struct_rest_pattern.rs", + ); + } + #[test] + fn destructuring_assignment_wildcard_pat() { + run_and_expect_no_errors( + "test_data/parser/inline/ok/destructuring_assignment_wildcard_pat.rs", + ); + } + #[test] + fn dot_dot_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/dot_dot_pat.rs"); } + #[test] + fn dyn_trait_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/dyn_trait_type.rs"); + } + #[test] + fn effect_blocks() { run_and_expect_no_errors("test_data/parser/inline/ok/effect_blocks.rs"); } + #[test] + fn exclusive_range_pat() { + run_and_expect_no_errors("test_data/parser/inline/ok/exclusive_range_pat.rs"); + } + #[test] + fn expr_literals() { run_and_expect_no_errors("test_data/parser/inline/ok/expr_literals.rs"); } + #[test] + fn expression_after_block() { + run_and_expect_no_errors("test_data/parser/inline/ok/expression_after_block.rs"); + } + #[test] + fn extern_block() { run_and_expect_no_errors("test_data/parser/inline/ok/extern_block.rs"); } + #[test] + fn extern_crate() { run_and_expect_no_errors("test_data/parser/inline/ok/extern_crate.rs"); } + #[test] + fn extern_crate_rename() { + run_and_expect_no_errors("test_data/parser/inline/ok/extern_crate_rename.rs"); + } + #[test] + fn extern_crate_self() { + run_and_expect_no_errors("test_data/parser/inline/ok/extern_crate_self.rs"); + } + #[test] + fn field_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/field_expr.rs"); } + #[test] + fn fn_() { run_and_expect_no_errors("test_data/parser/inline/ok/fn_.rs"); } + #[test] + fn fn_decl() { run_and_expect_no_errors("test_data/parser/inline/ok/fn_decl.rs"); } + #[test] + fn fn_def_param() { run_and_expect_no_errors("test_data/parser/inline/ok/fn_def_param.rs"); } + #[test] + fn fn_pointer_param_ident_path() { + run_and_expect_no_errors("test_data/parser/inline/ok/fn_pointer_param_ident_path.rs"); + } + #[test] + fn fn_pointer_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/fn_pointer_type.rs"); + } + #[test] + fn fn_pointer_type_with_ret() { + run_and_expect_no_errors("test_data/parser/inline/ok/fn_pointer_type_with_ret.rs"); + } + #[test] + fn fn_pointer_unnamed_arg() { + run_and_expect_no_errors("test_data/parser/inline/ok/fn_pointer_unnamed_arg.rs"); + } + #[test] + fn for_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/for_expr.rs"); } + #[test] + fn for_range_from() { + run_and_expect_no_errors("test_data/parser/inline/ok/for_range_from.rs"); + } + #[test] + fn for_type() { run_and_expect_no_errors("test_data/parser/inline/ok/for_type.rs"); } + #[test] + fn full_range_expr() { + run_and_expect_no_errors("test_data/parser/inline/ok/full_range_expr.rs"); + } + #[test] + fn function_ret_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/function_ret_type.rs"); + } + #[test] + fn function_type_params() { + run_and_expect_no_errors("test_data/parser/inline/ok/function_type_params.rs"); + } + #[test] + fn function_where_clause() { + run_and_expect_no_errors("test_data/parser/inline/ok/function_where_clause.rs"); + } + #[test] + fn generic_arg() { run_and_expect_no_errors("test_data/parser/inline/ok/generic_arg.rs"); } + #[test] + fn generic_param_attribute() { + run_and_expect_no_errors("test_data/parser/inline/ok/generic_param_attribute.rs"); + } + #[test] + fn generic_param_list() { + run_and_expect_no_errors("test_data/parser/inline/ok/generic_param_list.rs"); + } + #[test] + fn half_open_range_pat() { + run_and_expect_no_errors("test_data/parser/inline/ok/half_open_range_pat.rs"); + } + #[test] + fn if_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/if_expr.rs"); } + #[test] + fn impl_item() { run_and_expect_no_errors("test_data/parser/inline/ok/impl_item.rs"); } + #[test] + fn impl_item_const() { + run_and_expect_no_errors("test_data/parser/inline/ok/impl_item_const.rs"); + } + #[test] + fn impl_item_neg() { run_and_expect_no_errors("test_data/parser/inline/ok/impl_item_neg.rs"); } + #[test] + fn impl_trait_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/impl_trait_type.rs"); + } + #[test] + fn impl_type_params() { + run_and_expect_no_errors("test_data/parser/inline/ok/impl_type_params.rs"); + } + #[test] + fn index_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/index_expr.rs"); } + #[test] + fn label() { run_and_expect_no_errors("test_data/parser/inline/ok/label.rs"); } + #[test] + fn labeled_block() { run_and_expect_no_errors("test_data/parser/inline/ok/labeled_block.rs"); } + #[test] + fn lambda_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/lambda_expr.rs"); } + #[test] + fn lambda_ret_block() { + run_and_expect_no_errors("test_data/parser/inline/ok/lambda_ret_block.rs"); + } + #[test] + fn let_else() { run_and_expect_no_errors("test_data/parser/inline/ok/let_else.rs"); } + #[test] + fn let_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/let_expr.rs"); } + #[test] + fn let_stmt() { run_and_expect_no_errors("test_data/parser/inline/ok/let_stmt.rs"); } + #[test] + fn let_stmt_ascription() { + run_and_expect_no_errors("test_data/parser/inline/ok/let_stmt_ascription.rs"); + } + #[test] + fn let_stmt_init() { run_and_expect_no_errors("test_data/parser/inline/ok/let_stmt_init.rs"); } + #[test] + fn lifetime_arg() { run_and_expect_no_errors("test_data/parser/inline/ok/lifetime_arg.rs"); } + #[test] + fn lifetime_param() { + run_and_expect_no_errors("test_data/parser/inline/ok/lifetime_param.rs"); + } + #[test] + fn literal_pattern() { + run_and_expect_no_errors("test_data/parser/inline/ok/literal_pattern.rs"); + } + #[test] + fn loop_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/loop_expr.rs"); } + #[test] + fn macro_call_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/macro_call_type.rs"); + } + #[test] + fn macro_def() { run_and_expect_no_errors("test_data/parser/inline/ok/macro_def.rs"); } + #[test] + fn macro_def_curly() { + run_and_expect_no_errors("test_data/parser/inline/ok/macro_def_curly.rs"); + } + #[test] + fn macro_inside_generic_arg() { + run_and_expect_no_errors("test_data/parser/inline/ok/macro_inside_generic_arg.rs"); + } + #[test] + fn macro_rules_as_macro_name() { + run_and_expect_no_errors("test_data/parser/inline/ok/macro_rules_as_macro_name.rs"); + } + #[test] + fn macro_rules_non_brace() { + run_and_expect_no_errors("test_data/parser/inline/ok/macro_rules_non_brace.rs"); + } + #[test] + fn marco_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/marco_pat.rs"); } + #[test] + fn match_arm() { run_and_expect_no_errors("test_data/parser/inline/ok/match_arm.rs"); } + #[test] + fn match_arms_commas() { + run_and_expect_no_errors("test_data/parser/inline/ok/match_arms_commas.rs"); + } + #[test] + fn match_arms_inner_attribute() { + run_and_expect_no_errors("test_data/parser/inline/ok/match_arms_inner_attribute.rs"); + } + #[test] + fn match_arms_outer_attributes() { + run_and_expect_no_errors("test_data/parser/inline/ok/match_arms_outer_attributes.rs"); + } + #[test] + fn match_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/match_expr.rs"); } + #[test] + fn match_guard() { run_and_expect_no_errors("test_data/parser/inline/ok/match_guard.rs"); } + #[test] + fn metas() { run_and_expect_no_errors("test_data/parser/inline/ok/metas.rs"); } + #[test] + fn method_call_expr() { + run_and_expect_no_errors("test_data/parser/inline/ok/method_call_expr.rs"); + } + #[test] + fn mod_contents() { run_and_expect_no_errors("test_data/parser/inline/ok/mod_contents.rs"); } + #[test] + fn mod_item() { run_and_expect_no_errors("test_data/parser/inline/ok/mod_item.rs"); } + #[test] + fn mod_item_curly() { + run_and_expect_no_errors("test_data/parser/inline/ok/mod_item_curly.rs"); + } + #[test] + fn never_type() { run_and_expect_no_errors("test_data/parser/inline/ok/never_type.rs"); } + #[test] + fn no_dyn_trait_leading_for() { + run_and_expect_no_errors("test_data/parser/inline/ok/no_dyn_trait_leading_for.rs"); + } + #[test] + fn no_semi_after_block() { + run_and_expect_no_errors("test_data/parser/inline/ok/no_semi_after_block.rs"); + } + #[test] + fn nocontentexpr() { run_and_expect_no_errors("test_data/parser/inline/ok/nocontentexpr.rs"); } + #[test] + fn nocontentexpr_after_item() { + run_and_expect_no_errors("test_data/parser/inline/ok/nocontentexpr_after_item.rs"); + } + #[test] + fn or_pattern() { run_and_expect_no_errors("test_data/parser/inline/ok/or_pattern.rs"); } + #[test] + fn param_list() { run_and_expect_no_errors("test_data/parser/inline/ok/param_list.rs"); } + #[test] + fn param_list_opt_patterns() { + run_and_expect_no_errors("test_data/parser/inline/ok/param_list_opt_patterns.rs"); + } + #[test] + fn param_list_vararg() { + run_and_expect_no_errors("test_data/parser/inline/ok/param_list_vararg.rs"); + } + #[test] + fn param_outer_arg() { + run_and_expect_no_errors("test_data/parser/inline/ok/param_outer_arg.rs"); + } + #[test] + fn paren_type() { run_and_expect_no_errors("test_data/parser/inline/ok/paren_type.rs"); } + #[test] + fn path_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/path_expr.rs"); } + #[test] + fn path_fn_trait_args() { + run_and_expect_no_errors("test_data/parser/inline/ok/path_fn_trait_args.rs"); + } + #[test] + fn path_part() { run_and_expect_no_errors("test_data/parser/inline/ok/path_part.rs"); } + #[test] + fn path_type() { run_and_expect_no_errors("test_data/parser/inline/ok/path_type.rs"); } + #[test] + fn path_type_with_bounds() { + run_and_expect_no_errors("test_data/parser/inline/ok/path_type_with_bounds.rs"); + } + #[test] + fn placeholder_pat() { + run_and_expect_no_errors("test_data/parser/inline/ok/placeholder_pat.rs"); + } + #[test] + fn placeholder_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/placeholder_type.rs"); + } + #[test] + fn pointer_type_mut() { + run_and_expect_no_errors("test_data/parser/inline/ok/pointer_type_mut.rs"); + } + #[test] + fn postfix_range() { run_and_expect_no_errors("test_data/parser/inline/ok/postfix_range.rs"); } + #[test] + fn pub_parens_typepath() { + run_and_expect_no_errors("test_data/parser/inline/ok/pub_parens_typepath.rs"); + } + #[test] + fn pub_tuple_field() { + run_and_expect_no_errors("test_data/parser/inline/ok/pub_tuple_field.rs"); + } + #[test] + fn qual_paths() { run_and_expect_no_errors("test_data/parser/inline/ok/qual_paths.rs"); } + #[test] + fn question_for_type_trait_bound() { + run_and_expect_no_errors("test_data/parser/inline/ok/question_for_type_trait_bound.rs"); + } + #[test] + fn range_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/range_pat.rs"); } + #[test] + fn record_field_attrs() { + run_and_expect_no_errors("test_data/parser/inline/ok/record_field_attrs.rs"); + } + #[test] + fn record_field_list() { + run_and_expect_no_errors("test_data/parser/inline/ok/record_field_list.rs"); + } + #[test] + fn record_lit() { run_and_expect_no_errors("test_data/parser/inline/ok/record_lit.rs"); } + #[test] + fn record_literal_field_with_attr() { + run_and_expect_no_errors("test_data/parser/inline/ok/record_literal_field_with_attr.rs"); + } + #[test] + fn record_pat_field() { + run_and_expect_no_errors("test_data/parser/inline/ok/record_pat_field.rs"); + } + #[test] + fn record_pat_field_list() { + run_and_expect_no_errors("test_data/parser/inline/ok/record_pat_field_list.rs"); + } + #[test] + fn ref_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/ref_expr.rs"); } + #[test] + fn ref_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/ref_pat.rs"); } + #[test] + fn reference_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/reference_type.rs"); + } + #[test] + fn return_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/return_expr.rs"); } + #[test] + fn self_param() { run_and_expect_no_errors("test_data/parser/inline/ok/self_param.rs"); } + #[test] + fn self_param_outer_attr() { + run_and_expect_no_errors("test_data/parser/inline/ok/self_param_outer_attr.rs"); + } + #[test] + fn singleton_tuple_type() { + run_and_expect_no_errors("test_data/parser/inline/ok/singleton_tuple_type.rs"); + } + #[test] + fn slice_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/slice_pat.rs"); } + #[test] + fn slice_type() { run_and_expect_no_errors("test_data/parser/inline/ok/slice_type.rs"); } + #[test] + fn stmt_bin_expr_ambiguity() { + run_and_expect_no_errors("test_data/parser/inline/ok/stmt_bin_expr_ambiguity.rs"); + } + #[test] + fn stmt_postfix_expr_ambiguity() { + run_and_expect_no_errors("test_data/parser/inline/ok/stmt_postfix_expr_ambiguity.rs"); + } + #[test] + fn struct_item() { run_and_expect_no_errors("test_data/parser/inline/ok/struct_item.rs"); } + #[test] + fn trait_alias() { run_and_expect_no_errors("test_data/parser/inline/ok/trait_alias.rs"); } + #[test] + fn trait_alias_where_clause() { + run_and_expect_no_errors("test_data/parser/inline/ok/trait_alias_where_clause.rs"); + } + #[test] + fn trait_item() { run_and_expect_no_errors("test_data/parser/inline/ok/trait_item.rs"); } + #[test] + fn trait_item_bounds() { + run_and_expect_no_errors("test_data/parser/inline/ok/trait_item_bounds.rs"); + } + #[test] + fn trait_item_generic_params() { + run_and_expect_no_errors("test_data/parser/inline/ok/trait_item_generic_params.rs"); + } + #[test] + fn trait_item_where_clause() { + run_and_expect_no_errors("test_data/parser/inline/ok/trait_item_where_clause.rs"); + } + #[test] + fn try_block_expr() { + run_and_expect_no_errors("test_data/parser/inline/ok/try_block_expr.rs"); + } + #[test] + fn try_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/try_expr.rs"); } + #[test] + fn try_macro_fallback() { + run_and_expect_no_errors("test_data/parser/inline/ok/try_macro_fallback.rs"); + } + #[test] + fn try_macro_rules() { + run_and_expect_no_errors("test_data/parser/inline/ok/try_macro_rules.rs"); + } + #[test] + fn tuple_attrs() { run_and_expect_no_errors("test_data/parser/inline/ok/tuple_attrs.rs"); } + #[test] + fn tuple_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/tuple_expr.rs"); } + #[test] + fn tuple_field_attrs() { + run_and_expect_no_errors("test_data/parser/inline/ok/tuple_field_attrs.rs"); + } + #[test] + fn tuple_pat() { run_and_expect_no_errors("test_data/parser/inline/ok/tuple_pat.rs"); } + #[test] + fn tuple_pat_fields() { + run_and_expect_no_errors("test_data/parser/inline/ok/tuple_pat_fields.rs"); + } + #[test] + fn tuple_struct() { run_and_expect_no_errors("test_data/parser/inline/ok/tuple_struct.rs"); } + #[test] + fn tuple_struct_where() { + run_and_expect_no_errors("test_data/parser/inline/ok/tuple_struct_where.rs"); + } + #[test] + fn type_alias() { run_and_expect_no_errors("test_data/parser/inline/ok/type_alias.rs"); } + #[test] + fn type_item_type_params() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_item_type_params.rs"); + } + #[test] + fn type_item_where_clause() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_item_where_clause.rs"); + } + #[test] + fn type_item_where_clause_deprecated() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_item_where_clause_deprecated.rs"); + } + #[test] + fn type_param() { run_and_expect_no_errors("test_data/parser/inline/ok/type_param.rs"); } + #[test] + fn type_param_bounds() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_param_bounds.rs"); + } + #[test] + fn type_param_default() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_param_default.rs"); + } + #[test] + fn type_path_in_pattern() { + run_and_expect_no_errors("test_data/parser/inline/ok/type_path_in_pattern.rs"); + } + #[test] + fn typepathfn_with_coloncolon() { + run_and_expect_no_errors("test_data/parser/inline/ok/typepathfn_with_coloncolon.rs"); + } + #[test] + fn unary_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/unary_expr.rs"); } + #[test] + fn union_item() { run_and_expect_no_errors("test_data/parser/inline/ok/union_item.rs"); } + #[test] + fn unit_struct() { run_and_expect_no_errors("test_data/parser/inline/ok/unit_struct.rs"); } + #[test] + fn unit_type() { run_and_expect_no_errors("test_data/parser/inline/ok/unit_type.rs"); } + #[test] + fn use_item() { run_and_expect_no_errors("test_data/parser/inline/ok/use_item.rs"); } + #[test] + fn use_tree() { run_and_expect_no_errors("test_data/parser/inline/ok/use_tree.rs"); } + #[test] + fn use_tree_abs_star() { + run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_abs_star.rs"); + } + #[test] + fn use_tree_alias() { + run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_alias.rs"); + } + #[test] + fn use_tree_list() { run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_list.rs"); } + #[test] + fn use_tree_path() { run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_path.rs"); } + #[test] + fn use_tree_path_star() { + run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_path_star.rs"); + } + #[test] + fn use_tree_path_use_tree() { + run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_path_use_tree.rs"); + } + #[test] + fn use_tree_star() { run_and_expect_no_errors("test_data/parser/inline/ok/use_tree_star.rs"); } + #[test] + fn value_parameters_no_patterns() { + run_and_expect_no_errors("test_data/parser/inline/ok/value_parameters_no_patterns.rs"); + } + #[test] + fn variant_discriminant() { + run_and_expect_no_errors("test_data/parser/inline/ok/variant_discriminant.rs"); + } + #[test] + fn where_clause() { run_and_expect_no_errors("test_data/parser/inline/ok/where_clause.rs"); } + #[test] + fn where_pred_for() { + run_and_expect_no_errors("test_data/parser/inline/ok/where_pred_for.rs"); + } + #[test] + fn while_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/while_expr.rs"); } + #[test] + fn yeet_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/yeet_expr.rs"); } + #[test] + fn yield_expr() { run_and_expect_no_errors("test_data/parser/inline/ok/yield_expr.rs"); } +} +mod err { + use crate::tests::run_and_expect_errors; + #[test] + fn angled_path_without_qual() { + run_and_expect_errors("test_data/parser/inline/err/angled_path_without_qual.rs"); + } + #[test] + fn anonymous_static() { + run_and_expect_errors("test_data/parser/inline/err/anonymous_static.rs"); + } + #[test] + fn arg_list_recovery() { + run_and_expect_errors("test_data/parser/inline/err/arg_list_recovery.rs"); + } + #[test] + fn array_type_missing_semi() { + run_and_expect_errors("test_data/parser/inline/err/array_type_missing_semi.rs"); + } + #[test] + fn async_without_semicolon() { + run_and_expect_errors("test_data/parser/inline/err/async_without_semicolon.rs"); + } + #[test] + fn comma_after_functional_update_syntax() { + run_and_expect_errors( + "test_data/parser/inline/err/comma_after_functional_update_syntax.rs", + ); + } + #[test] + fn crate_visibility_empty_recover() { + run_and_expect_errors("test_data/parser/inline/err/crate_visibility_empty_recover.rs"); + } + #[test] + fn empty_param_slot() { + run_and_expect_errors("test_data/parser/inline/err/empty_param_slot.rs"); + } + #[test] + fn empty_segment() { run_and_expect_errors("test_data/parser/inline/err/empty_segment.rs"); } + #[test] + fn fn_pointer_type_missing_fn() { + run_and_expect_errors("test_data/parser/inline/err/fn_pointer_type_missing_fn.rs"); + } + #[test] + fn gen_blocks() { run_and_expect_errors("test_data/parser/inline/err/gen_blocks.rs"); } + #[test] + fn gen_fn() { run_and_expect_errors("test_data/parser/inline/err/gen_fn.rs"); } + #[test] + fn generic_arg_list_recover() { + run_and_expect_errors("test_data/parser/inline/err/generic_arg_list_recover.rs"); + } + #[test] + fn generic_param_list_recover() { + run_and_expect_errors("test_data/parser/inline/err/generic_param_list_recover.rs"); + } + #[test] + fn impl_type() { run_and_expect_errors("test_data/parser/inline/err/impl_type.rs"); } + #[test] + fn let_else_right_curly_brace() { + run_and_expect_errors("test_data/parser/inline/err/let_else_right_curly_brace.rs"); + } + #[test] + fn macro_rules_as_macro_name() { + run_and_expect_errors("test_data/parser/inline/err/macro_rules_as_macro_name.rs"); + } + #[test] + fn match_arms_recovery() { + run_and_expect_errors("test_data/parser/inline/err/match_arms_recovery.rs"); + } + #[test] + fn method_call_missing_argument_list() { + run_and_expect_errors("test_data/parser/inline/err/method_call_missing_argument_list.rs"); + } + #[test] + fn misplaced_label_err() { + run_and_expect_errors("test_data/parser/inline/err/misplaced_label_err.rs"); + } + #[test] + fn missing_fn_param_type() { + run_and_expect_errors("test_data/parser/inline/err/missing_fn_param_type.rs"); + } + #[test] + fn pointer_type_no_mutability() { + run_and_expect_errors("test_data/parser/inline/err/pointer_type_no_mutability.rs"); + } + #[test] + fn pub_expr() { run_and_expect_errors("test_data/parser/inline/err/pub_expr.rs"); } + #[test] + fn record_literal_before_ellipsis_recovery() { + run_and_expect_errors( + "test_data/parser/inline/err/record_literal_before_ellipsis_recovery.rs", + ); + } + #[test] + fn record_literal_field_eq_recovery() { + run_and_expect_errors("test_data/parser/inline/err/record_literal_field_eq_recovery.rs"); + } + #[test] + fn record_literal_missing_ellipsis_recovery() { + run_and_expect_errors( + "test_data/parser/inline/err/record_literal_missing_ellipsis_recovery.rs", + ); + } + #[test] + fn record_pat_field_eq_recovery() { + run_and_expect_errors("test_data/parser/inline/err/record_pat_field_eq_recovery.rs"); + } + #[test] + fn recover_from_missing_assoc_item_binding() { + run_and_expect_errors( + "test_data/parser/inline/err/recover_from_missing_assoc_item_binding.rs", + ); + } + #[test] + fn recover_from_missing_const_default() { + run_and_expect_errors("test_data/parser/inline/err/recover_from_missing_const_default.rs"); + } + #[test] + fn struct_field_recover() { + run_and_expect_errors("test_data/parser/inline/err/struct_field_recover.rs"); + } + #[test] + fn top_level_let() { run_and_expect_errors("test_data/parser/inline/err/top_level_let.rs"); } + #[test] + fn tuple_expr_leading_comma() { + run_and_expect_errors("test_data/parser/inline/err/tuple_expr_leading_comma.rs"); + } + #[test] + fn tuple_field_list_recovery() { + run_and_expect_errors("test_data/parser/inline/err/tuple_field_list_recovery.rs"); + } + #[test] + fn tuple_pat_leading_comma() { + run_and_expect_errors("test_data/parser/inline/err/tuple_pat_leading_comma.rs"); + } + #[test] + fn unsafe_block_in_mod() { + run_and_expect_errors("test_data/parser/inline/err/unsafe_block_in_mod.rs"); + } + #[test] + fn use_tree_list_err_recovery() { + run_and_expect_errors("test_data/parser/inline/err/use_tree_list_err_recovery.rs"); + } +} diff --git a/crates/parser/test_data/parser/inline/err/0016_angled_path_without_qual.rast b/crates/parser/test_data/parser/inline/err/angled_path_without_qual.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0016_angled_path_without_qual.rast rename to crates/parser/test_data/parser/inline/err/angled_path_without_qual.rast diff --git a/crates/parser/test_data/parser/inline/err/0016_angled_path_without_qual.rs b/crates/parser/test_data/parser/inline/err/angled_path_without_qual.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0016_angled_path_without_qual.rs rename to crates/parser/test_data/parser/inline/err/angled_path_without_qual.rs diff --git a/crates/parser/test_data/parser/inline/err/0013_anonymous_static.rast b/crates/parser/test_data/parser/inline/err/anonymous_static.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0013_anonymous_static.rast rename to crates/parser/test_data/parser/inline/err/anonymous_static.rast diff --git a/crates/parser/test_data/parser/inline/err/0013_anonymous_static.rs b/crates/parser/test_data/parser/inline/err/anonymous_static.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0013_anonymous_static.rs rename to crates/parser/test_data/parser/inline/err/anonymous_static.rs diff --git a/crates/parser/test_data/parser/inline/err/0015_arg_list_recovery.rast b/crates/parser/test_data/parser/inline/err/arg_list_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_arg_list_recovery.rast rename to crates/parser/test_data/parser/inline/err/arg_list_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0015_arg_list_recovery.rs b/crates/parser/test_data/parser/inline/err/arg_list_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_arg_list_recovery.rs rename to crates/parser/test_data/parser/inline/err/arg_list_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0001_array_type_missing_semi.rast b/crates/parser/test_data/parser/inline/err/array_type_missing_semi.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0001_array_type_missing_semi.rast rename to crates/parser/test_data/parser/inline/err/array_type_missing_semi.rast diff --git a/crates/parser/test_data/parser/inline/err/0001_array_type_missing_semi.rs b/crates/parser/test_data/parser/inline/err/array_type_missing_semi.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0001_array_type_missing_semi.rs rename to crates/parser/test_data/parser/inline/err/array_type_missing_semi.rs diff --git a/crates/parser/test_data/parser/inline/err/0007_async_without_semicolon.rast b/crates/parser/test_data/parser/inline/err/async_without_semicolon.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0007_async_without_semicolon.rast rename to crates/parser/test_data/parser/inline/err/async_without_semicolon.rast diff --git a/crates/parser/test_data/parser/inline/err/0007_async_without_semicolon.rs b/crates/parser/test_data/parser/inline/err/async_without_semicolon.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0007_async_without_semicolon.rs rename to crates/parser/test_data/parser/inline/err/async_without_semicolon.rs diff --git a/crates/parser/test_data/parser/inline/err/0024_comma_after_functional_update_syntax.rast b/crates/parser/test_data/parser/inline/err/comma_after_functional_update_syntax.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0024_comma_after_functional_update_syntax.rast rename to crates/parser/test_data/parser/inline/err/comma_after_functional_update_syntax.rast diff --git a/crates/parser/test_data/parser/inline/err/0024_comma_after_functional_update_syntax.rs b/crates/parser/test_data/parser/inline/err/comma_after_functional_update_syntax.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0024_comma_after_functional_update_syntax.rs rename to crates/parser/test_data/parser/inline/err/comma_after_functional_update_syntax.rs diff --git a/crates/parser/test_data/parser/inline/err/0018_crate_visibility_empty_recover.rast b/crates/parser/test_data/parser/inline/err/crate_visibility_empty_recover.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0018_crate_visibility_empty_recover.rast rename to crates/parser/test_data/parser/inline/err/crate_visibility_empty_recover.rast diff --git a/crates/parser/test_data/parser/inline/err/0018_crate_visibility_empty_recover.rs b/crates/parser/test_data/parser/inline/err/crate_visibility_empty_recover.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0018_crate_visibility_empty_recover.rs rename to crates/parser/test_data/parser/inline/err/crate_visibility_empty_recover.rs diff --git a/crates/parser/test_data/parser/inline/err/0023_empty_param_slot.rast b/crates/parser/test_data/parser/inline/err/empty_param_slot.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0023_empty_param_slot.rast rename to crates/parser/test_data/parser/inline/err/empty_param_slot.rast diff --git a/crates/parser/test_data/parser/inline/err/0023_empty_param_slot.rs b/crates/parser/test_data/parser/inline/err/empty_param_slot.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0023_empty_param_slot.rs rename to crates/parser/test_data/parser/inline/err/empty_param_slot.rs diff --git a/crates/parser/test_data/parser/inline/err/0015_empty_segment.rast b/crates/parser/test_data/parser/inline/err/empty_segment.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_empty_segment.rast rename to crates/parser/test_data/parser/inline/err/empty_segment.rast diff --git a/crates/parser/test_data/parser/inline/err/0015_empty_segment.rs b/crates/parser/test_data/parser/inline/err/empty_segment.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_empty_segment.rs rename to crates/parser/test_data/parser/inline/err/empty_segment.rs diff --git a/crates/parser/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast b/crates/parser/test_data/parser/inline/err/fn_pointer_type_missing_fn.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rast rename to crates/parser/test_data/parser/inline/err/fn_pointer_type_missing_fn.rast diff --git a/crates/parser/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs b/crates/parser/test_data/parser/inline/err/fn_pointer_type_missing_fn.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0005_fn_pointer_type_missing_fn.rs rename to crates/parser/test_data/parser/inline/err/fn_pointer_type_missing_fn.rs diff --git a/crates/parser/test_data/parser/inline/err/0035_gen_blocks.rast b/crates/parser/test_data/parser/inline/err/gen_blocks.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0035_gen_blocks.rast rename to crates/parser/test_data/parser/inline/err/gen_blocks.rast diff --git a/crates/parser/test_data/parser/inline/err/0035_gen_blocks.rs b/crates/parser/test_data/parser/inline/err/gen_blocks.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0035_gen_blocks.rs rename to crates/parser/test_data/parser/inline/err/gen_blocks.rs diff --git a/crates/parser/test_data/parser/inline/err/0036_gen_fn.rast b/crates/parser/test_data/parser/inline/err/gen_fn.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0036_gen_fn.rast rename to crates/parser/test_data/parser/inline/err/gen_fn.rast diff --git a/crates/parser/test_data/parser/inline/err/0036_gen_fn.rs b/crates/parser/test_data/parser/inline/err/gen_fn.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0036_gen_fn.rs rename to crates/parser/test_data/parser/inline/err/gen_fn.rs diff --git a/crates/parser/test_data/parser/inline/err/0030_generic_arg_list_recover.rast b/crates/parser/test_data/parser/inline/err/generic_arg_list_recover.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0030_generic_arg_list_recover.rast rename to crates/parser/test_data/parser/inline/err/generic_arg_list_recover.rast diff --git a/crates/parser/test_data/parser/inline/err/0030_generic_arg_list_recover.rs b/crates/parser/test_data/parser/inline/err/generic_arg_list_recover.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0030_generic_arg_list_recover.rs rename to crates/parser/test_data/parser/inline/err/generic_arg_list_recover.rs diff --git a/crates/parser/test_data/parser/inline/err/0031_generic_param_list_recover.rast b/crates/parser/test_data/parser/inline/err/generic_param_list_recover.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0031_generic_param_list_recover.rast rename to crates/parser/test_data/parser/inline/err/generic_param_list_recover.rast diff --git a/crates/parser/test_data/parser/inline/err/0031_generic_param_list_recover.rs b/crates/parser/test_data/parser/inline/err/generic_param_list_recover.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0031_generic_param_list_recover.rs rename to crates/parser/test_data/parser/inline/err/generic_param_list_recover.rs diff --git a/crates/parser/test_data/parser/inline/err/0004_impl_type.rast b/crates/parser/test_data/parser/inline/err/impl_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0004_impl_type.rast rename to crates/parser/test_data/parser/inline/err/impl_type.rast diff --git a/crates/parser/test_data/parser/inline/err/0004_impl_type.rs b/crates/parser/test_data/parser/inline/err/impl_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0004_impl_type.rs rename to crates/parser/test_data/parser/inline/err/impl_type.rs diff --git a/crates/parser/test_data/parser/inline/err/0017_let_else_right_curly_brace.rast b/crates/parser/test_data/parser/inline/err/let_else_right_curly_brace.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0017_let_else_right_curly_brace.rast rename to crates/parser/test_data/parser/inline/err/let_else_right_curly_brace.rast diff --git a/crates/parser/test_data/parser/inline/err/0017_let_else_right_curly_brace.rs b/crates/parser/test_data/parser/inline/err/let_else_right_curly_brace.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0017_let_else_right_curly_brace.rs rename to crates/parser/test_data/parser/inline/err/let_else_right_curly_brace.rs diff --git a/crates/parser/test_data/parser/inline/err/0026_macro_rules_as_macro_name.rast b/crates/parser/test_data/parser/inline/err/macro_rules_as_macro_name.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0026_macro_rules_as_macro_name.rast rename to crates/parser/test_data/parser/inline/err/macro_rules_as_macro_name.rast diff --git a/crates/parser/test_data/parser/inline/err/0026_macro_rules_as_macro_name.rs b/crates/parser/test_data/parser/inline/err/macro_rules_as_macro_name.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0026_macro_rules_as_macro_name.rs rename to crates/parser/test_data/parser/inline/err/macro_rules_as_macro_name.rs diff --git a/crates/parser/test_data/parser/inline/err/0034_match_arms_recovery.rast b/crates/parser/test_data/parser/inline/err/match_arms_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0034_match_arms_recovery.rast rename to crates/parser/test_data/parser/inline/err/match_arms_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0034_match_arms_recovery.rs b/crates/parser/test_data/parser/inline/err/match_arms_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0034_match_arms_recovery.rs rename to crates/parser/test_data/parser/inline/err/match_arms_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0028_method_call_missing_argument_list.rast b/crates/parser/test_data/parser/inline/err/method_call_missing_argument_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0028_method_call_missing_argument_list.rast rename to crates/parser/test_data/parser/inline/err/method_call_missing_argument_list.rast diff --git a/crates/parser/test_data/parser/inline/err/0028_method_call_missing_argument_list.rs b/crates/parser/test_data/parser/inline/err/method_call_missing_argument_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0028_method_call_missing_argument_list.rs rename to crates/parser/test_data/parser/inline/err/method_call_missing_argument_list.rs diff --git a/crates/parser/test_data/parser/inline/err/0002_misplaced_label_err.rast b/crates/parser/test_data/parser/inline/err/misplaced_label_err.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0002_misplaced_label_err.rast rename to crates/parser/test_data/parser/inline/err/misplaced_label_err.rast diff --git a/crates/parser/test_data/parser/inline/err/0002_misplaced_label_err.rs b/crates/parser/test_data/parser/inline/err/misplaced_label_err.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0002_misplaced_label_err.rs rename to crates/parser/test_data/parser/inline/err/misplaced_label_err.rs diff --git a/crates/parser/test_data/parser/inline/err/0015_missing_fn_param_type.rast b/crates/parser/test_data/parser/inline/err/missing_fn_param_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_missing_fn_param_type.rast rename to crates/parser/test_data/parser/inline/err/missing_fn_param_type.rast diff --git a/crates/parser/test_data/parser/inline/err/0015_missing_fn_param_type.rs b/crates/parser/test_data/parser/inline/err/missing_fn_param_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0015_missing_fn_param_type.rs rename to crates/parser/test_data/parser/inline/err/missing_fn_param_type.rs diff --git a/crates/parser/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast b/crates/parser/test_data/parser/inline/err/pointer_type_no_mutability.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0003_pointer_type_no_mutability.rast rename to crates/parser/test_data/parser/inline/err/pointer_type_no_mutability.rast diff --git a/crates/parser/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs b/crates/parser/test_data/parser/inline/err/pointer_type_no_mutability.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0003_pointer_type_no_mutability.rs rename to crates/parser/test_data/parser/inline/err/pointer_type_no_mutability.rs diff --git a/crates/parser/test_data/parser/inline/err/0008_pub_expr.rast b/crates/parser/test_data/parser/inline/err/pub_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0008_pub_expr.rast rename to crates/parser/test_data/parser/inline/err/pub_expr.rast diff --git a/crates/parser/test_data/parser/inline/err/0008_pub_expr.rs b/crates/parser/test_data/parser/inline/err/pub_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0008_pub_expr.rs rename to crates/parser/test_data/parser/inline/err/pub_expr.rs diff --git a/crates/parser/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast b/crates/parser/test_data/parser/inline/err/record_literal_before_ellipsis_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rast rename to crates/parser/test_data/parser/inline/err/record_literal_before_ellipsis_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs b/crates/parser/test_data/parser/inline/err/record_literal_before_ellipsis_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_record_literal_before_ellipsis_recovery.rs rename to crates/parser/test_data/parser/inline/err/record_literal_before_ellipsis_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0032_record_literal_field_eq_recovery.rast b/crates/parser/test_data/parser/inline/err/record_literal_field_eq_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0032_record_literal_field_eq_recovery.rast rename to crates/parser/test_data/parser/inline/err/record_literal_field_eq_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0032_record_literal_field_eq_recovery.rs b/crates/parser/test_data/parser/inline/err/record_literal_field_eq_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0032_record_literal_field_eq_recovery.rs rename to crates/parser/test_data/parser/inline/err/record_literal_field_eq_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0014_record_literal_missing_ellipsis_recovery.rast b/crates/parser/test_data/parser/inline/err/record_literal_missing_ellipsis_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_record_literal_missing_ellipsis_recovery.rast rename to crates/parser/test_data/parser/inline/err/record_literal_missing_ellipsis_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0014_record_literal_missing_ellipsis_recovery.rs b/crates/parser/test_data/parser/inline/err/record_literal_missing_ellipsis_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_record_literal_missing_ellipsis_recovery.rs rename to crates/parser/test_data/parser/inline/err/record_literal_missing_ellipsis_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0033_record_pat_field_eq_recovery.rast b/crates/parser/test_data/parser/inline/err/record_pat_field_eq_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0033_record_pat_field_eq_recovery.rast rename to crates/parser/test_data/parser/inline/err/record_pat_field_eq_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0033_record_pat_field_eq_recovery.rs b/crates/parser/test_data/parser/inline/err/record_pat_field_eq_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0033_record_pat_field_eq_recovery.rs rename to crates/parser/test_data/parser/inline/err/record_pat_field_eq_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0021_recover_from_missing_assoc_item_binding.rast b/crates/parser/test_data/parser/inline/err/recover_from_missing_assoc_item_binding.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0021_recover_from_missing_assoc_item_binding.rast rename to crates/parser/test_data/parser/inline/err/recover_from_missing_assoc_item_binding.rast diff --git a/crates/parser/test_data/parser/inline/err/0021_recover_from_missing_assoc_item_binding.rs b/crates/parser/test_data/parser/inline/err/recover_from_missing_assoc_item_binding.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0021_recover_from_missing_assoc_item_binding.rs rename to crates/parser/test_data/parser/inline/err/recover_from_missing_assoc_item_binding.rs diff --git a/crates/parser/test_data/parser/inline/err/0022_recover_from_missing_const_default.rast b/crates/parser/test_data/parser/inline/err/recover_from_missing_const_default.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0022_recover_from_missing_const_default.rast rename to crates/parser/test_data/parser/inline/err/recover_from_missing_const_default.rast diff --git a/crates/parser/test_data/parser/inline/err/0022_recover_from_missing_const_default.rs b/crates/parser/test_data/parser/inline/err/recover_from_missing_const_default.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0022_recover_from_missing_const_default.rs rename to crates/parser/test_data/parser/inline/err/recover_from_missing_const_default.rs diff --git a/crates/parser/test_data/parser/inline/err/0014_struct_field_recover.rast b/crates/parser/test_data/parser/inline/err/struct_field_recover.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_struct_field_recover.rast rename to crates/parser/test_data/parser/inline/err/struct_field_recover.rast diff --git a/crates/parser/test_data/parser/inline/err/0014_struct_field_recover.rs b/crates/parser/test_data/parser/inline/err/struct_field_recover.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0014_struct_field_recover.rs rename to crates/parser/test_data/parser/inline/err/struct_field_recover.rs diff --git a/crates/parser/test_data/parser/inline/err/0024_top_level_let.rast b/crates/parser/test_data/parser/inline/err/top_level_let.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0024_top_level_let.rast rename to crates/parser/test_data/parser/inline/err/top_level_let.rast diff --git a/crates/parser/test_data/parser/inline/err/0024_top_level_let.rs b/crates/parser/test_data/parser/inline/err/top_level_let.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0024_top_level_let.rs rename to crates/parser/test_data/parser/inline/err/top_level_let.rs diff --git a/crates/parser/test_data/parser/inline/err/0019_tuple_expr_leading_comma.rast b/crates/parser/test_data/parser/inline/err/tuple_expr_leading_comma.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0019_tuple_expr_leading_comma.rast rename to crates/parser/test_data/parser/inline/err/tuple_expr_leading_comma.rast diff --git a/crates/parser/test_data/parser/inline/err/0019_tuple_expr_leading_comma.rs b/crates/parser/test_data/parser/inline/err/tuple_expr_leading_comma.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0019_tuple_expr_leading_comma.rs rename to crates/parser/test_data/parser/inline/err/tuple_expr_leading_comma.rs diff --git a/crates/parser/test_data/parser/inline/err/0029_tuple_field_list_recovery.rast b/crates/parser/test_data/parser/inline/err/tuple_field_list_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0029_tuple_field_list_recovery.rast rename to crates/parser/test_data/parser/inline/err/tuple_field_list_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0029_tuple_field_list_recovery.rs b/crates/parser/test_data/parser/inline/err/tuple_field_list_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0029_tuple_field_list_recovery.rs rename to crates/parser/test_data/parser/inline/err/tuple_field_list_recovery.rs diff --git a/crates/parser/test_data/parser/inline/err/0020_tuple_pat_leading_comma.rast b/crates/parser/test_data/parser/inline/err/tuple_pat_leading_comma.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0020_tuple_pat_leading_comma.rast rename to crates/parser/test_data/parser/inline/err/tuple_pat_leading_comma.rast diff --git a/crates/parser/test_data/parser/inline/err/0020_tuple_pat_leading_comma.rs b/crates/parser/test_data/parser/inline/err/tuple_pat_leading_comma.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0020_tuple_pat_leading_comma.rs rename to crates/parser/test_data/parser/inline/err/tuple_pat_leading_comma.rs diff --git a/crates/parser/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast b/crates/parser/test_data/parser/inline/err/unsafe_block_in_mod.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0006_unsafe_block_in_mod.rast rename to crates/parser/test_data/parser/inline/err/unsafe_block_in_mod.rast diff --git a/crates/parser/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs b/crates/parser/test_data/parser/inline/err/unsafe_block_in_mod.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0006_unsafe_block_in_mod.rs rename to crates/parser/test_data/parser/inline/err/unsafe_block_in_mod.rs diff --git a/crates/parser/test_data/parser/inline/err/0026_use_tree_list_err_recovery.rast b/crates/parser/test_data/parser/inline/err/use_tree_list_err_recovery.rast similarity index 100% rename from crates/parser/test_data/parser/inline/err/0026_use_tree_list_err_recovery.rast rename to crates/parser/test_data/parser/inline/err/use_tree_list_err_recovery.rast diff --git a/crates/parser/test_data/parser/inline/err/0026_use_tree_list_err_recovery.rs b/crates/parser/test_data/parser/inline/err/use_tree_list_err_recovery.rs similarity index 100% rename from crates/parser/test_data/parser/inline/err/0026_use_tree_list_err_recovery.rs rename to crates/parser/test_data/parser/inline/err/use_tree_list_err_recovery.rs diff --git a/crates/parser/test_data/parser/inline/ok/0083_struct_items.rast b/crates/parser/test_data/parser/inline/ok/0083_struct_items.rast deleted file mode 100644 index cdbc40fe0b..0000000000 --- a/crates/parser/test_data/parser/inline/ok/0083_struct_items.rast +++ /dev/null @@ -1,87 +0,0 @@ -SOURCE_FILE@0..106 - STRUCT@0..11 - STRUCT_KW@0..6 "struct" - WHITESPACE@6..7 " " - NAME@7..10 - IDENT@7..10 "Foo" - SEMICOLON@10..11 ";" - WHITESPACE@11..12 "\n" - STRUCT@12..25 - STRUCT_KW@12..18 "struct" - WHITESPACE@18..19 " " - NAME@19..22 - IDENT@19..22 "Foo" - WHITESPACE@22..23 " " - RECORD_FIELD_LIST@23..25 - L_CURLY@23..24 "{" - R_CURLY@24..25 "}" - WHITESPACE@25..26 "\n" - STRUCT@26..39 - STRUCT_KW@26..32 "struct" - WHITESPACE@32..33 " " - NAME@33..36 - IDENT@33..36 "Foo" - TUPLE_FIELD_LIST@36..38 - L_PAREN@36..37 "(" - R_PAREN@37..38 ")" - SEMICOLON@38..39 ";" - WHITESPACE@39..40 "\n" - STRUCT@40..66 - STRUCT_KW@40..46 "struct" - WHITESPACE@46..47 " " - NAME@47..50 - IDENT@47..50 "Foo" - TUPLE_FIELD_LIST@50..65 - L_PAREN@50..51 "(" - TUPLE_FIELD@51..57 - PATH_TYPE@51..57 - PATH@51..57 - PATH_SEGMENT@51..57 - NAME_REF@51..57 - IDENT@51..57 "String" - COMMA@57..58 "," - WHITESPACE@58..59 " " - TUPLE_FIELD@59..64 - PATH_TYPE@59..64 - PATH@59..64 - PATH_SEGMENT@59..64 - NAME_REF@59..64 - IDENT@59..64 "usize" - R_PAREN@64..65 ")" - SEMICOLON@65..66 ";" - WHITESPACE@66..67 "\n" - STRUCT@67..105 - STRUCT_KW@67..73 "struct" - WHITESPACE@73..74 " " - NAME@74..77 - IDENT@74..77 "Foo" - WHITESPACE@77..78 " " - RECORD_FIELD_LIST@78..105 - L_CURLY@78..79 "{" - WHITESPACE@79..84 "\n " - RECORD_FIELD@84..90 - NAME@84..85 - IDENT@84..85 "a" - COLON@85..86 ":" - WHITESPACE@86..87 " " - PATH_TYPE@87..90 - PATH@87..90 - PATH_SEGMENT@87..90 - NAME_REF@87..90 - IDENT@87..90 "i32" - COMMA@90..91 "," - WHITESPACE@91..96 "\n " - RECORD_FIELD@96..102 - NAME@96..97 - IDENT@96..97 "b" - COLON@97..98 ":" - WHITESPACE@98..99 " " - PATH_TYPE@99..102 - PATH@99..102 - PATH_SEGMENT@99..102 - NAME_REF@99..102 - IDENT@99..102 "f32" - COMMA@102..103 "," - WHITESPACE@103..104 "\n" - R_CURLY@104..105 "}" - WHITESPACE@105..106 "\n" diff --git a/crates/parser/test_data/parser/inline/ok/0173_anonymous_const.rast b/crates/parser/test_data/parser/inline/ok/anonymous_const.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_anonymous_const.rast rename to crates/parser/test_data/parser/inline/ok/anonymous_const.rast diff --git a/crates/parser/test_data/parser/inline/ok/0173_anonymous_const.rs b/crates/parser/test_data/parser/inline/ok/anonymous_const.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_anonymous_const.rs rename to crates/parser/test_data/parser/inline/ok/anonymous_const.rs diff --git a/crates/parser/test_data/parser/inline/ok/0018_arb_self_types.rast b/crates/parser/test_data/parser/inline/ok/arb_self_types.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0018_arb_self_types.rast rename to crates/parser/test_data/parser/inline/ok/arb_self_types.rast diff --git a/crates/parser/test_data/parser/inline/ok/0018_arb_self_types.rs b/crates/parser/test_data/parser/inline/ok/arb_self_types.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0018_arb_self_types.rs rename to crates/parser/test_data/parser/inline/ok/arb_self_types.rs diff --git a/crates/parser/test_data/parser/inline/ok/0152_arg_with_attr.rast b/crates/parser/test_data/parser/inline/ok/arg_with_attr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0152_arg_with_attr.rast rename to crates/parser/test_data/parser/inline/ok/arg_with_attr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0152_arg_with_attr.rs b/crates/parser/test_data/parser/inline/ok/arg_with_attr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0152_arg_with_attr.rs rename to crates/parser/test_data/parser/inline/ok/arg_with_attr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/parser/test_data/parser/inline/ok/array_attrs.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0150_array_attrs.rast rename to crates/parser/test_data/parser/inline/ok/array_attrs.rast diff --git a/crates/parser/test_data/parser/inline/ok/0150_array_attrs.rs b/crates/parser/test_data/parser/inline/ok/array_attrs.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0150_array_attrs.rs rename to crates/parser/test_data/parser/inline/ok/array_attrs.rs diff --git a/crates/parser/test_data/parser/inline/ok/0103_array_expr.rast b/crates/parser/test_data/parser/inline/ok/array_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0103_array_expr.rast rename to crates/parser/test_data/parser/inline/ok/array_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0103_array_expr.rs b/crates/parser/test_data/parser/inline/ok/array_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0103_array_expr.rs rename to crates/parser/test_data/parser/inline/ok/array_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0017_array_type.rast b/crates/parser/test_data/parser/inline/ok/array_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0017_array_type.rast rename to crates/parser/test_data/parser/inline/ok/array_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0017_array_type.rs b/crates/parser/test_data/parser/inline/ok/array_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0017_array_type.rs rename to crates/parser/test_data/parser/inline/ok/array_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0146_as_precedence.rast b/crates/parser/test_data/parser/inline/ok/as_precedence.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0146_as_precedence.rast rename to crates/parser/test_data/parser/inline/ok/as_precedence.rast diff --git a/crates/parser/test_data/parser/inline/ok/0146_as_precedence.rs b/crates/parser/test_data/parser/inline/ok/as_precedence.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0146_as_precedence.rs rename to crates/parser/test_data/parser/inline/ok/as_precedence.rs diff --git a/crates/parser/test_data/parser/inline/ok/0200_assoc_const_eq.rast b/crates/parser/test_data/parser/inline/ok/assoc_const_eq.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0200_assoc_const_eq.rast rename to crates/parser/test_data/parser/inline/ok/assoc_const_eq.rast diff --git a/crates/parser/test_data/parser/inline/ok/0200_assoc_const_eq.rs b/crates/parser/test_data/parser/inline/ok/assoc_const_eq.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0200_assoc_const_eq.rs rename to crates/parser/test_data/parser/inline/ok/assoc_const_eq.rs diff --git a/crates/parser/test_data/parser/inline/ok/0021_assoc_item_list.rast b/crates/parser/test_data/parser/inline/ok/assoc_item_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0021_assoc_item_list.rast rename to crates/parser/test_data/parser/inline/ok/assoc_item_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0021_assoc_item_list.rs b/crates/parser/test_data/parser/inline/ok/assoc_item_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0021_assoc_item_list.rs rename to crates/parser/test_data/parser/inline/ok/assoc_item_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0177_assoc_item_list_inner_attrs.rast b/crates/parser/test_data/parser/inline/ok/assoc_item_list_inner_attrs.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_assoc_item_list_inner_attrs.rast rename to crates/parser/test_data/parser/inline/ok/assoc_item_list_inner_attrs.rast diff --git a/crates/parser/test_data/parser/inline/ok/0177_assoc_item_list_inner_attrs.rs b/crates/parser/test_data/parser/inline/ok/assoc_item_list_inner_attrs.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_assoc_item_list_inner_attrs.rs rename to crates/parser/test_data/parser/inline/ok/assoc_item_list_inner_attrs.rs diff --git a/crates/parser/test_data/parser/inline/ok/0185_assoc_type_bound.rast b/crates/parser/test_data/parser/inline/ok/assoc_type_bound.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0185_assoc_type_bound.rast rename to crates/parser/test_data/parser/inline/ok/assoc_type_bound.rast diff --git a/crates/parser/test_data/parser/inline/ok/0185_assoc_type_bound.rs b/crates/parser/test_data/parser/inline/ok/assoc_type_bound.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0185_assoc_type_bound.rs rename to crates/parser/test_data/parser/inline/ok/assoc_type_bound.rs diff --git a/crates/parser/test_data/parser/inline/ok/0187_assoc_type_eq.rast b/crates/parser/test_data/parser/inline/ok/assoc_type_eq.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0187_assoc_type_eq.rast rename to crates/parser/test_data/parser/inline/ok/assoc_type_eq.rast diff --git a/crates/parser/test_data/parser/inline/ok/0187_assoc_type_eq.rs b/crates/parser/test_data/parser/inline/ok/assoc_type_eq.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0187_assoc_type_eq.rs rename to crates/parser/test_data/parser/inline/ok/assoc_type_eq.rs diff --git a/crates/parser/test_data/parser/inline/ok/0208_associated_return_type_bounds.rast b/crates/parser/test_data/parser/inline/ok/associated_return_type_bounds.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_associated_return_type_bounds.rast rename to crates/parser/test_data/parser/inline/ok/associated_return_type_bounds.rast diff --git a/crates/parser/test_data/parser/inline/ok/0208_associated_return_type_bounds.rs b/crates/parser/test_data/parser/inline/ok/associated_return_type_bounds.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_associated_return_type_bounds.rs rename to crates/parser/test_data/parser/inline/ok/associated_return_type_bounds.rs diff --git a/crates/parser/test_data/parser/inline/ok/0138_associated_type_bounds.rast b/crates/parser/test_data/parser/inline/ok/associated_type_bounds.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_associated_type_bounds.rast rename to crates/parser/test_data/parser/inline/ok/associated_type_bounds.rast diff --git a/crates/parser/test_data/parser/inline/ok/0138_associated_type_bounds.rs b/crates/parser/test_data/parser/inline/ok/associated_type_bounds.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_associated_type_bounds.rs rename to crates/parser/test_data/parser/inline/ok/associated_type_bounds.rs diff --git a/crates/parser/test_data/parser/inline/ok/0211_async_trait_bound.rast b/crates/parser/test_data/parser/inline/ok/async_trait_bound.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0211_async_trait_bound.rast rename to crates/parser/test_data/parser/inline/ok/async_trait_bound.rast diff --git a/crates/parser/test_data/parser/inline/ok/0211_async_trait_bound.rs b/crates/parser/test_data/parser/inline/ok/async_trait_bound.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0211_async_trait_bound.rs rename to crates/parser/test_data/parser/inline/ok/async_trait_bound.rs diff --git a/crates/parser/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast b/crates/parser/test_data/parser/inline/ok/attr_on_expr_stmt.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast rename to crates/parser/test_data/parser/inline/ok/attr_on_expr_stmt.rast diff --git a/crates/parser/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs b/crates/parser/test_data/parser/inline/ok/attr_on_expr_stmt.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rs rename to crates/parser/test_data/parser/inline/ok/attr_on_expr_stmt.rs diff --git a/crates/parser/test_data/parser/inline/ok/0137_await_expr.rast b/crates/parser/test_data/parser/inline/ok/await_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0137_await_expr.rast rename to crates/parser/test_data/parser/inline/ok/await_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0137_await_expr.rs b/crates/parser/test_data/parser/inline/ok/await_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0137_await_expr.rs rename to crates/parser/test_data/parser/inline/ok/await_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0208_bare_dyn_types_with_leading_lifetime.rast b/crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_leading_lifetime.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_bare_dyn_types_with_leading_lifetime.rast rename to crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_leading_lifetime.rast diff --git a/crates/parser/test_data/parser/inline/ok/0208_bare_dyn_types_with_leading_lifetime.rs b/crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_leading_lifetime.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_bare_dyn_types_with_leading_lifetime.rs rename to crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_leading_lifetime.rs diff --git a/crates/parser/test_data/parser/inline/ok/0209_bare_dyn_types_with_paren_as_generic_args.rast b/crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_paren_as_generic_args.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0209_bare_dyn_types_with_paren_as_generic_args.rast rename to crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_paren_as_generic_args.rast diff --git a/crates/parser/test_data/parser/inline/ok/0209_bare_dyn_types_with_paren_as_generic_args.rs b/crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_paren_as_generic_args.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0209_bare_dyn_types_with_paren_as_generic_args.rs rename to crates/parser/test_data/parser/inline/ok/bare_dyn_types_with_paren_as_generic_args.rs diff --git a/crates/parser/test_data/parser/inline/ok/0209_become_expr.rast b/crates/parser/test_data/parser/inline/ok/become_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0209_become_expr.rast rename to crates/parser/test_data/parser/inline/ok/become_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0209_become_expr.rs b/crates/parser/test_data/parser/inline/ok/become_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0209_become_expr.rs rename to crates/parser/test_data/parser/inline/ok/become_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0112_bind_pat.rast b/crates/parser/test_data/parser/inline/ok/bind_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0112_bind_pat.rast rename to crates/parser/test_data/parser/inline/ok/bind_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0112_bind_pat.rs b/crates/parser/test_data/parser/inline/ok/bind_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0112_bind_pat.rs rename to crates/parser/test_data/parser/inline/ok/bind_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0158_binop_resets_statementness.rast b/crates/parser/test_data/parser/inline/ok/binop_resets_statementness.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_binop_resets_statementness.rast rename to crates/parser/test_data/parser/inline/ok/binop_resets_statementness.rast diff --git a/crates/parser/test_data/parser/inline/ok/0158_binop_resets_statementness.rs b/crates/parser/test_data/parser/inline/ok/binop_resets_statementness.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_binop_resets_statementness.rs rename to crates/parser/test_data/parser/inline/ok/binop_resets_statementness.rs diff --git a/crates/parser/test_data/parser/inline/ok/0075_block.rast b/crates/parser/test_data/parser/inline/ok/block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0075_block.rast rename to crates/parser/test_data/parser/inline/ok/block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0075_block.rs b/crates/parser/test_data/parser/inline/ok/block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0075_block.rs rename to crates/parser/test_data/parser/inline/ok/block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0044_block_items.rast b/crates/parser/test_data/parser/inline/ok/block_items.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0044_block_items.rast rename to crates/parser/test_data/parser/inline/ok/block_items.rast diff --git a/crates/parser/test_data/parser/inline/ok/0044_block_items.rs b/crates/parser/test_data/parser/inline/ok/block_items.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0044_block_items.rs rename to crates/parser/test_data/parser/inline/ok/block_items.rs diff --git a/crates/parser/test_data/parser/inline/ok/0143_box_pat.rast b/crates/parser/test_data/parser/inline/ok/box_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0143_box_pat.rast rename to crates/parser/test_data/parser/inline/ok/box_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0143_box_pat.rs b/crates/parser/test_data/parser/inline/ok/box_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0143_box_pat.rs rename to crates/parser/test_data/parser/inline/ok/box_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0088_break_ambiguity.rast b/crates/parser/test_data/parser/inline/ok/break_ambiguity.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0088_break_ambiguity.rast rename to crates/parser/test_data/parser/inline/ok/break_ambiguity.rast diff --git a/crates/parser/test_data/parser/inline/ok/0088_break_ambiguity.rs b/crates/parser/test_data/parser/inline/ok/break_ambiguity.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0088_break_ambiguity.rs rename to crates/parser/test_data/parser/inline/ok/break_ambiguity.rs diff --git a/crates/parser/test_data/parser/inline/ok/0034_break_expr.rast b/crates/parser/test_data/parser/inline/ok/break_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0034_break_expr.rast rename to crates/parser/test_data/parser/inline/ok/break_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0034_break_expr.rs b/crates/parser/test_data/parser/inline/ok/break_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0034_break_expr.rs rename to crates/parser/test_data/parser/inline/ok/break_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0207_builtin_expr.rast b/crates/parser/test_data/parser/inline/ok/builtin_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0207_builtin_expr.rast rename to crates/parser/test_data/parser/inline/ok/builtin_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0207_builtin_expr.rs b/crates/parser/test_data/parser/inline/ok/builtin_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0207_builtin_expr.rs rename to crates/parser/test_data/parser/inline/ok/builtin_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0042_call_expr.rast b/crates/parser/test_data/parser/inline/ok/call_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0042_call_expr.rast rename to crates/parser/test_data/parser/inline/ok/call_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0042_call_expr.rs b/crates/parser/test_data/parser/inline/ok/call_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0042_call_expr.rs rename to crates/parser/test_data/parser/inline/ok/call_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0029_cast_expr.rast b/crates/parser/test_data/parser/inline/ok/cast_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0029_cast_expr.rast rename to crates/parser/test_data/parser/inline/ok/cast_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0029_cast_expr.rs b/crates/parser/test_data/parser/inline/ok/cast_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0029_cast_expr.rs rename to crates/parser/test_data/parser/inline/ok/cast_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0203_closure_body_underscore_assignment.rast b/crates/parser/test_data/parser/inline/ok/closure_body_underscore_assignment.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0203_closure_body_underscore_assignment.rast rename to crates/parser/test_data/parser/inline/ok/closure_body_underscore_assignment.rast diff --git a/crates/parser/test_data/parser/inline/ok/0203_closure_body_underscore_assignment.rs b/crates/parser/test_data/parser/inline/ok/closure_body_underscore_assignment.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0203_closure_body_underscore_assignment.rs rename to crates/parser/test_data/parser/inline/ok/closure_body_underscore_assignment.rs diff --git a/crates/parser/test_data/parser/inline/ok/0155_closure_params.rast b/crates/parser/test_data/parser/inline/ok/closure_params.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0155_closure_params.rast rename to crates/parser/test_data/parser/inline/ok/closure_params.rast diff --git a/crates/parser/test_data/parser/inline/ok/0155_closure_params.rs b/crates/parser/test_data/parser/inline/ok/closure_params.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0155_closure_params.rs rename to crates/parser/test_data/parser/inline/ok/closure_params.rs diff --git a/crates/parser/test_data/parser/inline/ok/0208_closure_range_method_call.rast b/crates/parser/test_data/parser/inline/ok/closure_range_method_call.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_closure_range_method_call.rast rename to crates/parser/test_data/parser/inline/ok/closure_range_method_call.rast diff --git a/crates/parser/test_data/parser/inline/ok/0208_closure_range_method_call.rs b/crates/parser/test_data/parser/inline/ok/closure_range_method_call.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_closure_range_method_call.rs rename to crates/parser/test_data/parser/inline/ok/closure_range_method_call.rs diff --git a/crates/parser/test_data/parser/inline/ok/0184_const_arg.rast b/crates/parser/test_data/parser/inline/ok/const_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0184_const_arg.rast rename to crates/parser/test_data/parser/inline/ok/const_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0184_const_arg.rs b/crates/parser/test_data/parser/inline/ok/const_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0184_const_arg.rs rename to crates/parser/test_data/parser/inline/ok/const_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0183_const_arg_block.rast b/crates/parser/test_data/parser/inline/ok/const_arg_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0183_const_arg_block.rast rename to crates/parser/test_data/parser/inline/ok/const_arg_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0183_const_arg_block.rs b/crates/parser/test_data/parser/inline/ok/const_arg_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0183_const_arg_block.rs rename to crates/parser/test_data/parser/inline/ok/const_arg_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0192_const_arg_bool_literal.rast b/crates/parser/test_data/parser/inline/ok/const_arg_bool_literal.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0192_const_arg_bool_literal.rast rename to crates/parser/test_data/parser/inline/ok/const_arg_bool_literal.rast diff --git a/crates/parser/test_data/parser/inline/ok/0192_const_arg_bool_literal.rs b/crates/parser/test_data/parser/inline/ok/const_arg_bool_literal.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0192_const_arg_bool_literal.rs rename to crates/parser/test_data/parser/inline/ok/const_arg_bool_literal.rs diff --git a/crates/parser/test_data/parser/inline/ok/0189_const_arg_literal.rast b/crates/parser/test_data/parser/inline/ok/const_arg_literal.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0189_const_arg_literal.rast rename to crates/parser/test_data/parser/inline/ok/const_arg_literal.rast diff --git a/crates/parser/test_data/parser/inline/ok/0189_const_arg_literal.rs b/crates/parser/test_data/parser/inline/ok/const_arg_literal.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0189_const_arg_literal.rs rename to crates/parser/test_data/parser/inline/ok/const_arg_literal.rs diff --git a/crates/parser/test_data/parser/inline/ok/0191_const_arg_negative_number.rast b/crates/parser/test_data/parser/inline/ok/const_arg_negative_number.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0191_const_arg_negative_number.rast rename to crates/parser/test_data/parser/inline/ok/const_arg_negative_number.rast diff --git a/crates/parser/test_data/parser/inline/ok/0191_const_arg_negative_number.rs b/crates/parser/test_data/parser/inline/ok/const_arg_negative_number.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0191_const_arg_negative_number.rs rename to crates/parser/test_data/parser/inline/ok/const_arg_negative_number.rs diff --git a/crates/parser/test_data/parser/inline/ok/0156_const_block_pat.rast b/crates/parser/test_data/parser/inline/ok/const_block_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_const_block_pat.rast rename to crates/parser/test_data/parser/inline/ok/const_block_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0156_const_block_pat.rs b/crates/parser/test_data/parser/inline/ok/const_block_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_const_block_pat.rs rename to crates/parser/test_data/parser/inline/ok/const_block_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0205_const_closure.rast b/crates/parser/test_data/parser/inline/ok/const_closure.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0205_const_closure.rast rename to crates/parser/test_data/parser/inline/ok/const_closure.rast diff --git a/crates/parser/test_data/parser/inline/ok/0205_const_closure.rs b/crates/parser/test_data/parser/inline/ok/const_closure.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0205_const_closure.rs rename to crates/parser/test_data/parser/inline/ok/const_closure.rs diff --git a/crates/parser/test_data/parser/inline/ok/0172_const_item.rast b/crates/parser/test_data/parser/inline/ok/const_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0172_const_item.rast rename to crates/parser/test_data/parser/inline/ok/const_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0172_const_item.rs b/crates/parser/test_data/parser/inline/ok/const_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0172_const_item.rs rename to crates/parser/test_data/parser/inline/ok/const_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0147_const_param.rast b/crates/parser/test_data/parser/inline/ok/const_param.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0147_const_param.rast rename to crates/parser/test_data/parser/inline/ok/const_param.rast diff --git a/crates/parser/test_data/parser/inline/ok/0147_const_param.rs b/crates/parser/test_data/parser/inline/ok/const_param.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0147_const_param.rs rename to crates/parser/test_data/parser/inline/ok/const_param.rs diff --git a/crates/parser/test_data/parser/inline/ok/0199_const_param_default_expression.rast b/crates/parser/test_data/parser/inline/ok/const_param_default_expression.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_const_param_default_expression.rast rename to crates/parser/test_data/parser/inline/ok/const_param_default_expression.rast diff --git a/crates/parser/test_data/parser/inline/ok/0199_const_param_default_expression.rs b/crates/parser/test_data/parser/inline/ok/const_param_default_expression.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_const_param_default_expression.rs rename to crates/parser/test_data/parser/inline/ok/const_param_default_expression.rs diff --git a/crates/parser/test_data/parser/inline/ok/0200_const_param_default_literal.rast b/crates/parser/test_data/parser/inline/ok/const_param_default_literal.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0200_const_param_default_literal.rast rename to crates/parser/test_data/parser/inline/ok/const_param_default_literal.rast diff --git a/crates/parser/test_data/parser/inline/ok/0200_const_param_default_literal.rs b/crates/parser/test_data/parser/inline/ok/const_param_default_literal.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0200_const_param_default_literal.rs rename to crates/parser/test_data/parser/inline/ok/const_param_default_literal.rs diff --git a/crates/parser/test_data/parser/inline/ok/0188_const_param_default_path.rast b/crates/parser/test_data/parser/inline/ok/const_param_default_path.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0188_const_param_default_path.rast rename to crates/parser/test_data/parser/inline/ok/const_param_default_path.rast diff --git a/crates/parser/test_data/parser/inline/ok/0188_const_param_default_path.rs b/crates/parser/test_data/parser/inline/ok/const_param_default_path.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0188_const_param_default_path.rs rename to crates/parser/test_data/parser/inline/ok/const_param_default_path.rs diff --git a/crates/parser/test_data/parser/inline/ok/0212_const_trait_bound.rast b/crates/parser/test_data/parser/inline/ok/const_trait_bound.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0212_const_trait_bound.rast rename to crates/parser/test_data/parser/inline/ok/const_trait_bound.rast diff --git a/crates/parser/test_data/parser/inline/ok/0212_const_trait_bound.rs b/crates/parser/test_data/parser/inline/ok/const_trait_bound.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0212_const_trait_bound.rs rename to crates/parser/test_data/parser/inline/ok/const_trait_bound.rs diff --git a/crates/parser/test_data/parser/inline/ok/0015_continue_expr.rast b/crates/parser/test_data/parser/inline/ok/continue_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0015_continue_expr.rast rename to crates/parser/test_data/parser/inline/ok/continue_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0015_continue_expr.rs b/crates/parser/test_data/parser/inline/ok/continue_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0015_continue_expr.rs rename to crates/parser/test_data/parser/inline/ok/continue_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0067_crate_path.rast b/crates/parser/test_data/parser/inline/ok/crate_path.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0067_crate_path.rast rename to crates/parser/test_data/parser/inline/ok/crate_path.rast diff --git a/crates/parser/test_data/parser/inline/ok/0067_crate_path.rs b/crates/parser/test_data/parser/inline/ok/crate_path.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0067_crate_path.rs rename to crates/parser/test_data/parser/inline/ok/crate_path.rs diff --git a/crates/parser/test_data/parser/inline/ok/0022_crate_visibility.rast b/crates/parser/test_data/parser/inline/ok/crate_visibility.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0022_crate_visibility.rast rename to crates/parser/test_data/parser/inline/ok/crate_visibility.rast diff --git a/crates/parser/test_data/parser/inline/ok/0022_crate_visibility.rs b/crates/parser/test_data/parser/inline/ok/crate_visibility.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0022_crate_visibility.rs rename to crates/parser/test_data/parser/inline/ok/crate_visibility.rs diff --git a/crates/parser/test_data/parser/inline/ok/0160_crate_visibility_in.rast b/crates/parser/test_data/parser/inline/ok/crate_visibility_in.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0160_crate_visibility_in.rast rename to crates/parser/test_data/parser/inline/ok/crate_visibility_in.rast diff --git a/crates/parser/test_data/parser/inline/ok/0160_crate_visibility_in.rs b/crates/parser/test_data/parser/inline/ok/crate_visibility_in.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0160_crate_visibility_in.rs rename to crates/parser/test_data/parser/inline/ok/crate_visibility_in.rs diff --git a/crates/parser/test_data/parser/inline/ok/0163_default_async_fn.rast b/crates/parser/test_data/parser/inline/ok/default_async_fn.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0163_default_async_fn.rast rename to crates/parser/test_data/parser/inline/ok/default_async_fn.rast diff --git a/crates/parser/test_data/parser/inline/ok/0163_default_async_fn.rs b/crates/parser/test_data/parser/inline/ok/default_async_fn.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0163_default_async_fn.rs rename to crates/parser/test_data/parser/inline/ok/default_async_fn.rs diff --git a/crates/parser/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast b/crates/parser/test_data/parser/inline/ok/default_async_unsafe_fn.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rast rename to crates/parser/test_data/parser/inline/ok/default_async_unsafe_fn.rast diff --git a/crates/parser/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs b/crates/parser/test_data/parser/inline/ok/default_async_unsafe_fn.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0162_default_async_unsafe_fn.rs rename to crates/parser/test_data/parser/inline/ok/default_async_unsafe_fn.rs diff --git a/crates/parser/test_data/parser/inline/ok/0164_default_item.rast b/crates/parser/test_data/parser/inline/ok/default_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0164_default_item.rast rename to crates/parser/test_data/parser/inline/ok/default_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0164_default_item.rs b/crates/parser/test_data/parser/inline/ok/default_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0164_default_item.rs rename to crates/parser/test_data/parser/inline/ok/default_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0163_default_unsafe_item.rast b/crates/parser/test_data/parser/inline/ok/default_unsafe_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0163_default_unsafe_item.rast rename to crates/parser/test_data/parser/inline/ok/default_unsafe_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0163_default_unsafe_item.rs b/crates/parser/test_data/parser/inline/ok/default_unsafe_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0163_default_unsafe_item.rs rename to crates/parser/test_data/parser/inline/ok/default_unsafe_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0197_destructuring_assignment_struct_rest_pattern.rast b/crates/parser/test_data/parser/inline/ok/destructuring_assignment_struct_rest_pattern.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0197_destructuring_assignment_struct_rest_pattern.rast rename to crates/parser/test_data/parser/inline/ok/destructuring_assignment_struct_rest_pattern.rast diff --git a/crates/parser/test_data/parser/inline/ok/0197_destructuring_assignment_struct_rest_pattern.rs b/crates/parser/test_data/parser/inline/ok/destructuring_assignment_struct_rest_pattern.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0197_destructuring_assignment_struct_rest_pattern.rs rename to crates/parser/test_data/parser/inline/ok/destructuring_assignment_struct_rest_pattern.rs diff --git a/crates/parser/test_data/parser/inline/ok/0198_destructuring_assignment_wildcard_pat.rast b/crates/parser/test_data/parser/inline/ok/destructuring_assignment_wildcard_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0198_destructuring_assignment_wildcard_pat.rast rename to crates/parser/test_data/parser/inline/ok/destructuring_assignment_wildcard_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0198_destructuring_assignment_wildcard_pat.rs b/crates/parser/test_data/parser/inline/ok/destructuring_assignment_wildcard_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0198_destructuring_assignment_wildcard_pat.rs rename to crates/parser/test_data/parser/inline/ok/destructuring_assignment_wildcard_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/parser/test_data/parser/inline/ok/dot_dot_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0144_dot_dot_pat.rast rename to crates/parser/test_data/parser/inline/ok/dot_dot_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0144_dot_dot_pat.rs b/crates/parser/test_data/parser/inline/ok/dot_dot_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0144_dot_dot_pat.rs rename to crates/parser/test_data/parser/inline/ok/dot_dot_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0065_dyn_trait_type.rast b/crates/parser/test_data/parser/inline/ok/dyn_trait_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0065_dyn_trait_type.rast rename to crates/parser/test_data/parser/inline/ok/dyn_trait_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0065_dyn_trait_type.rs b/crates/parser/test_data/parser/inline/ok/dyn_trait_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0065_dyn_trait_type.rs rename to crates/parser/test_data/parser/inline/ok/dyn_trait_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0199_effect_blocks.rast b/crates/parser/test_data/parser/inline/ok/effect_blocks.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_effect_blocks.rast rename to crates/parser/test_data/parser/inline/ok/effect_blocks.rast diff --git a/crates/parser/test_data/parser/inline/ok/0199_effect_blocks.rs b/crates/parser/test_data/parser/inline/ok/effect_blocks.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_effect_blocks.rs rename to crates/parser/test_data/parser/inline/ok/effect_blocks.rs diff --git a/crates/parser/test_data/parser/inline/ok/0207_exclusive_range_pat.rast b/crates/parser/test_data/parser/inline/ok/exclusive_range_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0207_exclusive_range_pat.rast rename to crates/parser/test_data/parser/inline/ok/exclusive_range_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0207_exclusive_range_pat.rs b/crates/parser/test_data/parser/inline/ok/exclusive_range_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0207_exclusive_range_pat.rs rename to crates/parser/test_data/parser/inline/ok/exclusive_range_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0085_expr_literals.rast b/crates/parser/test_data/parser/inline/ok/expr_literals.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0085_expr_literals.rast rename to crates/parser/test_data/parser/inline/ok/expr_literals.rast diff --git a/crates/parser/test_data/parser/inline/ok/0085_expr_literals.rs b/crates/parser/test_data/parser/inline/ok/expr_literals.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0085_expr_literals.rs rename to crates/parser/test_data/parser/inline/ok/expr_literals.rs diff --git a/crates/parser/test_data/parser/inline/ok/0138_expression_after_block.rast b/crates/parser/test_data/parser/inline/ok/expression_after_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_expression_after_block.rast rename to crates/parser/test_data/parser/inline/ok/expression_after_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0138_expression_after_block.rs b/crates/parser/test_data/parser/inline/ok/expression_after_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_expression_after_block.rs rename to crates/parser/test_data/parser/inline/ok/expression_after_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0010_extern_block.rast b/crates/parser/test_data/parser/inline/ok/extern_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0010_extern_block.rast rename to crates/parser/test_data/parser/inline/ok/extern_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0010_extern_block.rs b/crates/parser/test_data/parser/inline/ok/extern_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0010_extern_block.rs rename to crates/parser/test_data/parser/inline/ok/extern_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0060_extern_crate.rast b/crates/parser/test_data/parser/inline/ok/extern_crate.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0060_extern_crate.rast rename to crates/parser/test_data/parser/inline/ok/extern_crate.rast diff --git a/crates/parser/test_data/parser/inline/ok/0060_extern_crate.rs b/crates/parser/test_data/parser/inline/ok/extern_crate.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0060_extern_crate.rs rename to crates/parser/test_data/parser/inline/ok/extern_crate.rs diff --git a/crates/parser/test_data/parser/inline/ok/0168_extern_crate_rename.rast b/crates/parser/test_data/parser/inline/ok/extern_crate_rename.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0168_extern_crate_rename.rast rename to crates/parser/test_data/parser/inline/ok/extern_crate_rename.rast diff --git a/crates/parser/test_data/parser/inline/ok/0168_extern_crate_rename.rs b/crates/parser/test_data/parser/inline/ok/extern_crate_rename.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0168_extern_crate_rename.rs rename to crates/parser/test_data/parser/inline/ok/extern_crate_rename.rs diff --git a/crates/parser/test_data/parser/inline/ok/0168_extern_crate_self.rast b/crates/parser/test_data/parser/inline/ok/extern_crate_self.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0168_extern_crate_self.rast rename to crates/parser/test_data/parser/inline/ok/extern_crate_self.rast diff --git a/crates/parser/test_data/parser/inline/ok/0168_extern_crate_self.rs b/crates/parser/test_data/parser/inline/ok/extern_crate_self.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0168_extern_crate_self.rs rename to crates/parser/test_data/parser/inline/ok/extern_crate_self.rs diff --git a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rast b/crates/parser/test_data/parser/inline/ok/field_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0011_field_expr.rast rename to crates/parser/test_data/parser/inline/ok/field_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0011_field_expr.rs b/crates/parser/test_data/parser/inline/ok/field_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0011_field_expr.rs rename to crates/parser/test_data/parser/inline/ok/field_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0151_fn.rast b/crates/parser/test_data/parser/inline/ok/fn_.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0151_fn.rast rename to crates/parser/test_data/parser/inline/ok/fn_.rast diff --git a/crates/parser/test_data/parser/inline/ok/0151_fn.rs b/crates/parser/test_data/parser/inline/ok/fn_.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0151_fn.rs rename to crates/parser/test_data/parser/inline/ok/fn_.rs diff --git a/crates/parser/test_data/parser/inline/ok/0050_fn_decl.rast b/crates/parser/test_data/parser/inline/ok/fn_decl.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0050_fn_decl.rast rename to crates/parser/test_data/parser/inline/ok/fn_decl.rast diff --git a/crates/parser/test_data/parser/inline/ok/0050_fn_decl.rs b/crates/parser/test_data/parser/inline/ok/fn_decl.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0050_fn_decl.rs rename to crates/parser/test_data/parser/inline/ok/fn_decl.rs diff --git a/crates/parser/test_data/parser/inline/ok/0156_fn_def_param.rast b/crates/parser/test_data/parser/inline/ok/fn_def_param.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_fn_def_param.rast rename to crates/parser/test_data/parser/inline/ok/fn_def_param.rast diff --git a/crates/parser/test_data/parser/inline/ok/0156_fn_def_param.rs b/crates/parser/test_data/parser/inline/ok/fn_def_param.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_fn_def_param.rs rename to crates/parser/test_data/parser/inline/ok/fn_def_param.rs diff --git a/crates/parser/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast b/crates/parser/test_data/parser/inline/ok/fn_pointer_param_ident_path.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rast rename to crates/parser/test_data/parser/inline/ok/fn_pointer_param_ident_path.rast diff --git a/crates/parser/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs b/crates/parser/test_data/parser/inline/ok/fn_pointer_param_ident_path.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_fn_pointer_param_ident_path.rs rename to crates/parser/test_data/parser/inline/ok/fn_pointer_param_ident_path.rs diff --git a/crates/parser/test_data/parser/inline/ok/0032_fn_pointer_type.rast b/crates/parser/test_data/parser/inline/ok/fn_pointer_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0032_fn_pointer_type.rast rename to crates/parser/test_data/parser/inline/ok/fn_pointer_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0032_fn_pointer_type.rs b/crates/parser/test_data/parser/inline/ok/fn_pointer_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0032_fn_pointer_type.rs rename to crates/parser/test_data/parser/inline/ok/fn_pointer_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast b/crates/parser/test_data/parser/inline/ok/fn_pointer_type_with_ret.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rast rename to crates/parser/test_data/parser/inline/ok/fn_pointer_type_with_ret.rast diff --git a/crates/parser/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs b/crates/parser/test_data/parser/inline/ok/fn_pointer_type_with_ret.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0092_fn_pointer_type_with_ret.rs rename to crates/parser/test_data/parser/inline/ok/fn_pointer_type_with_ret.rs diff --git a/crates/parser/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast b/crates/parser/test_data/parser/inline/ok/fn_pointer_unnamed_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rast rename to crates/parser/test_data/parser/inline/ok/fn_pointer_unnamed_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs b/crates/parser/test_data/parser/inline/ok/fn_pointer_unnamed_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0157_fn_pointer_unnamed_arg.rs rename to crates/parser/test_data/parser/inline/ok/fn_pointer_unnamed_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0100_for_expr.rast b/crates/parser/test_data/parser/inline/ok/for_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0100_for_expr.rast rename to crates/parser/test_data/parser/inline/ok/for_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0100_for_expr.rs b/crates/parser/test_data/parser/inline/ok/for_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0100_for_expr.rs rename to crates/parser/test_data/parser/inline/ok/for_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0142_for_range_from.rast b/crates/parser/test_data/parser/inline/ok/for_range_from.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0142_for_range_from.rast rename to crates/parser/test_data/parser/inline/ok/for_range_from.rast diff --git a/crates/parser/test_data/parser/inline/ok/0142_for_range_from.rs b/crates/parser/test_data/parser/inline/ok/for_range_from.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0142_for_range_from.rs rename to crates/parser/test_data/parser/inline/ok/for_range_from.rs diff --git a/crates/parser/test_data/parser/inline/ok/0081_for_type.rast b/crates/parser/test_data/parser/inline/ok/for_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0081_for_type.rast rename to crates/parser/test_data/parser/inline/ok/for_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0081_for_type.rs b/crates/parser/test_data/parser/inline/ok/for_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0081_for_type.rs rename to crates/parser/test_data/parser/inline/ok/for_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0038_full_range_expr.rast b/crates/parser/test_data/parser/inline/ok/full_range_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0038_full_range_expr.rast rename to crates/parser/test_data/parser/inline/ok/full_range_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0038_full_range_expr.rs b/crates/parser/test_data/parser/inline/ok/full_range_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0038_full_range_expr.rs rename to crates/parser/test_data/parser/inline/ok/full_range_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0086_function_ret_type.rast b/crates/parser/test_data/parser/inline/ok/function_ret_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0086_function_ret_type.rast rename to crates/parser/test_data/parser/inline/ok/function_ret_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0086_function_ret_type.rs b/crates/parser/test_data/parser/inline/ok/function_ret_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0086_function_ret_type.rs rename to crates/parser/test_data/parser/inline/ok/function_ret_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0005_function_type_params.rast b/crates/parser/test_data/parser/inline/ok/function_type_params.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0005_function_type_params.rast rename to crates/parser/test_data/parser/inline/ok/function_type_params.rast diff --git a/crates/parser/test_data/parser/inline/ok/0005_function_type_params.rs b/crates/parser/test_data/parser/inline/ok/function_type_params.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0005_function_type_params.rs rename to crates/parser/test_data/parser/inline/ok/function_type_params.rs diff --git a/crates/parser/test_data/parser/inline/ok/0076_function_where_clause.rast b/crates/parser/test_data/parser/inline/ok/function_where_clause.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0076_function_where_clause.rast rename to crates/parser/test_data/parser/inline/ok/function_where_clause.rast diff --git a/crates/parser/test_data/parser/inline/ok/0076_function_where_clause.rs b/crates/parser/test_data/parser/inline/ok/function_where_clause.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0076_function_where_clause.rs rename to crates/parser/test_data/parser/inline/ok/function_where_clause.rs diff --git a/crates/parser/test_data/parser/inline/ok/0190_generic_arg.rast b/crates/parser/test_data/parser/inline/ok/generic_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0190_generic_arg.rast rename to crates/parser/test_data/parser/inline/ok/generic_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0190_generic_arg.rs b/crates/parser/test_data/parser/inline/ok/generic_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0190_generic_arg.rs rename to crates/parser/test_data/parser/inline/ok/generic_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0181_generic_param_attribute.rast b/crates/parser/test_data/parser/inline/ok/generic_param_attribute.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0181_generic_param_attribute.rast rename to crates/parser/test_data/parser/inline/ok/generic_param_attribute.rast diff --git a/crates/parser/test_data/parser/inline/ok/0181_generic_param_attribute.rs b/crates/parser/test_data/parser/inline/ok/generic_param_attribute.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0181_generic_param_attribute.rs rename to crates/parser/test_data/parser/inline/ok/generic_param_attribute.rs diff --git a/crates/parser/test_data/parser/inline/ok/0183_type_param.rast b/crates/parser/test_data/parser/inline/ok/generic_param_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0183_type_param.rast rename to crates/parser/test_data/parser/inline/ok/generic_param_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0183_type_param.rs b/crates/parser/test_data/parser/inline/ok/generic_param_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0183_type_param.rs rename to crates/parser/test_data/parser/inline/ok/generic_param_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0166_half_open_range_pat.rast b/crates/parser/test_data/parser/inline/ok/half_open_range_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0166_half_open_range_pat.rast rename to crates/parser/test_data/parser/inline/ok/half_open_range_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0166_half_open_range_pat.rs b/crates/parser/test_data/parser/inline/ok/half_open_range_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0166_half_open_range_pat.rs rename to crates/parser/test_data/parser/inline/ok/half_open_range_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0064_if_expr.rast b/crates/parser/test_data/parser/inline/ok/if_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0064_if_expr.rast rename to crates/parser/test_data/parser/inline/ok/if_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0064_if_expr.rs b/crates/parser/test_data/parser/inline/ok/if_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0064_if_expr.rs rename to crates/parser/test_data/parser/inline/ok/if_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0079_impl_item.rast b/crates/parser/test_data/parser/inline/ok/impl_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0079_impl_item.rast rename to crates/parser/test_data/parser/inline/ok/impl_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0079_impl_item.rs b/crates/parser/test_data/parser/inline/ok/impl_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0079_impl_item.rs rename to crates/parser/test_data/parser/inline/ok/impl_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0161_impl_item_const.rast b/crates/parser/test_data/parser/inline/ok/impl_item_const.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0161_impl_item_const.rast rename to crates/parser/test_data/parser/inline/ok/impl_item_const.rast diff --git a/crates/parser/test_data/parser/inline/ok/0161_impl_item_const.rs b/crates/parser/test_data/parser/inline/ok/impl_item_const.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0161_impl_item_const.rs rename to crates/parser/test_data/parser/inline/ok/impl_item_const.rs diff --git a/crates/parser/test_data/parser/inline/ok/0063_impl_item_neg.rast b/crates/parser/test_data/parser/inline/ok/impl_item_neg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0063_impl_item_neg.rast rename to crates/parser/test_data/parser/inline/ok/impl_item_neg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0063_impl_item_neg.rs b/crates/parser/test_data/parser/inline/ok/impl_item_neg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0063_impl_item_neg.rs rename to crates/parser/test_data/parser/inline/ok/impl_item_neg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0028_impl_trait_type.rast b/crates/parser/test_data/parser/inline/ok/impl_trait_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0028_impl_trait_type.rast rename to crates/parser/test_data/parser/inline/ok/impl_trait_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0028_impl_trait_type.rs b/crates/parser/test_data/parser/inline/ok/impl_trait_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0028_impl_trait_type.rs rename to crates/parser/test_data/parser/inline/ok/impl_trait_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0150_impl_type_params.rast b/crates/parser/test_data/parser/inline/ok/impl_type_params.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0150_impl_type_params.rast rename to crates/parser/test_data/parser/inline/ok/impl_type_params.rast diff --git a/crates/parser/test_data/parser/inline/ok/0150_impl_type_params.rs b/crates/parser/test_data/parser/inline/ok/impl_type_params.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0150_impl_type_params.rs rename to crates/parser/test_data/parser/inline/ok/impl_type_params.rs diff --git a/crates/parser/test_data/parser/inline/ok/0093_index_expr.rast b/crates/parser/test_data/parser/inline/ok/index_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0093_index_expr.rast rename to crates/parser/test_data/parser/inline/ok/index_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0093_index_expr.rs b/crates/parser/test_data/parser/inline/ok/index_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0093_index_expr.rs rename to crates/parser/test_data/parser/inline/ok/index_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0109_label.rast b/crates/parser/test_data/parser/inline/ok/label.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0109_label.rast rename to crates/parser/test_data/parser/inline/ok/label.rast diff --git a/crates/parser/test_data/parser/inline/ok/0109_label.rs b/crates/parser/test_data/parser/inline/ok/label.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0109_label.rs rename to crates/parser/test_data/parser/inline/ok/label.rs diff --git a/crates/parser/test_data/parser/inline/ok/0161_labeled_block.rast b/crates/parser/test_data/parser/inline/ok/labeled_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0161_labeled_block.rast rename to crates/parser/test_data/parser/inline/ok/labeled_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0161_labeled_block.rs b/crates/parser/test_data/parser/inline/ok/labeled_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0161_labeled_block.rs rename to crates/parser/test_data/parser/inline/ok/labeled_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0106_lambda_expr.rast b/crates/parser/test_data/parser/inline/ok/lambda_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0106_lambda_expr.rast rename to crates/parser/test_data/parser/inline/ok/lambda_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0106_lambda_expr.rs b/crates/parser/test_data/parser/inline/ok/lambda_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0106_lambda_expr.rs rename to crates/parser/test_data/parser/inline/ok/lambda_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0158_lambda_ret_block.rast b/crates/parser/test_data/parser/inline/ok/lambda_ret_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_lambda_ret_block.rast rename to crates/parser/test_data/parser/inline/ok/lambda_ret_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0158_lambda_ret_block.rs b/crates/parser/test_data/parser/inline/ok/lambda_ret_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_lambda_ret_block.rs rename to crates/parser/test_data/parser/inline/ok/lambda_ret_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0194_let_else.rast b/crates/parser/test_data/parser/inline/ok/let_else.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_let_else.rast rename to crates/parser/test_data/parser/inline/ok/let_else.rast diff --git a/crates/parser/test_data/parser/inline/ok/0194_let_else.rs b/crates/parser/test_data/parser/inline/ok/let_else.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_let_else.rs rename to crates/parser/test_data/parser/inline/ok/let_else.rs diff --git a/crates/parser/test_data/parser/inline/ok/0030_let_expr.rast b/crates/parser/test_data/parser/inline/ok/let_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0030_let_expr.rast rename to crates/parser/test_data/parser/inline/ok/let_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0030_let_expr.rs b/crates/parser/test_data/parser/inline/ok/let_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0030_let_expr.rs rename to crates/parser/test_data/parser/inline/ok/let_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0130_let_stmt.rast b/crates/parser/test_data/parser/inline/ok/let_stmt.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0130_let_stmt.rast rename to crates/parser/test_data/parser/inline/ok/let_stmt.rast diff --git a/crates/parser/test_data/parser/inline/ok/0130_let_stmt.rs b/crates/parser/test_data/parser/inline/ok/let_stmt.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0130_let_stmt.rs rename to crates/parser/test_data/parser/inline/ok/let_stmt.rs diff --git a/crates/parser/test_data/parser/inline/ok/0194_let_stmt_ascription.rast b/crates/parser/test_data/parser/inline/ok/let_stmt_ascription.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_let_stmt_ascription.rast rename to crates/parser/test_data/parser/inline/ok/let_stmt_ascription.rast diff --git a/crates/parser/test_data/parser/inline/ok/0194_let_stmt_ascription.rs b/crates/parser/test_data/parser/inline/ok/let_stmt_ascription.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_let_stmt_ascription.rs rename to crates/parser/test_data/parser/inline/ok/let_stmt_ascription.rs diff --git a/crates/parser/test_data/parser/inline/ok/0193_let_stmt_init.rast b/crates/parser/test_data/parser/inline/ok/let_stmt_init.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0193_let_stmt_init.rast rename to crates/parser/test_data/parser/inline/ok/let_stmt_init.rast diff --git a/crates/parser/test_data/parser/inline/ok/0193_let_stmt_init.rs b/crates/parser/test_data/parser/inline/ok/let_stmt_init.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0193_let_stmt_init.rs rename to crates/parser/test_data/parser/inline/ok/let_stmt_init.rs diff --git a/crates/parser/test_data/parser/inline/ok/0186_lifetime_arg.rast b/crates/parser/test_data/parser/inline/ok/lifetime_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0186_lifetime_arg.rast rename to crates/parser/test_data/parser/inline/ok/lifetime_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0186_lifetime_arg.rs b/crates/parser/test_data/parser/inline/ok/lifetime_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0186_lifetime_arg.rs rename to crates/parser/test_data/parser/inline/ok/lifetime_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0182_lifetime_param.rast b/crates/parser/test_data/parser/inline/ok/lifetime_param.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0182_lifetime_param.rast rename to crates/parser/test_data/parser/inline/ok/lifetime_param.rast diff --git a/crates/parser/test_data/parser/inline/ok/0182_lifetime_param.rs b/crates/parser/test_data/parser/inline/ok/lifetime_param.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0182_lifetime_param.rs rename to crates/parser/test_data/parser/inline/ok/lifetime_param.rs diff --git a/crates/parser/test_data/parser/inline/ok/0055_literal_pattern.rast b/crates/parser/test_data/parser/inline/ok/literal_pattern.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0055_literal_pattern.rast rename to crates/parser/test_data/parser/inline/ok/literal_pattern.rast diff --git a/crates/parser/test_data/parser/inline/ok/0055_literal_pattern.rs b/crates/parser/test_data/parser/inline/ok/literal_pattern.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0055_literal_pattern.rs rename to crates/parser/test_data/parser/inline/ok/literal_pattern.rs diff --git a/crates/parser/test_data/parser/inline/ok/0009_loop_expr.rast b/crates/parser/test_data/parser/inline/ok/loop_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0009_loop_expr.rast rename to crates/parser/test_data/parser/inline/ok/loop_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0009_loop_expr.rs b/crates/parser/test_data/parser/inline/ok/loop_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0009_loop_expr.rs rename to crates/parser/test_data/parser/inline/ok/loop_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0117_macro_call_type.rast b/crates/parser/test_data/parser/inline/ok/macro_call_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0117_macro_call_type.rast rename to crates/parser/test_data/parser/inline/ok/macro_call_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0117_macro_call_type.rs b/crates/parser/test_data/parser/inline/ok/macro_call_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0117_macro_call_type.rs rename to crates/parser/test_data/parser/inline/ok/macro_call_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0147_macro_def.rast b/crates/parser/test_data/parser/inline/ok/macro_def.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0147_macro_def.rast rename to crates/parser/test_data/parser/inline/ok/macro_def.rast diff --git a/crates/parser/test_data/parser/inline/ok/0147_macro_def.rs b/crates/parser/test_data/parser/inline/ok/macro_def.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0147_macro_def.rs rename to crates/parser/test_data/parser/inline/ok/macro_def.rs diff --git a/crates/parser/test_data/parser/inline/ok/0173_macro_def_curly.rast b/crates/parser/test_data/parser/inline/ok/macro_def_curly.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_macro_def_curly.rast rename to crates/parser/test_data/parser/inline/ok/macro_def_curly.rast diff --git a/crates/parser/test_data/parser/inline/ok/0173_macro_def_curly.rs b/crates/parser/test_data/parser/inline/ok/macro_def_curly.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_macro_def_curly.rs rename to crates/parser/test_data/parser/inline/ok/macro_def_curly.rs diff --git a/crates/parser/test_data/parser/inline/ok/0194_macro_inside_generic_arg.rast b/crates/parser/test_data/parser/inline/ok/macro_inside_generic_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_macro_inside_generic_arg.rast rename to crates/parser/test_data/parser/inline/ok/macro_inside_generic_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0194_macro_inside_generic_arg.rs b/crates/parser/test_data/parser/inline/ok/macro_inside_generic_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0194_macro_inside_generic_arg.rs rename to crates/parser/test_data/parser/inline/ok/macro_inside_generic_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0208_macro_rules_as_macro_name.rast b/crates/parser/test_data/parser/inline/ok/macro_rules_as_macro_name.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_macro_rules_as_macro_name.rast rename to crates/parser/test_data/parser/inline/ok/macro_rules_as_macro_name.rast diff --git a/crates/parser/test_data/parser/inline/ok/0208_macro_rules_as_macro_name.rs b/crates/parser/test_data/parser/inline/ok/macro_rules_as_macro_name.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0208_macro_rules_as_macro_name.rs rename to crates/parser/test_data/parser/inline/ok/macro_rules_as_macro_name.rs diff --git a/crates/parser/test_data/parser/inline/ok/0158_macro_rules_non_brace.rast b/crates/parser/test_data/parser/inline/ok/macro_rules_non_brace.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_macro_rules_non_brace.rast rename to crates/parser/test_data/parser/inline/ok/macro_rules_non_brace.rast diff --git a/crates/parser/test_data/parser/inline/ok/0158_macro_rules_non_brace.rs b/crates/parser/test_data/parser/inline/ok/macro_rules_non_brace.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0158_macro_rules_non_brace.rs rename to crates/parser/test_data/parser/inline/ok/macro_rules_non_brace.rs diff --git a/crates/parser/test_data/parser/inline/ok/0129_marco_pat.rast b/crates/parser/test_data/parser/inline/ok/marco_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0129_marco_pat.rast rename to crates/parser/test_data/parser/inline/ok/marco_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0129_marco_pat.rs b/crates/parser/test_data/parser/inline/ok/marco_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0129_marco_pat.rs rename to crates/parser/test_data/parser/inline/ok/marco_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0066_match_arm.rast b/crates/parser/test_data/parser/inline/ok/match_arm.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0066_match_arm.rast rename to crates/parser/test_data/parser/inline/ok/match_arm.rast diff --git a/crates/parser/test_data/parser/inline/ok/0066_match_arm.rs b/crates/parser/test_data/parser/inline/ok/match_arm.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0066_match_arm.rs rename to crates/parser/test_data/parser/inline/ok/match_arm.rs diff --git a/crates/parser/test_data/parser/inline/ok/0059_match_arms_commas.rast b/crates/parser/test_data/parser/inline/ok/match_arms_commas.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0059_match_arms_commas.rast rename to crates/parser/test_data/parser/inline/ok/match_arms_commas.rast diff --git a/crates/parser/test_data/parser/inline/ok/0059_match_arms_commas.rs b/crates/parser/test_data/parser/inline/ok/match_arms_commas.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0059_match_arms_commas.rs rename to crates/parser/test_data/parser/inline/ok/match_arms_commas.rs diff --git a/crates/parser/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/parser/test_data/parser/inline/ok/match_arms_inner_attribute.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast rename to crates/parser/test_data/parser/inline/ok/match_arms_inner_attribute.rast diff --git a/crates/parser/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs b/crates/parser/test_data/parser/inline/ok/match_arms_inner_attribute.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rs rename to crates/parser/test_data/parser/inline/ok/match_arms_inner_attribute.rs diff --git a/crates/parser/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast b/crates/parser/test_data/parser/inline/ok/match_arms_outer_attributes.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast rename to crates/parser/test_data/parser/inline/ok/match_arms_outer_attributes.rast diff --git a/crates/parser/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs b/crates/parser/test_data/parser/inline/ok/match_arms_outer_attributes.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rs rename to crates/parser/test_data/parser/inline/ok/match_arms_outer_attributes.rs diff --git a/crates/parser/test_data/parser/inline/ok/0071_match_expr.rast b/crates/parser/test_data/parser/inline/ok/match_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0071_match_expr.rast rename to crates/parser/test_data/parser/inline/ok/match_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0071_match_expr.rs b/crates/parser/test_data/parser/inline/ok/match_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0071_match_expr.rs rename to crates/parser/test_data/parser/inline/ok/match_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0118_match_guard.rast b/crates/parser/test_data/parser/inline/ok/match_guard.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0118_match_guard.rast rename to crates/parser/test_data/parser/inline/ok/match_guard.rast diff --git a/crates/parser/test_data/parser/inline/ok/0118_match_guard.rs b/crates/parser/test_data/parser/inline/ok/match_guard.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0118_match_guard.rs rename to crates/parser/test_data/parser/inline/ok/match_guard.rs diff --git a/crates/parser/test_data/parser/inline/ok/0213_metas.rast b/crates/parser/test_data/parser/inline/ok/metas.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0213_metas.rast rename to crates/parser/test_data/parser/inline/ok/metas.rast diff --git a/crates/parser/test_data/parser/inline/ok/0213_metas.rs b/crates/parser/test_data/parser/inline/ok/metas.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0213_metas.rs rename to crates/parser/test_data/parser/inline/ok/metas.rs diff --git a/crates/parser/test_data/parser/inline/ok/0107_method_call_expr.rast b/crates/parser/test_data/parser/inline/ok/method_call_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0107_method_call_expr.rast rename to crates/parser/test_data/parser/inline/ok/method_call_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0107_method_call_expr.rs b/crates/parser/test_data/parser/inline/ok/method_call_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0107_method_call_expr.rs rename to crates/parser/test_data/parser/inline/ok/method_call_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0062_mod_contents.rast b/crates/parser/test_data/parser/inline/ok/mod_contents.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0062_mod_contents.rast rename to crates/parser/test_data/parser/inline/ok/mod_contents.rast diff --git a/crates/parser/test_data/parser/inline/ok/0062_mod_contents.rs b/crates/parser/test_data/parser/inline/ok/mod_contents.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0062_mod_contents.rs rename to crates/parser/test_data/parser/inline/ok/mod_contents.rs diff --git a/crates/parser/test_data/parser/inline/ok/0169_mod_item.rast b/crates/parser/test_data/parser/inline/ok/mod_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0169_mod_item.rast rename to crates/parser/test_data/parser/inline/ok/mod_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0169_mod_item.rs b/crates/parser/test_data/parser/inline/ok/mod_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0169_mod_item.rs rename to crates/parser/test_data/parser/inline/ok/mod_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0170_mod_item_curly.rast b/crates/parser/test_data/parser/inline/ok/mod_item_curly.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0170_mod_item_curly.rast rename to crates/parser/test_data/parser/inline/ok/mod_item_curly.rast diff --git a/crates/parser/test_data/parser/inline/ok/0170_mod_item_curly.rs b/crates/parser/test_data/parser/inline/ok/mod_item_curly.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0170_mod_item_curly.rs rename to crates/parser/test_data/parser/inline/ok/mod_item_curly.rs diff --git a/crates/parser/test_data/parser/inline/ok/0014_never_type.rast b/crates/parser/test_data/parser/inline/ok/never_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0014_never_type.rast rename to crates/parser/test_data/parser/inline/ok/never_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0014_never_type.rs b/crates/parser/test_data/parser/inline/ok/never_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0014_never_type.rs rename to crates/parser/test_data/parser/inline/ok/never_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0154_no_dyn_trait_leading_for.rast b/crates/parser/test_data/parser/inline/ok/no_dyn_trait_leading_for.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_no_dyn_trait_leading_for.rast rename to crates/parser/test_data/parser/inline/ok/no_dyn_trait_leading_for.rast diff --git a/crates/parser/test_data/parser/inline/ok/0154_no_dyn_trait_leading_for.rs b/crates/parser/test_data/parser/inline/ok/no_dyn_trait_leading_for.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_no_dyn_trait_leading_for.rs rename to crates/parser/test_data/parser/inline/ok/no_dyn_trait_leading_for.rs diff --git a/crates/parser/test_data/parser/inline/ok/0096_no_semi_after_block.rast b/crates/parser/test_data/parser/inline/ok/no_semi_after_block.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0096_no_semi_after_block.rast rename to crates/parser/test_data/parser/inline/ok/no_semi_after_block.rast diff --git a/crates/parser/test_data/parser/inline/ok/0096_no_semi_after_block.rs b/crates/parser/test_data/parser/inline/ok/no_semi_after_block.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0096_no_semi_after_block.rs rename to crates/parser/test_data/parser/inline/ok/no_semi_after_block.rs diff --git a/crates/parser/test_data/parser/inline/ok/0113_nocontentexpr.rast b/crates/parser/test_data/parser/inline/ok/nocontentexpr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0113_nocontentexpr.rast rename to crates/parser/test_data/parser/inline/ok/nocontentexpr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0113_nocontentexpr.rs b/crates/parser/test_data/parser/inline/ok/nocontentexpr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0113_nocontentexpr.rs rename to crates/parser/test_data/parser/inline/ok/nocontentexpr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast b/crates/parser/test_data/parser/inline/ok/nocontentexpr_after_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rast rename to crates/parser/test_data/parser/inline/ok/nocontentexpr_after_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs b/crates/parser/test_data/parser/inline/ok/nocontentexpr_after_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0134_nocontentexpr_after_item.rs rename to crates/parser/test_data/parser/inline/ok/nocontentexpr_after_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0156_or_pattern.rast b/crates/parser/test_data/parser/inline/ok/or_pattern.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_or_pattern.rast rename to crates/parser/test_data/parser/inline/ok/or_pattern.rast diff --git a/crates/parser/test_data/parser/inline/ok/0156_or_pattern.rs b/crates/parser/test_data/parser/inline/ok/or_pattern.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0156_or_pattern.rs rename to crates/parser/test_data/parser/inline/ok/or_pattern.rs diff --git a/crates/parser/test_data/parser/inline/ok/0099_param_list.rast b/crates/parser/test_data/parser/inline/ok/param_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0099_param_list.rast rename to crates/parser/test_data/parser/inline/ok/param_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0099_param_list.rs b/crates/parser/test_data/parser/inline/ok/param_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0099_param_list.rs rename to crates/parser/test_data/parser/inline/ok/param_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast b/crates/parser/test_data/parser/inline/ok/param_list_opt_patterns.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0045_param_list_opt_patterns.rast rename to crates/parser/test_data/parser/inline/ok/param_list_opt_patterns.rast diff --git a/crates/parser/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs b/crates/parser/test_data/parser/inline/ok/param_list_opt_patterns.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0045_param_list_opt_patterns.rs rename to crates/parser/test_data/parser/inline/ok/param_list_opt_patterns.rs diff --git a/crates/parser/test_data/parser/inline/ok/0123_param_list_vararg.rast b/crates/parser/test_data/parser/inline/ok/param_list_vararg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0123_param_list_vararg.rast rename to crates/parser/test_data/parser/inline/ok/param_list_vararg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0123_param_list_vararg.rs b/crates/parser/test_data/parser/inline/ok/param_list_vararg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0123_param_list_vararg.rs rename to crates/parser/test_data/parser/inline/ok/param_list_vararg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0139_param_outer_arg.rast b/crates/parser/test_data/parser/inline/ok/param_outer_arg.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0139_param_outer_arg.rast rename to crates/parser/test_data/parser/inline/ok/param_outer_arg.rast diff --git a/crates/parser/test_data/parser/inline/ok/0139_param_outer_arg.rs b/crates/parser/test_data/parser/inline/ok/param_outer_arg.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0139_param_outer_arg.rs rename to crates/parser/test_data/parser/inline/ok/param_outer_arg.rs diff --git a/crates/parser/test_data/parser/inline/ok/0084_paren_type.rast b/crates/parser/test_data/parser/inline/ok/paren_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0084_paren_type.rast rename to crates/parser/test_data/parser/inline/ok/paren_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0084_paren_type.rs b/crates/parser/test_data/parser/inline/ok/paren_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0084_paren_type.rs rename to crates/parser/test_data/parser/inline/ok/paren_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0053_path_expr.rast b/crates/parser/test_data/parser/inline/ok/path_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0053_path_expr.rast rename to crates/parser/test_data/parser/inline/ok/path_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0053_path_expr.rs b/crates/parser/test_data/parser/inline/ok/path_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0053_path_expr.rs rename to crates/parser/test_data/parser/inline/ok/path_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0104_path_fn_trait_args.rast b/crates/parser/test_data/parser/inline/ok/path_fn_trait_args.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0104_path_fn_trait_args.rast rename to crates/parser/test_data/parser/inline/ok/path_fn_trait_args.rast diff --git a/crates/parser/test_data/parser/inline/ok/0104_path_fn_trait_args.rs b/crates/parser/test_data/parser/inline/ok/path_fn_trait_args.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0104_path_fn_trait_args.rs rename to crates/parser/test_data/parser/inline/ok/path_fn_trait_args.rs diff --git a/crates/parser/test_data/parser/inline/ok/0008_path_part.rast b/crates/parser/test_data/parser/inline/ok/path_part.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0008_path_part.rast rename to crates/parser/test_data/parser/inline/ok/path_part.rast diff --git a/crates/parser/test_data/parser/inline/ok/0008_path_part.rs b/crates/parser/test_data/parser/inline/ok/path_part.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0008_path_part.rs rename to crates/parser/test_data/parser/inline/ok/path_part.rs diff --git a/crates/parser/test_data/parser/inline/ok/0052_path_type.rast b/crates/parser/test_data/parser/inline/ok/path_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0052_path_type.rast rename to crates/parser/test_data/parser/inline/ok/path_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0052_path_type.rs b/crates/parser/test_data/parser/inline/ok/path_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0052_path_type.rs rename to crates/parser/test_data/parser/inline/ok/path_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0048_path_type_with_bounds.rast b/crates/parser/test_data/parser/inline/ok/path_type_with_bounds.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0048_path_type_with_bounds.rast rename to crates/parser/test_data/parser/inline/ok/path_type_with_bounds.rast diff --git a/crates/parser/test_data/parser/inline/ok/0048_path_type_with_bounds.rs b/crates/parser/test_data/parser/inline/ok/path_type_with_bounds.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0048_path_type_with_bounds.rs rename to crates/parser/test_data/parser/inline/ok/path_type_with_bounds.rs diff --git a/crates/parser/test_data/parser/inline/ok/0095_placeholder_pat.rast b/crates/parser/test_data/parser/inline/ok/placeholder_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0095_placeholder_pat.rast rename to crates/parser/test_data/parser/inline/ok/placeholder_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0095_placeholder_pat.rs b/crates/parser/test_data/parser/inline/ok/placeholder_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0095_placeholder_pat.rs rename to crates/parser/test_data/parser/inline/ok/placeholder_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0023_placeholder_type.rast b/crates/parser/test_data/parser/inline/ok/placeholder_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0023_placeholder_type.rast rename to crates/parser/test_data/parser/inline/ok/placeholder_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0023_placeholder_type.rs b/crates/parser/test_data/parser/inline/ok/placeholder_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0023_placeholder_type.rs rename to crates/parser/test_data/parser/inline/ok/placeholder_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0013_pointer_type_mut.rast b/crates/parser/test_data/parser/inline/ok/pointer_type_mut.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0013_pointer_type_mut.rast rename to crates/parser/test_data/parser/inline/ok/pointer_type_mut.rast diff --git a/crates/parser/test_data/parser/inline/ok/0013_pointer_type_mut.rs b/crates/parser/test_data/parser/inline/ok/pointer_type_mut.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0013_pointer_type_mut.rs rename to crates/parser/test_data/parser/inline/ok/pointer_type_mut.rs diff --git a/crates/parser/test_data/parser/inline/ok/0080_postfix_range.rast b/crates/parser/test_data/parser/inline/ok/postfix_range.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0080_postfix_range.rast rename to crates/parser/test_data/parser/inline/ok/postfix_range.rast diff --git a/crates/parser/test_data/parser/inline/ok/0080_postfix_range.rs b/crates/parser/test_data/parser/inline/ok/postfix_range.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0080_postfix_range.rs rename to crates/parser/test_data/parser/inline/ok/postfix_range.rs diff --git a/crates/parser/test_data/parser/inline/ok/0153_pub_parens_typepath.rast b/crates/parser/test_data/parser/inline/ok/pub_parens_typepath.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0153_pub_parens_typepath.rast rename to crates/parser/test_data/parser/inline/ok/pub_parens_typepath.rast diff --git a/crates/parser/test_data/parser/inline/ok/0153_pub_parens_typepath.rs b/crates/parser/test_data/parser/inline/ok/pub_parens_typepath.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0153_pub_parens_typepath.rs rename to crates/parser/test_data/parser/inline/ok/pub_parens_typepath.rs diff --git a/crates/parser/test_data/parser/inline/ok/0196_pub_tuple_field.rast b/crates/parser/test_data/parser/inline/ok/pub_tuple_field.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0196_pub_tuple_field.rast rename to crates/parser/test_data/parser/inline/ok/pub_tuple_field.rast diff --git a/crates/parser/test_data/parser/inline/ok/0196_pub_tuple_field.rs b/crates/parser/test_data/parser/inline/ok/pub_tuple_field.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0196_pub_tuple_field.rs rename to crates/parser/test_data/parser/inline/ok/pub_tuple_field.rs diff --git a/crates/parser/test_data/parser/inline/ok/0037_qual_paths.rast b/crates/parser/test_data/parser/inline/ok/qual_paths.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0037_qual_paths.rast rename to crates/parser/test_data/parser/inline/ok/qual_paths.rast diff --git a/crates/parser/test_data/parser/inline/ok/0037_qual_paths.rs b/crates/parser/test_data/parser/inline/ok/qual_paths.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0037_qual_paths.rs rename to crates/parser/test_data/parser/inline/ok/qual_paths.rs diff --git a/crates/parser/test_data/parser/inline/ok/0201_question_for_type_trait_bound.rast b/crates/parser/test_data/parser/inline/ok/question_for_type_trait_bound.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0201_question_for_type_trait_bound.rast rename to crates/parser/test_data/parser/inline/ok/question_for_type_trait_bound.rast diff --git a/crates/parser/test_data/parser/inline/ok/0201_question_for_type_trait_bound.rs b/crates/parser/test_data/parser/inline/ok/question_for_type_trait_bound.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0201_question_for_type_trait_bound.rs rename to crates/parser/test_data/parser/inline/ok/question_for_type_trait_bound.rs diff --git a/crates/parser/test_data/parser/inline/ok/0058_range_pat.rast b/crates/parser/test_data/parser/inline/ok/range_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0058_range_pat.rast rename to crates/parser/test_data/parser/inline/ok/range_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0058_range_pat.rs b/crates/parser/test_data/parser/inline/ok/range_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0058_range_pat.rs rename to crates/parser/test_data/parser/inline/ok/range_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0054_record_field_attrs.rast b/crates/parser/test_data/parser/inline/ok/record_field_attrs.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0054_record_field_attrs.rast rename to crates/parser/test_data/parser/inline/ok/record_field_attrs.rast diff --git a/crates/parser/test_data/parser/inline/ok/0054_record_field_attrs.rs b/crates/parser/test_data/parser/inline/ok/record_field_attrs.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0054_record_field_attrs.rs rename to crates/parser/test_data/parser/inline/ok/record_field_attrs.rs diff --git a/crates/parser/test_data/parser/inline/ok/0172_record_field_list.rast b/crates/parser/test_data/parser/inline/ok/record_field_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0172_record_field_list.rast rename to crates/parser/test_data/parser/inline/ok/record_field_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0172_record_field_list.rs b/crates/parser/test_data/parser/inline/ok/record_field_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0172_record_field_list.rs rename to crates/parser/test_data/parser/inline/ok/record_field_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0061_record_lit.rast b/crates/parser/test_data/parser/inline/ok/record_lit.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0061_record_lit.rast rename to crates/parser/test_data/parser/inline/ok/record_lit.rast diff --git a/crates/parser/test_data/parser/inline/ok/0061_record_lit.rs b/crates/parser/test_data/parser/inline/ok/record_lit.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0061_record_lit.rs rename to crates/parser/test_data/parser/inline/ok/record_lit.rs diff --git a/crates/parser/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast b/crates/parser/test_data/parser/inline/ok/record_literal_field_with_attr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast rename to crates/parser/test_data/parser/inline/ok/record_literal_field_with_attr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs b/crates/parser/test_data/parser/inline/ok/record_literal_field_with_attr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rs rename to crates/parser/test_data/parser/inline/ok/record_literal_field_with_attr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0145_record_pat_field.rast b/crates/parser/test_data/parser/inline/ok/record_pat_field.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0145_record_pat_field.rast rename to crates/parser/test_data/parser/inline/ok/record_pat_field.rast diff --git a/crates/parser/test_data/parser/inline/ok/0145_record_pat_field.rs b/crates/parser/test_data/parser/inline/ok/record_pat_field.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0145_record_pat_field.rs rename to crates/parser/test_data/parser/inline/ok/record_pat_field.rs diff --git a/crates/parser/test_data/parser/inline/ok/0102_record_pat_field_list.rast b/crates/parser/test_data/parser/inline/ok/record_pat_field_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0102_record_pat_field_list.rast rename to crates/parser/test_data/parser/inline/ok/record_pat_field_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0102_record_pat_field_list.rs b/crates/parser/test_data/parser/inline/ok/record_pat_field_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0102_record_pat_field_list.rs rename to crates/parser/test_data/parser/inline/ok/record_pat_field_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0082_ref_expr.rast b/crates/parser/test_data/parser/inline/ok/ref_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0082_ref_expr.rast rename to crates/parser/test_data/parser/inline/ok/ref_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0082_ref_expr.rs b/crates/parser/test_data/parser/inline/ok/ref_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0082_ref_expr.rs rename to crates/parser/test_data/parser/inline/ok/ref_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0027_ref_pat.rast b/crates/parser/test_data/parser/inline/ok/ref_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0027_ref_pat.rast rename to crates/parser/test_data/parser/inline/ok/ref_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0027_ref_pat.rs b/crates/parser/test_data/parser/inline/ok/ref_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0027_ref_pat.rs rename to crates/parser/test_data/parser/inline/ok/ref_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0033_reference_type;.rast b/crates/parser/test_data/parser/inline/ok/reference_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0033_reference_type;.rast rename to crates/parser/test_data/parser/inline/ok/reference_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0033_reference_type;.rs b/crates/parser/test_data/parser/inline/ok/reference_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0033_reference_type;.rs rename to crates/parser/test_data/parser/inline/ok/reference_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0072_return_expr.rast b/crates/parser/test_data/parser/inline/ok/return_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0072_return_expr.rast rename to crates/parser/test_data/parser/inline/ok/return_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0072_return_expr.rs b/crates/parser/test_data/parser/inline/ok/return_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0072_return_expr.rs rename to crates/parser/test_data/parser/inline/ok/return_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0006_self_param.rast b/crates/parser/test_data/parser/inline/ok/self_param.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0006_self_param.rast rename to crates/parser/test_data/parser/inline/ok/self_param.rast diff --git a/crates/parser/test_data/parser/inline/ok/0006_self_param.rs b/crates/parser/test_data/parser/inline/ok/self_param.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0006_self_param.rs rename to crates/parser/test_data/parser/inline/ok/self_param.rs diff --git a/crates/parser/test_data/parser/inline/ok/0138_self_param_outer_attr.rast b/crates/parser/test_data/parser/inline/ok/self_param_outer_attr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_self_param_outer_attr.rast rename to crates/parser/test_data/parser/inline/ok/self_param_outer_attr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0138_self_param_outer_attr.rs b/crates/parser/test_data/parser/inline/ok/self_param_outer_attr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0138_self_param_outer_attr.rs rename to crates/parser/test_data/parser/inline/ok/self_param_outer_attr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0046_singleton_tuple_type.rast b/crates/parser/test_data/parser/inline/ok/singleton_tuple_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0046_singleton_tuple_type.rast rename to crates/parser/test_data/parser/inline/ok/singleton_tuple_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0046_singleton_tuple_type.rs b/crates/parser/test_data/parser/inline/ok/singleton_tuple_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0046_singleton_tuple_type.rs rename to crates/parser/test_data/parser/inline/ok/singleton_tuple_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0024_slice_pat.rast b/crates/parser/test_data/parser/inline/ok/slice_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0024_slice_pat.rast rename to crates/parser/test_data/parser/inline/ok/slice_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0024_slice_pat.rs b/crates/parser/test_data/parser/inline/ok/slice_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0024_slice_pat.rs rename to crates/parser/test_data/parser/inline/ok/slice_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0025_slice_type.rast b/crates/parser/test_data/parser/inline/ok/slice_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0025_slice_type.rast rename to crates/parser/test_data/parser/inline/ok/slice_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0025_slice_type.rs b/crates/parser/test_data/parser/inline/ok/slice_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0025_slice_type.rs rename to crates/parser/test_data/parser/inline/ok/slice_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast b/crates/parser/test_data/parser/inline/ok/stmt_bin_expr_ambiguity.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rast rename to crates/parser/test_data/parser/inline/ok/stmt_bin_expr_ambiguity.rast diff --git a/crates/parser/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs b/crates/parser/test_data/parser/inline/ok/stmt_bin_expr_ambiguity.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0070_stmt_bin_expr_ambiguity.rs rename to crates/parser/test_data/parser/inline/ok/stmt_bin_expr_ambiguity.rs diff --git a/crates/parser/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast b/crates/parser/test_data/parser/inline/ok/stmt_postfix_expr_ambiguity.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rast rename to crates/parser/test_data/parser/inline/ok/stmt_postfix_expr_ambiguity.rast diff --git a/crates/parser/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs b/crates/parser/test_data/parser/inline/ok/stmt_postfix_expr_ambiguity.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0074_stmt_postfix_expr_ambiguity.rs rename to crates/parser/test_data/parser/inline/ok/stmt_postfix_expr_ambiguity.rs diff --git a/crates/parser/test_data/parser/inline/ok/0171_struct_item.rast b/crates/parser/test_data/parser/inline/ok/struct_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0171_struct_item.rast rename to crates/parser/test_data/parser/inline/ok/struct_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0171_struct_item.rs b/crates/parser/test_data/parser/inline/ok/struct_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0171_struct_item.rs rename to crates/parser/test_data/parser/inline/ok/struct_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0151_trait_alias.rast b/crates/parser/test_data/parser/inline/ok/trait_alias.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0151_trait_alias.rast rename to crates/parser/test_data/parser/inline/ok/trait_alias.rast diff --git a/crates/parser/test_data/parser/inline/ok/0151_trait_alias.rs b/crates/parser/test_data/parser/inline/ok/trait_alias.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0151_trait_alias.rs rename to crates/parser/test_data/parser/inline/ok/trait_alias.rs diff --git a/crates/parser/test_data/parser/inline/ok/0177_trait_alias_where_clause.rast b/crates/parser/test_data/parser/inline/ok/trait_alias_where_clause.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_trait_alias_where_clause.rast rename to crates/parser/test_data/parser/inline/ok/trait_alias_where_clause.rast diff --git a/crates/parser/test_data/parser/inline/ok/0177_trait_alias_where_clause.rs b/crates/parser/test_data/parser/inline/ok/trait_alias_where_clause.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_trait_alias_where_clause.rs rename to crates/parser/test_data/parser/inline/ok/trait_alias_where_clause.rs diff --git a/crates/parser/test_data/parser/inline/ok/0041_trait_item.rast b/crates/parser/test_data/parser/inline/ok/trait_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0041_trait_item.rast rename to crates/parser/test_data/parser/inline/ok/trait_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0041_trait_item.rs b/crates/parser/test_data/parser/inline/ok/trait_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0041_trait_item.rs rename to crates/parser/test_data/parser/inline/ok/trait_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0175_trait_item_bounds.rast b/crates/parser/test_data/parser/inline/ok/trait_item_bounds.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0175_trait_item_bounds.rast rename to crates/parser/test_data/parser/inline/ok/trait_item_bounds.rast diff --git a/crates/parser/test_data/parser/inline/ok/0175_trait_item_bounds.rs b/crates/parser/test_data/parser/inline/ok/trait_item_bounds.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0175_trait_item_bounds.rs rename to crates/parser/test_data/parser/inline/ok/trait_item_bounds.rs diff --git a/crates/parser/test_data/parser/inline/ok/0174_trait_item_generic_params.rast b/crates/parser/test_data/parser/inline/ok/trait_item_generic_params.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_trait_item_generic_params.rast rename to crates/parser/test_data/parser/inline/ok/trait_item_generic_params.rast diff --git a/crates/parser/test_data/parser/inline/ok/0174_trait_item_generic_params.rs b/crates/parser/test_data/parser/inline/ok/trait_item_generic_params.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_trait_item_generic_params.rs rename to crates/parser/test_data/parser/inline/ok/trait_item_generic_params.rs diff --git a/crates/parser/test_data/parser/inline/ok/0176_trait_item_where_clause.rast b/crates/parser/test_data/parser/inline/ok/trait_item_where_clause.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0176_trait_item_where_clause.rast rename to crates/parser/test_data/parser/inline/ok/trait_item_where_clause.rast diff --git a/crates/parser/test_data/parser/inline/ok/0176_trait_item_where_clause.rs b/crates/parser/test_data/parser/inline/ok/trait_item_where_clause.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0176_trait_item_where_clause.rs rename to crates/parser/test_data/parser/inline/ok/trait_item_where_clause.rs diff --git a/crates/parser/test_data/parser/inline/ok/0130_try_block_expr.rast b/crates/parser/test_data/parser/inline/ok/try_block_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0130_try_block_expr.rast rename to crates/parser/test_data/parser/inline/ok/try_block_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0130_try_block_expr.rs b/crates/parser/test_data/parser/inline/ok/try_block_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0130_try_block_expr.rs rename to crates/parser/test_data/parser/inline/ok/try_block_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0077_try_expr.rast b/crates/parser/test_data/parser/inline/ok/try_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0077_try_expr.rast rename to crates/parser/test_data/parser/inline/ok/try_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0077_try_expr.rs b/crates/parser/test_data/parser/inline/ok/try_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0077_try_expr.rs rename to crates/parser/test_data/parser/inline/ok/try_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0159_try_macro_fallback.rast b/crates/parser/test_data/parser/inline/ok/try_macro_fallback.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0159_try_macro_fallback.rast rename to crates/parser/test_data/parser/inline/ok/try_macro_fallback.rast diff --git a/crates/parser/test_data/parser/inline/ok/0159_try_macro_fallback.rs b/crates/parser/test_data/parser/inline/ok/try_macro_fallback.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0159_try_macro_fallback.rs rename to crates/parser/test_data/parser/inline/ok/try_macro_fallback.rs diff --git a/crates/parser/test_data/parser/inline/ok/0160_try_macro_rules.rast b/crates/parser/test_data/parser/inline/ok/try_macro_rules.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0160_try_macro_rules.rast rename to crates/parser/test_data/parser/inline/ok/try_macro_rules.rast diff --git a/crates/parser/test_data/parser/inline/ok/0160_try_macro_rules.rs b/crates/parser/test_data/parser/inline/ok/try_macro_rules.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0160_try_macro_rules.rs rename to crates/parser/test_data/parser/inline/ok/try_macro_rules.rs diff --git a/crates/parser/test_data/parser/inline/ok/0154_tuple_attrs.rast b/crates/parser/test_data/parser/inline/ok/tuple_attrs.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_tuple_attrs.rast rename to crates/parser/test_data/parser/inline/ok/tuple_attrs.rast diff --git a/crates/parser/test_data/parser/inline/ok/0154_tuple_attrs.rs b/crates/parser/test_data/parser/inline/ok/tuple_attrs.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0154_tuple_attrs.rs rename to crates/parser/test_data/parser/inline/ok/tuple_attrs.rs diff --git a/crates/parser/test_data/parser/inline/ok/0108_tuple_expr.rast b/crates/parser/test_data/parser/inline/ok/tuple_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0108_tuple_expr.rast rename to crates/parser/test_data/parser/inline/ok/tuple_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0108_tuple_expr.rs b/crates/parser/test_data/parser/inline/ok/tuple_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0108_tuple_expr.rs rename to crates/parser/test_data/parser/inline/ok/tuple_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0115_tuple_field_attrs.rast b/crates/parser/test_data/parser/inline/ok/tuple_field_attrs.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0115_tuple_field_attrs.rast rename to crates/parser/test_data/parser/inline/ok/tuple_field_attrs.rast diff --git a/crates/parser/test_data/parser/inline/ok/0115_tuple_field_attrs.rs b/crates/parser/test_data/parser/inline/ok/tuple_field_attrs.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0115_tuple_field_attrs.rs rename to crates/parser/test_data/parser/inline/ok/tuple_field_attrs.rs diff --git a/crates/parser/test_data/parser/inline/ok/0111_tuple_pat.rast b/crates/parser/test_data/parser/inline/ok/tuple_pat.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0111_tuple_pat.rast rename to crates/parser/test_data/parser/inline/ok/tuple_pat.rast diff --git a/crates/parser/test_data/parser/inline/ok/0111_tuple_pat.rs b/crates/parser/test_data/parser/inline/ok/tuple_pat.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0111_tuple_pat.rs rename to crates/parser/test_data/parser/inline/ok/tuple_pat.rs diff --git a/crates/parser/test_data/parser/inline/ok/0026_tuple_pat_fields.rast b/crates/parser/test_data/parser/inline/ok/tuple_pat_fields.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0026_tuple_pat_fields.rast rename to crates/parser/test_data/parser/inline/ok/tuple_pat_fields.rast diff --git a/crates/parser/test_data/parser/inline/ok/0026_tuple_pat_fields.rs b/crates/parser/test_data/parser/inline/ok/tuple_pat_fields.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0026_tuple_pat_fields.rs rename to crates/parser/test_data/parser/inline/ok/tuple_pat_fields.rs diff --git a/crates/parser/test_data/parser/inline/ok/0170_tuple_struct.rast b/crates/parser/test_data/parser/inline/ok/tuple_struct.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0170_tuple_struct.rast rename to crates/parser/test_data/parser/inline/ok/tuple_struct.rast diff --git a/crates/parser/test_data/parser/inline/ok/0170_tuple_struct.rs b/crates/parser/test_data/parser/inline/ok/tuple_struct.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0170_tuple_struct.rs rename to crates/parser/test_data/parser/inline/ok/tuple_struct.rs diff --git a/crates/parser/test_data/parser/inline/ok/0114_tuple_struct_where.rast b/crates/parser/test_data/parser/inline/ok/tuple_struct_where.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0114_tuple_struct_where.rast rename to crates/parser/test_data/parser/inline/ok/tuple_struct_where.rast diff --git a/crates/parser/test_data/parser/inline/ok/0114_tuple_struct_where.rs b/crates/parser/test_data/parser/inline/ok/tuple_struct_where.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0114_tuple_struct_where.rs rename to crates/parser/test_data/parser/inline/ok/tuple_struct_where.rs diff --git a/crates/parser/test_data/parser/inline/ok/0078_type_alias.rast b/crates/parser/test_data/parser/inline/ok/type_alias.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0078_type_alias.rast rename to crates/parser/test_data/parser/inline/ok/type_alias.rast diff --git a/crates/parser/test_data/parser/inline/ok/0078_type_alias.rs b/crates/parser/test_data/parser/inline/ok/type_alias.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0078_type_alias.rs rename to crates/parser/test_data/parser/inline/ok/type_alias.rs diff --git a/crates/parser/test_data/parser/inline/ok/0073_type_item_type_params.rast b/crates/parser/test_data/parser/inline/ok/type_item_type_params.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0073_type_item_type_params.rast rename to crates/parser/test_data/parser/inline/ok/type_item_type_params.rast diff --git a/crates/parser/test_data/parser/inline/ok/0073_type_item_type_params.rs b/crates/parser/test_data/parser/inline/ok/type_item_type_params.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0073_type_item_type_params.rs rename to crates/parser/test_data/parser/inline/ok/type_item_type_params.rs diff --git a/crates/parser/test_data/parser/inline/ok/0012_type_item_where_clause.rast b/crates/parser/test_data/parser/inline/ok/type_item_where_clause.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0012_type_item_where_clause.rast rename to crates/parser/test_data/parser/inline/ok/type_item_where_clause.rast diff --git a/crates/parser/test_data/parser/inline/ok/0012_type_item_where_clause.rs b/crates/parser/test_data/parser/inline/ok/type_item_where_clause.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0012_type_item_where_clause.rs rename to crates/parser/test_data/parser/inline/ok/type_item_where_clause.rs diff --git a/crates/parser/test_data/parser/inline/ok/0199_type_item_where_clause_deprecated.rast b/crates/parser/test_data/parser/inline/ok/type_item_where_clause_deprecated.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_type_item_where_clause_deprecated.rast rename to crates/parser/test_data/parser/inline/ok/type_item_where_clause_deprecated.rast diff --git a/crates/parser/test_data/parser/inline/ok/0199_type_item_where_clause_deprecated.rs b/crates/parser/test_data/parser/inline/ok/type_item_where_clause_deprecated.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0199_type_item_where_clause_deprecated.rs rename to crates/parser/test_data/parser/inline/ok/type_item_where_clause_deprecated.rs diff --git a/crates/parser/test_data/parser/inline/ok/0184_generic_param_list.rast b/crates/parser/test_data/parser/inline/ok/type_param.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0184_generic_param_list.rast rename to crates/parser/test_data/parser/inline/ok/type_param.rast diff --git a/crates/parser/test_data/parser/inline/ok/0184_generic_param_list.rs b/crates/parser/test_data/parser/inline/ok/type_param.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0184_generic_param_list.rs rename to crates/parser/test_data/parser/inline/ok/type_param.rs diff --git a/crates/parser/test_data/parser/inline/ok/0007_type_param_bounds.rast b/crates/parser/test_data/parser/inline/ok/type_param_bounds.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0007_type_param_bounds.rast rename to crates/parser/test_data/parser/inline/ok/type_param_bounds.rast diff --git a/crates/parser/test_data/parser/inline/ok/0007_type_param_bounds.rs b/crates/parser/test_data/parser/inline/ok/type_param_bounds.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0007_type_param_bounds.rs rename to crates/parser/test_data/parser/inline/ok/type_param_bounds.rs diff --git a/crates/parser/test_data/parser/inline/ok/0090_type_param_default.rast b/crates/parser/test_data/parser/inline/ok/type_param_default.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0090_type_param_default.rast rename to crates/parser/test_data/parser/inline/ok/type_param_default.rast diff --git a/crates/parser/test_data/parser/inline/ok/0090_type_param_default.rs b/crates/parser/test_data/parser/inline/ok/type_param_default.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0090_type_param_default.rs rename to crates/parser/test_data/parser/inline/ok/type_param_default.rs diff --git a/crates/parser/test_data/parser/inline/ok/0164_type_path_in_pattern.rast b/crates/parser/test_data/parser/inline/ok/type_path_in_pattern.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0164_type_path_in_pattern.rast rename to crates/parser/test_data/parser/inline/ok/type_path_in_pattern.rast diff --git a/crates/parser/test_data/parser/inline/ok/0164_type_path_in_pattern.rs b/crates/parser/test_data/parser/inline/ok/type_path_in_pattern.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0164_type_path_in_pattern.rs rename to crates/parser/test_data/parser/inline/ok/type_path_in_pattern.rs diff --git a/crates/parser/test_data/parser/inline/ok/0202_typepathfn_with_coloncolon.rast b/crates/parser/test_data/parser/inline/ok/typepathfn_with_coloncolon.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0202_typepathfn_with_coloncolon.rast rename to crates/parser/test_data/parser/inline/ok/typepathfn_with_coloncolon.rast diff --git a/crates/parser/test_data/parser/inline/ok/0202_typepathfn_with_coloncolon.rs b/crates/parser/test_data/parser/inline/ok/typepathfn_with_coloncolon.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0202_typepathfn_with_coloncolon.rs rename to crates/parser/test_data/parser/inline/ok/typepathfn_with_coloncolon.rs diff --git a/crates/parser/test_data/parser/inline/ok/0019_unary_expr.rast b/crates/parser/test_data/parser/inline/ok/unary_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0019_unary_expr.rast rename to crates/parser/test_data/parser/inline/ok/unary_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0019_unary_expr.rs b/crates/parser/test_data/parser/inline/ok/unary_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0019_unary_expr.rs rename to crates/parser/test_data/parser/inline/ok/unary_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0173_union_item.rast b/crates/parser/test_data/parser/inline/ok/union_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_union_item.rast rename to crates/parser/test_data/parser/inline/ok/union_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0173_union_item.rs b/crates/parser/test_data/parser/inline/ok/union_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0173_union_item.rs rename to crates/parser/test_data/parser/inline/ok/union_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0174_unit_struct.rast b/crates/parser/test_data/parser/inline/ok/unit_struct.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_unit_struct.rast rename to crates/parser/test_data/parser/inline/ok/unit_struct.rast diff --git a/crates/parser/test_data/parser/inline/ok/0174_unit_struct.rs b/crates/parser/test_data/parser/inline/ok/unit_struct.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_unit_struct.rs rename to crates/parser/test_data/parser/inline/ok/unit_struct.rs diff --git a/crates/parser/test_data/parser/inline/ok/0051_unit_type.rast b/crates/parser/test_data/parser/inline/ok/unit_type.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0051_unit_type.rast rename to crates/parser/test_data/parser/inline/ok/unit_type.rast diff --git a/crates/parser/test_data/parser/inline/ok/0051_unit_type.rs b/crates/parser/test_data/parser/inline/ok/unit_type.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0051_unit_type.rs rename to crates/parser/test_data/parser/inline/ok/unit_type.rs diff --git a/crates/parser/test_data/parser/inline/ok/0181_use_item.rast b/crates/parser/test_data/parser/inline/ok/use_item.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0181_use_item.rast rename to crates/parser/test_data/parser/inline/ok/use_item.rast diff --git a/crates/parser/test_data/parser/inline/ok/0181_use_item.rs b/crates/parser/test_data/parser/inline/ok/use_item.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0181_use_item.rs rename to crates/parser/test_data/parser/inline/ok/use_item.rs diff --git a/crates/parser/test_data/parser/inline/ok/0177_use_tree.rast b/crates/parser/test_data/parser/inline/ok/use_tree.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_use_tree.rast rename to crates/parser/test_data/parser/inline/ok/use_tree.rast diff --git a/crates/parser/test_data/parser/inline/ok/0177_use_tree.rs b/crates/parser/test_data/parser/inline/ok/use_tree.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_use_tree.rs rename to crates/parser/test_data/parser/inline/ok/use_tree.rs diff --git a/crates/parser/test_data/parser/inline/ok/0179_use_tree_abs_star.rast b/crates/parser/test_data/parser/inline/ok/use_tree_abs_star.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0179_use_tree_abs_star.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_abs_star.rast diff --git a/crates/parser/test_data/parser/inline/ok/0179_use_tree_abs_star.rs b/crates/parser/test_data/parser/inline/ok/use_tree_abs_star.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0179_use_tree_abs_star.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_abs_star.rs diff --git a/crates/parser/test_data/parser/inline/ok/0176_use_tree_alias.rast b/crates/parser/test_data/parser/inline/ok/use_tree_alias.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0176_use_tree_alias.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_alias.rast diff --git a/crates/parser/test_data/parser/inline/ok/0176_use_tree_alias.rs b/crates/parser/test_data/parser/inline/ok/use_tree_alias.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0176_use_tree_alias.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_alias.rs diff --git a/crates/parser/test_data/parser/inline/ok/0002_use_tree_list.rast b/crates/parser/test_data/parser/inline/ok/use_tree_list.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0002_use_tree_list.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_list.rast diff --git a/crates/parser/test_data/parser/inline/ok/0002_use_tree_list.rs b/crates/parser/test_data/parser/inline/ok/use_tree_list.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0002_use_tree_list.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_list.rs diff --git a/crates/parser/test_data/parser/inline/ok/0177_use_tree_path.rast b/crates/parser/test_data/parser/inline/ok/use_tree_path.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_use_tree_path.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_path.rast diff --git a/crates/parser/test_data/parser/inline/ok/0177_use_tree_path.rs b/crates/parser/test_data/parser/inline/ok/use_tree_path.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0177_use_tree_path.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_path.rs diff --git a/crates/parser/test_data/parser/inline/ok/0180_use_tree_path_star.rast b/crates/parser/test_data/parser/inline/ok/use_tree_path_star.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0180_use_tree_path_star.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_path_star.rast diff --git a/crates/parser/test_data/parser/inline/ok/0180_use_tree_path_star.rs b/crates/parser/test_data/parser/inline/ok/use_tree_path_star.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0180_use_tree_path_star.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_path_star.rs diff --git a/crates/parser/test_data/parser/inline/ok/0178_use_tree_path_use_tree.rast b/crates/parser/test_data/parser/inline/ok/use_tree_path_use_tree.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0178_use_tree_path_use_tree.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_path_use_tree.rast diff --git a/crates/parser/test_data/parser/inline/ok/0178_use_tree_path_use_tree.rs b/crates/parser/test_data/parser/inline/ok/use_tree_path_use_tree.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0178_use_tree_path_use_tree.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_path_use_tree.rs diff --git a/crates/parser/test_data/parser/inline/ok/0174_use_tree_star.rast b/crates/parser/test_data/parser/inline/ok/use_tree_star.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_use_tree_star.rast rename to crates/parser/test_data/parser/inline/ok/use_tree_star.rast diff --git a/crates/parser/test_data/parser/inline/ok/0174_use_tree_star.rs b/crates/parser/test_data/parser/inline/ok/use_tree_star.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0174_use_tree_star.rs rename to crates/parser/test_data/parser/inline/ok/use_tree_star.rs diff --git a/crates/parser/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast b/crates/parser/test_data/parser/inline/ok/value_parameters_no_patterns.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rast rename to crates/parser/test_data/parser/inline/ok/value_parameters_no_patterns.rast diff --git a/crates/parser/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs b/crates/parser/test_data/parser/inline/ok/value_parameters_no_patterns.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0004_value_parameters_no_patterns.rs rename to crates/parser/test_data/parser/inline/ok/value_parameters_no_patterns.rs diff --git a/crates/parser/test_data/parser/inline/ok/0157_variant_discriminant.rast b/crates/parser/test_data/parser/inline/ok/variant_discriminant.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0157_variant_discriminant.rast rename to crates/parser/test_data/parser/inline/ok/variant_discriminant.rast diff --git a/crates/parser/test_data/parser/inline/ok/0157_variant_discriminant.rs b/crates/parser/test_data/parser/inline/ok/variant_discriminant.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0157_variant_discriminant.rs rename to crates/parser/test_data/parser/inline/ok/variant_discriminant.rs diff --git a/crates/parser/test_data/parser/inline/ok/0056_where_clause.rast b/crates/parser/test_data/parser/inline/ok/where_clause.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0056_where_clause.rast rename to crates/parser/test_data/parser/inline/ok/where_clause.rast diff --git a/crates/parser/test_data/parser/inline/ok/0056_where_clause.rs b/crates/parser/test_data/parser/inline/ok/where_clause.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0056_where_clause.rs rename to crates/parser/test_data/parser/inline/ok/where_clause.rs diff --git a/crates/parser/test_data/parser/inline/ok/0003_where_pred_for.rast b/crates/parser/test_data/parser/inline/ok/where_pred_for.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0003_where_pred_for.rast rename to crates/parser/test_data/parser/inline/ok/where_pred_for.rast diff --git a/crates/parser/test_data/parser/inline/ok/0003_where_pred_for.rs b/crates/parser/test_data/parser/inline/ok/where_pred_for.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0003_where_pred_for.rs rename to crates/parser/test_data/parser/inline/ok/where_pred_for.rs diff --git a/crates/parser/test_data/parser/inline/ok/0031_while_expr.rast b/crates/parser/test_data/parser/inline/ok/while_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0031_while_expr.rast rename to crates/parser/test_data/parser/inline/ok/while_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0031_while_expr.rs b/crates/parser/test_data/parser/inline/ok/while_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0031_while_expr.rs rename to crates/parser/test_data/parser/inline/ok/while_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0204_yeet_expr.rast b/crates/parser/test_data/parser/inline/ok/yeet_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0204_yeet_expr.rast rename to crates/parser/test_data/parser/inline/ok/yeet_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0204_yeet_expr.rs b/crates/parser/test_data/parser/inline/ok/yeet_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0204_yeet_expr.rs rename to crates/parser/test_data/parser/inline/ok/yeet_expr.rs diff --git a/crates/parser/test_data/parser/inline/ok/0159_yield_expr.rast b/crates/parser/test_data/parser/inline/ok/yield_expr.rast similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0159_yield_expr.rast rename to crates/parser/test_data/parser/inline/ok/yield_expr.rast diff --git a/crates/parser/test_data/parser/inline/ok/0159_yield_expr.rs b/crates/parser/test_data/parser/inline/ok/yield_expr.rs similarity index 100% rename from crates/parser/test_data/parser/inline/ok/0159_yield_expr.rs rename to crates/parser/test_data/parser/inline/ok/yield_expr.rs diff --git a/xtask/src/codegen.rs b/xtask/src/codegen.rs index 2491952f52..aeb0c00ae6 100644 --- a/xtask/src/codegen.rs +++ b/xtask/src/codegen.rs @@ -162,12 +162,12 @@ fn add_preamble(cg: CodegenType, mut text: String) -> String { /// Checks that the `file` has the specified `contents`. If that is not the /// case, updates the file and then fails the test. #[allow(clippy::print_stderr)] -fn ensure_file_contents(cg: CodegenType, file: &Path, contents: &str, check: bool) { +fn ensure_file_contents(cg: CodegenType, file: &Path, contents: &str, check: bool) -> bool { let contents = normalize_newlines(contents); if let Ok(old_contents) = fs::read_to_string(file) { if normalize_newlines(&old_contents) == contents { // File is already up to date. - return; + return false; } } @@ -194,6 +194,7 @@ fn ensure_file_contents(cg: CodegenType, file: &Path, contents: &str, check: boo let _ = fs::create_dir_all(parent); } fs::write(file, contents).unwrap(); + true } } diff --git a/xtask/src/codegen/parser_inline_tests.rs b/xtask/src/codegen/parser_inline_tests.rs index 5983b06e1b..3a9073b4e4 100644 --- a/xtask/src/codegen/parser_inline_tests.rs +++ b/xtask/src/codegen/parser_inline_tests.rs @@ -6,68 +6,132 @@ use std::{ collections::HashMap, fs, iter, path::{Path, PathBuf}, + time::SystemTime, }; +use anyhow::Result; +use itertools::Itertools as _; + use crate::{ - codegen::{ensure_file_contents, CommentBlock}, + codegen::{ensure_file_contents, reformat, CommentBlock}, project_root, util::list_rust_files, }; +const PARSER_CRATE_ROOT: &str = "crates/parser"; +const PARSER_TEST_DATA: &str = "crates/parser/test_data"; +const PARSER_TEST_DATA_INLINE: &str = "crates/parser/test_data/parser/inline"; + pub(crate) fn generate(check: bool) { - let grammar_dir = project_root().join(Path::new("crates/parser/src/grammar")); - let tests = tests_from_dir(&grammar_dir); + let tests = tests_from_dir( + &project_root().join(Path::new(&format!("{PARSER_CRATE_ROOT}/src/grammar"))), + ); - install_tests(&tests.ok, "crates/parser/test_data/parser/inline/ok", check); - install_tests(&tests.err, "crates/parser/test_data/parser/inline/err", check); + let mut some_file_was_updated = false; + some_file_was_updated |= + install_tests(&tests.ok, &format!("{PARSER_TEST_DATA_INLINE}/ok"), check).unwrap(); + some_file_was_updated |= + install_tests(&tests.err, &format!("{PARSER_TEST_DATA_INLINE}/err"), check).unwrap(); - fn install_tests(tests: &HashMap, into: &str, check: bool) { - let tests_dir = project_root().join(into); - if !tests_dir.is_dir() { - fs::create_dir_all(&tests_dir).unwrap(); - } - // ok is never actually read, but it needs to be specified to create a Test in existing_tests - let existing = existing_tests(&tests_dir, true); - if let Some(t) = existing.keys().find(|&t| !tests.contains_key(t)) { - panic!("Test is deleted: {t}"); - } + if some_file_was_updated { + let _ = fs::File::open(&format!("{PARSER_CRATE_ROOT}/src/tests.rs")) + .unwrap() + .set_modified(SystemTime::now()); - let mut new_idx = existing.len() + 1; - for (name, test) in tests { - let path = match existing.get(name) { - Some((path, _test)) => path.clone(), - None => { - let file_name = format!("{new_idx:04}_{name}.rs"); - new_idx += 1; - tests_dir.join(file_name) + let ok_tests = tests.ok.keys().sorted().map(|k| { + let test_name = quote::format_ident!("{}", k); + let test_file = format!("test_data/parser/inline/ok/{test_name}.rs"); + quote::quote! { + #[test] + fn #test_name() { + run_and_expect_no_errors(#test_file); } - }; - ensure_file_contents(crate::flags::CodegenType::ParserTests, &path, &test.text, check); + } + }); + let err_tests = tests.err.keys().sorted().map(|k| { + let test_name = quote::format_ident!("{}", k); + let test_file = format!("test_data/parser/inline/err/{test_name}.rs"); + quote::quote! { + #[test] + fn #test_name() { + run_and_expect_errors(#test_file); + } + } + }); + + let output = quote::quote! { + mod ok { + use crate::tests::run_and_expect_no_errors; + #(#ok_tests)* + } + mod err { + use crate::tests::run_and_expect_errors; + #(#err_tests)* + } + }; + + let pretty = reformat(output.to_string()); + ensure_file_contents( + crate::flags::CodegenType::ParserTests, + format!("{PARSER_TEST_DATA}/generated/runner.rs").as_ref(), + &pretty, + check, + ); + } +} + +fn install_tests(tests: &HashMap, into: &str, check: bool) -> Result { + let tests_dir = project_root().join(into); + if !tests_dir.is_dir() { + fs::create_dir_all(&tests_dir)?; + } + let existing = existing_tests(&tests_dir, TestKind::Ok)?; + if let Some((t, (path, _))) = existing.iter().find(|&(t, _)| !tests.contains_key(t)) { + panic!("Test `{t}` is deleted: {}", path.display()); + } + + let mut some_file_was_updated = false; + + for (name, test) in tests { + let path = match existing.get(name) { + Some((path, _test)) => path.clone(), + None => tests_dir.join(name).with_extension("rs"), + }; + if ensure_file_contents(crate::flags::CodegenType::ParserTests, &path, &test.text, check) { + some_file_was_updated = true; } } + + Ok(some_file_was_updated) } #[derive(Debug)] struct Test { - name: String, - text: String, - ok: bool, + pub name: String, + pub text: String, + pub kind: TestKind, +} + +#[derive(Copy, Clone, Debug)] +enum TestKind { + Ok, + Err, } #[derive(Default, Debug)] struct Tests { - ok: HashMap, - err: HashMap, + pub ok: HashMap, + pub err: HashMap, } fn collect_tests(s: &str) -> Vec { let mut res = Vec::new(); for comment_block in CommentBlock::extract_untagged(s) { let first_line = &comment_block.contents[0]; - let (name, ok) = if let Some(name) = first_line.strip_prefix("test ") { - (name.to_owned(), true) + let (name, kind) = if let Some(name) = first_line.strip_prefix("test ") { + (name.to_owned(), TestKind::Ok) } else if let Some(name) = first_line.strip_prefix("test_err ") { - (name.to_owned(), false) + (name.to_owned(), TestKind::Err) } else { continue; }; @@ -78,7 +142,7 @@ fn collect_tests(s: &str) -> Vec { .collect::>() .join("\n"); assert!(!text.trim().is_empty() && text.ends_with('\n')); - res.push(Test { name, text, ok }) + res.push(Test { name, text, kind }) } res } @@ -96,7 +160,7 @@ fn tests_from_dir(dir: &Path) -> Tests { let text = fs::read_to_string(path).unwrap(); for test in collect_tests(&text) { - if test.ok { + if let TestKind::Ok = test.kind { if let Some(old_test) = res.ok.insert(test.name.clone(), test) { panic!("Duplicate test: {}", old_test.name); } @@ -107,25 +171,22 @@ fn tests_from_dir(dir: &Path) -> Tests { } } -fn existing_tests(dir: &Path, ok: bool) -> HashMap { - let mut res = HashMap::default(); - for file in fs::read_dir(dir).unwrap() { - let file = file.unwrap(); - let path = file.path(); - if path.extension().unwrap_or_default() != "rs" { - continue; - } - let name = { - let file_name = path.file_name().unwrap().to_str().unwrap(); - file_name[5..file_name.len() - 3].to_string() - }; - let text = fs::read_to_string(&path).unwrap(); - let test = Test { name: name.clone(), text, ok }; - if let Some(old) = res.insert(name, (path, test)) { - println!("Duplicate test: {old:?}"); +fn existing_tests(dir: &Path, ok: TestKind) -> Result> { + let mut res = HashMap::new(); + for file in fs::read_dir(dir)? { + let path = file?.path(); + let rust_file = path.extension().and_then(|ext| ext.to_str()) == Some("rs"); + + if rust_file { + let name = path.file_stem().map(|x| x.to_string_lossy().to_string()).unwrap(); + let text = fs::read_to_string(&path)?; + let test = Test { name: name.clone(), text, kind: ok }; + if let Some(old) = res.insert(name, (path, test)) { + println!("Duplicate test: {:?}", old); + } } } - res + Ok(res) } #[test]