extern "C" fn trampoline<F, T>(arg: *mut c_void)
        where
            F: FnMut(T),
            T: 'static + std::fmt::Debug,
        {
            let mut ctx = unsafe { Box::from_raw(arg as *mut Ctx<F, T>) };
            (ctx.closure)(ctx.args);
        }
// helper routine to unpack the closure and its arguments
helper routine to unpack the closure and its arguments
helper routine to unpack the closure and its arguments
extern "C" fn trampoline<F, T>(arg: *mut c_void)
        where
            F: FnMut(T),
            T: 'static + std::fmt::Debug,
        {
            let mut ctx = unsafe { Box::from_raw(arg as *mut Ctx<F, T>) };
            (ctx.closure)(ctx.args);
        }
extern " " fn trampoline < F , T > ( arg : * mut c_void ) where F : FnMut ( T ) , T : ' static + std :: fmt :: Debug , { let mut ctx = unsafe { Box :: from_raw ( arg as * mut Ctx < F , T > ) } ; ( ctx . closure ) ( ctx . args ) ; }
helper routine to unpack the closure and its arguments
helper routine to unpack the closure and its arguments
arg
*mut c_void