mirror of
https://github.com/bdwgc/bdwgc-rust.git
synced 2026-05-30 02:18:57 -06:00
Fix
This commit is contained in:
@@ -84,18 +84,18 @@ impl Allocator {
|
|||||||
unsafe { GC_gcollect() }
|
unsafe { GC_gcollect() }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub unsafe fn register_finalizer(
|
pub unsafe fn register_finalizer<F: FnOnce(*mut c_void) + 'static>(
|
||||||
ptr: *const c_void,
|
ptr: *const c_void,
|
||||||
finalizer: impl FnOnce(*mut c_void) + 'static,
|
finalizer: &'static F,
|
||||||
) {
|
) {
|
||||||
unsafe extern "C" fn finalize<F: FnOnce(*mut c_void)>(ptr: *mut c_void, data: *mut c_void) {
|
extern "C" fn finalize<F: FnOnce(*mut c_void)>(ptr: *mut c_void, data: *mut c_void) {
|
||||||
(*(data as *mut F))(ptr)
|
(*(data as *mut F))(ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
GC_register_finalizer(
|
GC_register_finalizer(
|
||||||
ptr,
|
ptr,
|
||||||
finalize::<F>,
|
finalize::<F>,
|
||||||
&mut &finalizer as *const _ as *const _,
|
finalizer as *const _ as *const _,
|
||||||
null(),
|
null(),
|
||||||
null(),
|
null(),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user