From 3309df068176cd9ae7e83380f6dfa3bf3d1ace13 Mon Sep 17 00:00:00 2001 From: Boxy Date: Thu, 13 Mar 2025 16:37:28 +0000 Subject: [PATCH] Remove object lifetime cast --- src/clox/mm.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/clox/mm.rs b/src/clox/mm.rs index 455da9a..1c368cf 100644 --- a/src/clox/mm.rs +++ b/src/clox/mm.rs @@ -301,7 +301,11 @@ impl WeakRoot { // Slot is already taken return None; } - self.0.set(NonNull::new(root as *mut _)); + self.0.set(NonNull::new(unsafe { + std::mem::transmute::<*const (dyn HasRoots + 'root), *mut (dyn HasRoots + 'static)>( + root, + ) + })); Some(GcToken(self, PhantomData)) }