alef 0.79.3

Opinionated polyglot binding generator for Rust libraries
Documentation
#[unsafe(no_mangle)]
pub unsafe extern "system" fn {{ symbol }}(
    mut env: EnvUnowned,
    _class: JClass,
{{ param_sigs }}) -> jlong {
    // SAFETY: env is a valid EnvUnowned passed by the JVM for this native call frame.
    let mut __jni_attach_guard = unsafe { jni::AttachGuard::from_unowned(env.as_raw()) };
    let env = __jni_attach_guard.borrow_env_mut();
    let Some(__jni_result) = run_or_throw(env, |env| {
{{ unmarshal }}
    let result = {{ call_expr }};
    match result {
        Err(e) => {
            throw_jni_error(env, &e.to_string());
            0
        }
        Ok(v) => Box::into_raw(Box::new(v)) as jlong,
    }
    }) else {
        return 0;
    };
    __jni_result
}