From 085028a8e19ce43622b48282fee646096d55f599 Mon Sep 17 00:00:00 2001 From: Yota Toyama Date: Sun, 21 May 2023 13:39:31 +1000 Subject: [PATCH] Fix --- src/lib.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 33b1b02..a7b6c10 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,12 +84,21 @@ impl Allocator { unsafe { GC_gcollect() } } - pub unsafe fn register_finalizer(ptr: *const c_void, finalizer: impl FnOnce(*mut c_void)) { + pub unsafe fn register_finalizer( + ptr: *const c_void, + finalizer: impl FnOnce(*mut c_void) + 'static, + ) { unsafe extern "C" fn finalize(ptr: *mut c_void, data: *mut c_void) { (*(data as *mut F))(ptr) } - GC_register_finalizer(ptr, finalize::, &mut finalizer, null(), null()); + GC_register_finalizer( + ptr, + finalize::, + &mut &finalizer as *const _ as *const _, + null(), + null(), + ); } }