diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-02-22 20:05:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-22 20:05:58 +0100 |
| commit | 4d9effc65cd928666081688dedae16aaa8979659 (patch) | |
| tree | 05ca3330e4b318afb9f9ca5c1d3e5cb6c0632c48 /compiler/rustc_codegen_gcc | |
| parent | 0982eab8394535b8f3c2a7d814f31c8c41fb3b96 (diff) | |
| parent | 90cf0cc6c2332cc40e22856a40af1b436baae84b (diff) | |
| download | rust-4d9effc65cd928666081688dedae16aaa8979659.tar.gz rust-4d9effc65cd928666081688dedae16aaa8979659.zip | |
Rollup merge of #108176 - compiler-errors:bad-lexical-region-resolve-bug, r=oli-obk
Don't delay `ReError` bug during lexical region resolve Lexical region resolution returns a list of `RegionResolutionError` which don't necessarily correspond to diagnostics being emitted. The compiler may, validly, throw away these resolution errors and do something else. Therefore it's not valid to use `ReError` during lifetime resolution, since we may actually be on a totally fine compilation path. For example, the `implied_bounds_entailment` lint runs region resolution twice, and only emits an error if it fails both times. If we delay a bug and create a `ReError` during this first run, then we will ICE. Fixes #108170 ---- Side-note: this is conceptually equivalent to how we can't necessarily delay bugs or create `ty::Error` during trait solving/fulfillment, since the compiler is allowed to throw away these fulfillment errors to do other things. It's only once we actually emit an error (`report_region_errors` / `report_fulfillment_errors`)
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions
