#[unsafe(no_mangle)]
pub unsafe extern "system" fn {{ symbol }}(
_env: EnvUnowned,
_class: JClass,
handle: jlong,
) {
if handle == 0 { return; }
// SAFETY: `handle` was allocated by the matching constructor shim and
// ownership is transferred back here for drop via Box::from_raw.
unsafe { let _ = Box::from_raw(handle as *mut core_crate::{{ type_name }}); }
}