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 }