Skip to content

Conversation

@dianne
Copy link
Contributor

@dianne dianne commented Feb 12, 2026

Reverts the parser changes from #149667

Fixes #152499

Awkwardly, some cases of inline const pats can only be caught pre-expansion and some can only be caught post-expansion. #149667 switched from only rejecting the former to only rejecting the latter.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 12, 2026
@rustbot
Copy link
Collaborator

rustbot commented Feb 12, 2026

r? @nnethercote

rustbot has assigned @nnethercote.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 68 candidates
  • Random selection from 17 candidates

@dianne dianne added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Feb 12, 2026
@fmease fmease assigned fmease and unassigned nnethercote Feb 12, 2026
Copy link
Member

@fmease fmease left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick fix! @bors r+ rollup

View changes since this review

Copy link
Member

@fmease fmease Feb 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awkwardly, some cases of inline const pats can only be caught pre-expansion and some can only be caught post-expansion. #149667 switched from only rejecting the former to only rejecting the latter.

The existence of PatKind::Expr / $e:expr being allowed to be inserted into pats continues to make me sad.

Diagnostic stashing+stealing would allow us to use the diagnostic note (use a named …) from AST lowering again, instead of duplicating it here … at the cost of not showing this help under #[cfg(false)]. Might be overkill tho (and it definitely shouldn't be done in this PR).

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 12, 2026

📌 Commit 60f802f has been approved by fmease

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 12, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 12, 2026
…expansion, r=fmease

reject inline const patterns pre-expansion

Reverts the parser changes from rust-lang#149667

Fixes rust-lang#152499

Awkwardly, some cases of inline const pats can only be caught pre-expansion and some can only be caught post-expansion. rust-lang#149667 switched from only rejecting the former to only rejecting the latter.
rust-bors bot pushed a commit that referenced this pull request Feb 12, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #146901 (Support AVRTiny devices in AVR inline assembly)
 - #150988 (Improve code suggestion for incorrect macro_rules! usage)
 - #152422 (Change query proc macro to be more rust-analyzer friendly)
 - #152496 (Fix multi-cgu+debug builds using autodiff by delaying autodiff till lto)
 - #152520 (Don't use `DepContext` in `rustc_middle::traits::cache`)
 - #152528 (Support serializing CodegenContext)
 - #152082 (Move tests)
 - #152444 (`-Znext-solver` Prevent committing unfulfilled unsized coercion)
 - #152486 (remove redundant backchain attribute in codegen)
 - #152529 (sparc64: enable abi compatibility test)
 - #152548 (reject inline const patterns pre-expansion)
Zalathar added a commit to Zalathar/rust that referenced this pull request Feb 13, 2026
…expansion, r=fmease

reject inline const patterns pre-expansion

Reverts the parser changes from rust-lang#149667

Fixes rust-lang#152499

Awkwardly, some cases of inline const pats can only be caught pre-expansion and some can only be caught post-expansion. rust-lang#149667 switched from only rejecting the former to only rejecting the latter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-nominated Nominated for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inline const patterns are no longer pre-expansion gated

4 participants