This commit is contained in:
Robin Appelman 2025-06-02 23:14:57 +02:00
commit 95119b9347
13 changed files with 157 additions and 161 deletions

View file

@ -110,15 +110,15 @@ fn micros_as_sec(micros: usize) -> f32 {
micros as f32 / 1_000_000.0
}
struct PanicCanary<F: Fn() -> ()>(F);
struct PanicCanary<F: Fn()>(F);
impl<F: Fn() -> ()> Drop for PanicCanary<F> {
impl<F: Fn()> Drop for PanicCanary<F> {
fn drop(&mut self) {
(self.0)()
}
}
fn on_panic<F: Fn() -> (), P: Fn() -> ()>(f: F, panic: P) {
fn on_panic<F: Fn(), P: Fn()>(f: F, panic: P) {
let canary = PanicCanary(panic);
f();
forget(canary)