about summary refs log tree commit diff
path: root/src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-09-29 04:36:01 +0200
committerGitHub <noreply@github.com>2019-09-29 04:36:01 +0200
commitb30d9beafbedb898253a3103ff6afd9f034149f4 (patch)
treea2805dc20aec6bff6618a21495ca632709979806 /src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs
parenta874c659c89ede39068d01f9f799f07084161c15 (diff)
parent97906bcd5c9c5ba5d165c7330b2ee062a97f11cf (diff)
downloadrust-b30d9beafbedb898253a3103ff6afd9f034149f4.tar.gz
rust-b30d9beafbedb898253a3103ff6afd9f034149f4.zip
Rollup merge of #64799 - Aaron1011:fix/double-panic, r=Mark-Simulacrum
Fix double panic when printing query stack during an ICE

On the latest nightly, any call to `bug` or `span_bug` will result in two panics - the first one as a normal result of calling `bug` / `span_bug`, and the second as a result of trying to print the query stack from the panic handler. This is caused by the query-printing code attempting to acquire a lock on `HandlerInnder`, which is still being held by `bug`.

This PR moves the actual panic out of `HandlerInner`, into `Handler`. This allows us to release the lock on `HandlerInner` before triggering the panic, ensuring that the panic handler will be able to acquire the lock if necessary.
Diffstat (limited to 'src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs')
0 files changed, 0 insertions, 0 deletions