From 6aa7ef39a239f7c8510d0998715bd575f7208bd3 Mon Sep 17 00:00:00 2001 From: Boxy Date: Thu, 13 Mar 2025 17:17:18 +0000 Subject: [PATCH] Remove object lifetime cast --- src/crash.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/crash.rs b/src/crash.rs index f7f6b80..559aeb5 100644 --- a/src/crash.rs +++ b/src/crash.rs @@ -183,7 +183,13 @@ mod context { if let Some(entries) = &mut context.entries { let x: &mut Self = self.get_unchecked_mut(); - entries.push(x as *mut Self as *mut dyn EntryLike); + // SAFETY: We extend the lifetime of `Self` to `'static`, I don't know + // if this is sound. + let x = std::mem::transmute::< + *mut (dyn EntryLike + '_), + *mut (dyn EntryLike + 'static), + >(x); + entries.push(x); } else { // Fail silently: crash context has been forever disabled for this thread }