diff options
| author | 许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com> | 2024-04-29 18:03:24 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-29 18:03:24 +0100 |
| commit | 43265f5721d09645fc922a6dc71fa5e5b30a48d1 (patch) | |
| tree | fe7613a832aeb01e6fb10ec06baa00a94562c722 /compiler/rustc_mir_transform/src/coverage/mod.rs | |
| parent | 0580588ec62182e1387ad36aaad623284f2d409a (diff) | |
| parent | 254a9fbe86a4a6d3c0481f7924c4b0393e1a230e (diff) | |
| download | rust-43265f5721d09645fc922a6dc71fa5e5b30a48d1.tar.gz rust-43265f5721d09645fc922a6dc71fa5e5b30a48d1.zip | |
Rollup merge of #124504 - gurry:123710-union-ICE, r=oli-obk
Mark unions non-const-propagatable in `KnownPanicsLint` without calling layout Fixes #123710 The ICE occurs during the layout calculation of the union `InvalidTag` in #123710 because the following assert fails:https://github.com/rust-lang/rust/blob/5fe8b697e729b6eb64841a3905e57da1b47f4ca3/compiler/rustc_abi/src/layout.rs#L289-L292 The layout calculation is invoked by `KnownPanicsLint` when it is trying to figure out which locals it can const prop. Since `KnownPanicsLint` is never actually going to const props unions thanks to PR https://github.com/rust-lang/rust/pull/121628 there's no point calling layout to check if it can. So in this fix I skip the call to layout and just mark the local non-const propagatable if it is a union.
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/mod.rs')
0 files changed, 0 insertions, 0 deletions
