diff options
| author | Badel2 <2badel2@gmail.com> | 2022-01-07 17:04:33 +0100 |
|---|---|---|
| committer | Badel2 <2badel2@gmail.com> | 2022-01-08 00:57:59 +0100 |
| commit | 8ef3ce866e2f20bdcc567e2f7012f81ce2e60298 (patch) | |
| tree | 1764db087c7b3bb38aa060ba67b985d4ec63f975 /library/proc_macro/src | |
| parent | 8bdf5c3de6c6e4e01f7f6241cd0f2a606c7486df (diff) | |
| download | rust-8ef3ce866e2f20bdcc567e2f7012f81ce2e60298.tar.gz rust-8ef3ce866e2f20bdcc567e2f7012f81ce2e60298.zip | |
Change panic::update_hook to simplify usage
And to remove possibility of panics while changing the panic handler, because that resulted in a double panic.
Diffstat (limited to 'library/proc_macro/src')
| -rw-r--r-- | library/proc_macro/src/bridge/client.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/library/proc_macro/src/bridge/client.rs b/library/proc_macro/src/bridge/client.rs index 5ff7bbf6f96..9e9750eb8de 100644 --- a/library/proc_macro/src/bridge/client.rs +++ b/library/proc_macro/src/bridge/client.rs @@ -310,16 +310,14 @@ impl Bridge<'_> { // NB. the server can't do this because it may use a different libstd. static HIDE_PANICS_DURING_EXPANSION: Once = Once::new(); HIDE_PANICS_DURING_EXPANSION.call_once(|| { - panic::update_hook(|prev| { - Box::new(move |info| { - let show = BridgeState::with(|state| match state { - BridgeState::NotConnected => true, - BridgeState::Connected(_) | BridgeState::InUse => force_show_panics, - }); - if show { - prev(info) - } - }) + panic::update_hook(move |prev, info| { + let show = BridgeState::with(|state| match state { + BridgeState::NotConnected => true, + BridgeState::Connected(_) | BridgeState::InUse => force_show_panics, + }); + if show { + prev(info) + } }); }); |
