unsafe extern "C" fn capsule_destructor<T: 'static + Send, F: FnOnce(T, *mut c_void)>(
    capsule: *mut ffi::PyObject,
) {
    let ptr = ffi::PyCapsule_GetPointer(capsule, ffi::PyCapsule_GetName(capsule));
    let ctx = ffi::PyCapsule_GetContext(capsule);
    let CapsuleContents { value, destructor } = *Box::from_raw(ptr as *mut CapsuleContents<T, F>);
    destructor(value, ctx)
}
// Wrapping ffi::PyCapsule_Destructor for a user supplied FnOnce(T) for capsule destructor
Wrapping ffi::PyCapsule_Destructor for a user supplied FnOnce(T) for capsule destructor
Wrapping ffi :: PyCapsule_Destructor for a user supplied FnOnce ( T ) for capsule destructor
unsafe extern "C" fn capsule_destructor<T: 'static + Send, F: FnOnce(T, *mut c_void)>(
    capsule: *mut ffi::PyObject,
) {
    let ptr = ffi::PyCapsule_GetPointer(capsule, ffi::PyCapsule_GetName(capsule));
    let ctx = ffi::PyCapsule_GetContext(capsule);
    let CapsuleContents { value, destructor } = *Box::from_raw(ptr as *mut CapsuleContents<T, F>);
    destructor(value, ctx)
}
unsafe extern " " fn capsule_destructor < T : ' static + Send , F : FnOnce ( T , * mut c_void ) > ( capsule : * mut ffi :: PyObject , ) { let ptr = ffi :: PyCapsule_GetPointer ( capsule , ffi :: PyCapsule_GetName ( capsule ) ) ; let ctx = ffi :: PyCapsule_GetContext ( capsule ) ; let CapsuleContents { value , destructor } = * Box :: from_raw ( ptr as * mut CapsuleContents < T , F > ) ; destructor ( value , ctx ) }
Wrapping ffi::PyCapsule_Destructor for a user supplied FnOnce(T) for capsule destructor
Wrapping ffi :: PyCapsule_Destructor for a user supplied FnOnce ( T ) for capsule destructor
capsule
*mut ffi::PyObject
capsule
*mut ffi::PyObject