unsafe extern "C" fn release_schema(schema: *mut FFI_ArrowSchema) {
    if schema.is_null() {
        return;
    }
    let schema = &mut *schema;

    // take ownership back to release it.
    CString::from_raw(schema.format as *mut std::os::raw::c_char);
    CString::from_raw(schema.name as *mut std::os::raw::c_char);
    let private = Box::from_raw(schema.private_data as *mut SchemaPrivateData);
    for child in private.children_ptr.iter() {
        let _ = Box::from_raw(*child);
    }

    schema.release = None;
}
// callback used to drop [FFI_ArrowSchema] when it is exported.
callback used to drop [FFI_ArrowSchema] when it is exported.
callback used to drop [ FFI_ArrowSchema ] when it is exported .
unsafe extern "C" fn release_schema(schema: *mut FFI_ArrowSchema) {
    if schema.is_null() {
        return;
    }
    let schema = &mut *schema;
    // take ownership back to release it.
    CString::from_raw(schema.format as *mut std::os::raw::c_char);
    CString::from_raw(schema.name as *mut std::os::raw::c_char);
    let private = Box::from_raw(schema.private_data as *mut SchemaPrivateData);
    for child in private.children_ptr.iter() {
        let _ = Box::from_raw(*child);
    }
    schema.release = None;
}
unsafe extern " " fn release_schema ( schema : * mut FFI_ArrowSchema ) { if schema . is_null ( ) { return ; } let schema = & mut * schema ; // take ownership back to release it. CString :: from_raw ( schema . format as * mut std :: os :: raw :: c_char ) ; CString :: from_raw ( schema . name as * mut std :: os :: raw :: c_char ) ; let private = Box :: from_raw ( schema . private_data as * mut SchemaPrivateData ) ; for child in private . children_ptr . iter ( ) { let _ = Box :: from_raw ( * child ) ; } schema . release = None ; }
callback used to drop [FFI_ArrowSchema] when it is exported.
callback used to drop [ FFI_ArrowSchema ] when it is exported .
schema
*mut FFI_ArrowSchema
schema
*mut FFI_ArrowSchema