From 81df12684f8e14b2c57f634f1c4a29b3f0bea340 Mon Sep 17 00:00:00 2001 From: Yota Toyama Date: Sun, 21 May 2023 13:52:34 +1000 Subject: [PATCH] Fix --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 4f92995..6110a20 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -86,16 +86,16 @@ impl Allocator { pub unsafe fn register_finalizer( ptr: *const c_void, - finalizer: &'static F, + finalizer: F, ) { extern "C" fn finalize(ptr: *mut c_void, data: *mut c_void) { - (*(data as *mut F))(ptr) + (unsafe { Box::from_raw(data as *mut F) })(ptr) } GC_register_finalizer( ptr, finalize::, - finalizer as *const _ as *const _, + Box::new(finalizer).into_raw() as *const _ as *const _, null(), null(), );