rust/compiler/rustc_middle
Matthias Krüger cea5ae00d2
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
2023-06-23 19:39:58 +02:00
..
src Rollup merge of #112810 - compiler-errors:dont-ice-on-bad-layout, r=wesleywiser 2023-06-23 19:39:58 +02:00
Cargo.toml Use dynamic dispatch for queries 2023-04-30 09:48:47 +02:00
messages.ftl Use translatable diagnostics in rustc_const_eval 2023-06-01 14:45:18 +00:00
README.md

For more information about how rustc works, see the rustc dev guide.