diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-06-23 19:39:58 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-23 19:39:58 +0200 |
| commit | cea5ae00d2eebaa91124396b074317a13d8bc9a3 (patch) | |
| tree | 724e8a8d96cdc7e0d1d30cd1360f8bd5177775f4 /compiler/rustc_interface/src/errors.rs | |
| parent | afe337d2f1f87a307f502e263758e753c326ac1d (diff) | |
| parent | 32f83e18ab1891482873eea6e4337d610393c0a5 (diff) | |
| download | rust-cea5ae00d2eebaa91124396b074317a13d8bc9a3.tar.gz rust-cea5ae00d2eebaa91124396b074317a13d8bc9a3.zip | |
Rollup merge of #112810 - compiler-errors:dont-ice-on-bad-layout, r=wesleywiser
Don't ICE on unnormalized struct tail in layout computation 1. We try to compute a `SizeSkeleton` even if a layout error occurs, but we really only need to do this if we get `LayoutError::Unknown`, since that means our type is too polymorphic to actually compute the full layout. If we have other errors, like `LayoutError::NormalizationError` or `LayoutError::Cycle`, then we can't really make any progress, since this represents an actual error. 2. Avoid using `normalize_erasing_regions` and `struct_tail_erasing_lifetimes` since those ICE on normalization errors, and since we may call `layout_of` in HIR typeck, we don't know for certain that we're on the happy path. Fixes #112736
Diffstat (limited to 'compiler/rustc_interface/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
