Skip to content

Conversation

nnethercote
Copy link
Contributor

The starting point for this was identical comments on two different fields, in ast::VariantData::Struct and hir::VariantData::Struct:

    // FIXME: investigate making this a `Option<ErrorGuaranteed>`
    recovered: bool

I tried that, and then found that I needed to add an ErrorGuaranteed to Recovered::Yes. Then I ended up using Recovered instead of Option<ErrorGuaranteed> for these two places and elsewhere, which required moving ErrorGuaranteed from rustc_parse to rustc_ast.

This makes things more consistent, because Recovered is used in more places, and there are fewer uses of bool and
Option<ErrorGuaranteed>. And safer, because it's difficult/impossible to set recovered to Recovered::Yes without having emitted an error.

r? @oli-obk

The starting point for this was identical comments on two different
fields, in `ast::VariantData::Struct` and `hir::VariantData::Struct`:
```
    // FIXME: investigate making this a `Option<ErrorGuaranteed>`
    recovered: bool
```
I tried that, and then found that I needed to add an `ErrorGuaranteed`
to `Recovered::Yes`. Then I ended up using `Recovered` instead of
`Option<ErrorGuaranteed>` for these two places and elsewhere, which
required moving `ErrorGuaranteed` from `rustc_parse` to `rustc_ast`.

This makes things more consistent, because `Recovered` is used in more
places, and there are fewer uses of `bool` and
`Option<ErrorGuaranteed>`. And safer, because it's difficult/impossible
to set `recovered` to `Recovered::Yes` without having emitted an error.
@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 May 9, 2024
@compiler-errors
Copy link
Member

r? compiler-errors @bors r+ rollup

@bors
Copy link
Collaborator

bors commented May 9, 2024

📌 Commit fd91925 has been approved by compiler-errors

It is now in the queue for this repository.

@rustbot rustbot assigned compiler-errors and unassigned oli-obk May 9, 2024
@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 May 9, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request May 9, 2024
…iaskrgr

Rollup of 5 pull requests

Successful merges:

 - rust-lang#124893 (Make a minimal amount of region APIs public)
 - rust-lang#124919 (Add `ErrorGuaranteed` to `Recovered::Yes` and use it more.)
 - rust-lang#124923 (interpret/miri: better errors on failing offset_from)
 - rust-lang#124924 (chore: remove repetitive words)
 - rust-lang#124926 (Make `#![feature]` suggestion MaybeIncorrect)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 0a917f8 into rust-lang:master May 9, 2024
@rustbot rustbot added this to the 1.80.0 milestone May 9, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request May 9, 2024
Rollup merge of rust-lang#124919 - nnethercote:Recovered-Yes-ErrorGuaranteed, r=compiler-errors

Add `ErrorGuaranteed` to `Recovered::Yes` and use it more.

The starting point for this was identical comments on two different fields, in `ast::VariantData::Struct` and `hir::VariantData::Struct`:
```
    // FIXME: investigate making this a `Option<ErrorGuaranteed>`
    recovered: bool
```
I tried that, and then found that I needed to add an `ErrorGuaranteed` to `Recovered::Yes`. Then I ended up using `Recovered` instead of `Option<ErrorGuaranteed>` for these two places and elsewhere, which required moving `ErrorGuaranteed` from `rustc_parse` to `rustc_ast`.

This makes things more consistent, because `Recovered` is used in more places, and there are fewer uses of `bool` and
`Option<ErrorGuaranteed>`. And safer, because it's difficult/impossible to set `recovered` to `Recovered::Yes` without having emitted an error.

r? `@oli-obk`
@nnethercote nnethercote deleted the Recovered-Yes-ErrorGuaranteed branch May 9, 2024 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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.

5 participants