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`
|
||
|---|---|---|
| .. | ||
| arena.rs | ||
| def.rs | ||
| def_path_hash_map.rs | ||
| definitions.rs | ||
| diagnostic_items.rs | ||
| hir.rs | ||
| hir_id.rs | ||
| intravisit.rs | ||
| lang_items.rs | ||
| lib.rs | ||
| pat_util.rs | ||
| stable_hash_impls.rs | ||
| target.rs | ||
| tests.rs | ||
| weak_lang_items.rs | ||