rust/tests
Matthias Krüger 1fd0c71818
Rollup merge of #120221 - compiler-errors:statements-are-not-patterns, r=nnethercote
Don't make statement nonterminals match pattern nonterminals

Right now, the heuristic we use to check if a token may begin a pattern nonterminal falls back to `may_be_ident`:
ef71f1047e/compiler/rustc_parse/src/parser/nonterminal.rs (L21-L37)

This has the unfortunate side effect that a `stmt` nonterminal eagerly matches against a `pat` nonterminal, leading to a parse error:
```rust
macro_rules! m {
    ($pat:pat) => {};
    ($stmt:stmt) => {};
}

macro_rules! m2 {
    ($stmt:stmt) => {
        m! { $stmt }
    };
}

m2! { let x = 1 }
```

This PR fixes it by more accurately reflecting the set of nonterminals that may begin a pattern nonterminal.

As a side-effect, I modified `Token::can_begin_pattern` to work correctly and used that in `Parser::nonterminal_may_begin_with`.
2024-08-31 10:08:51 +02:00
..
assembly Implement RFC 3525. 2024-08-28 09:54:23 +02:00
auxiliary
codegen Rollup merge of #129316 - dingxiangfei2009:riscv64-imac-scs, r=nnethercote 2024-08-29 16:21:47 +02:00
codegen-units Fix and enable disabled codegen-units tests 2024-08-10 14:03:27 -04:00
coverage Finish blessing coverage/mcdc tests after LLVM 19 upgrade 2024-08-01 13:36:50 +10:00
coverage-run-rustdoc coverage: Extract hole spans from HIR instead of MIR 2024-07-08 21:22:56 +10:00
crashes safe transmute: Rename BikeshedIntrinsicFrom to TransmuteFrom 2024-08-27 14:05:54 +00:00
debuginfo Rollup merge of #128627 - khuey:DUMMY_SP-line-no, r=nnethercote 2024-08-21 18:15:01 +02:00
incremental Rollup merge of #127279 - bvanjoi:fix-112680, r=petrochenkov 2024-08-21 19:35:10 +02:00
mir-opt document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
pretty stabilize raw_ref_op 2024-08-18 19:46:53 +02:00
run-make Use path instead of Path in some run-make tests 2024-08-29 10:15:17 -04:00
run-pass-valgrind
rustdoc Rollup merge of #129560 - GuillaumeGomez:impl-assoc-type-source-link, r=notriddle 2024-08-27 00:42:01 +02:00
rustdoc-gui rustdoc: animate the :target highlight 2024-08-19 18:14:35 -07:00
rustdoc-js Add test for Self not being a generic in search index 2024-08-04 12:49:28 -07:00
rustdoc-js-std rustdoc: show exact case-sensitive matches first 2024-08-23 13:05:24 -04:00
rustdoc-json Stabilize opaque type precise capturing 2024-08-17 12:33:29 -04:00
rustdoc-ui Adjust expected errors for a rustdoc test 2024-08-18 22:52:54 -05:00
ui Rollup merge of #120221 - compiler-errors:statements-are-not-patterns, r=nnethercote 2024-08-31 10:08:51 +02:00
ui-fulldeps Rollup merge of #129246 - BoxyUwU:feature_gate_const_arg_path, r=cjgillot 2024-08-24 22:14:12 +02:00
COMPILER_TESTS.md