Skip to content

Improve recovery when users write where: #143065

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 3 commits into from
Jun 27, 2025

Conversation

compiler-errors
Copy link
Member

Improve recovery of where:.

Fixes #143023

The erroneous suggestion was because we were seeing : then a type, which the original impl thought must be a struct field. Make this a bit more accurate by checking for a non-reserved ident (which should be a field name).

Also, make a custom parser error for where: so we can continue parsing after the colon.

@rustbot
Copy link
Collaborator

rustbot commented Jun 26, 2025

r? @oli-obk

rustbot has assigned @oli-obk.
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

@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 Jun 26, 2025
@oli-obk
Copy link
Contributor

oli-obk commented Jun 27, 2025

@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Jun 27, 2025

📌 Commit 4e51e67 has been approved by oli-obk

It is now in the queue for this repository.

@bors bors 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 Jun 27, 2025
bors added a commit that referenced this pull request Jun 27, 2025
Rollup of 10 pull requests

Successful merges:

 - #142270 (Rustdoc js: even more typechecking improvements)
 - #142420 (Report infer ty errors during hir ty lowering)
 - #142671 (add #![rustc_no_implicit_bounds])
 - #142721 (Add tracing to `InterpCx::layout_of()` )
 - #142818 (Port `#[used]` to new attribute parsing infrastructure)
 - #143020 (codegen_fn_attrs: make comment more precise)
 - #143051 (Add tracing to `validate_operand`)
 - #143060 (Only args in main diag are saved and restored without removing the newly added ones)
 - #143065 (Improve recovery when users write `where:`)
 - #143084 (const-eval: error when initializing a static writes to that static)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 8e7b0b5 into rust-lang:master Jun 27, 2025
10 checks passed
@rustbot rustbot added this to the 1.90.0 milestone Jun 27, 2025
rust-timer added a commit that referenced this pull request Jun 27, 2025
Rollup merge of #143065 - compiler-errors:enum-recovery, r=oli-obk

Improve recovery when users write `where:`

Improve recovery of `where:`.

Fixes #143023

The erroneous suggestion was because we were seeing `:` then a type, which the original impl thought must be a struct field. Make this a bit more accurate by checking for a non-reserved ident (which should be a field name).

Also, make a custom parser error for `where:` so we can continue parsing after the colon.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jun 28, 2025
Rollup of 10 pull requests

Successful merges:

 - rust-lang/rust#142270 (Rustdoc js: even more typechecking improvements)
 - rust-lang/rust#142420 (Report infer ty errors during hir ty lowering)
 - rust-lang/rust#142671 (add #![rustc_no_implicit_bounds])
 - rust-lang/rust#142721 (Add tracing to `InterpCx::layout_of()` )
 - rust-lang/rust#142818 (Port `#[used]` to new attribute parsing infrastructure)
 - rust-lang/rust#143020 (codegen_fn_attrs: make comment more precise)
 - rust-lang/rust#143051 (Add tracing to `validate_operand`)
 - rust-lang/rust#143060 (Only args in main diag are saved and restored without removing the newly added ones)
 - rust-lang/rust#143065 (Improve recovery when users write `where:`)
 - rust-lang/rust#143084 (const-eval: error when initializing a static writes to that static)

r? `@ghost`
`@rustbot` modify labels: rollup
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
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.

Incorrect help suggestion on a syntax error in the where part of an enum
4 participants