about summary refs log tree commit diff
path: root/compiler/rustc_serialize/src
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2023-05-04 00:17:27 +0530
committerGitHub <noreply@github.com>2023-05-04 00:17:27 +0530
commite87fcf979fc5ff36386c642d779f2c071cf30fe8 (patch)
tree10c28bb928677239f9ed65d2ef54785fe39bc51e /compiler/rustc_serialize/src
parent887dffc44795f30c32e8776a9a1850f82da81942 (diff)
parent7bc6d598f94744751a249ed18885592a6f077bcd (diff)
downloadrust-e87fcf979fc5ff36386c642d779f2c071cf30fe8.tar.gz
rust-e87fcf979fc5ff36386c642d779f2c071cf30fe8.zip
Rollup merge of #111097 - oli-obk:🚲_layout, r=compiler-errors
Avoid ICEing miri on layout query cycles

Miri has special logic for catching panics during interpretation. Raising a fatal error in rustc uses unwinding to abort compilation. Thus miri ends up catching that fatal error and thinks it saw an ICE. While we should probably change that to ignore `Fatal` payloads, I think it's also neat to continue compilation after a layout query cycle 😆

Query cycles now (in addition to reporting an error just like before), return `Err(Cycle)` instead of raising a fatal error. This allows the interpreter to wind down via the regular error paths.

r? `@RalfJung` for a first round, feel free to reroll for the compiler team once the miri side looks good
Diffstat (limited to 'compiler/rustc_serialize/src')
0 files changed, 0 insertions, 0 deletions