INNER CODE UNIT · Rust
cast_handle
deepjavalibrary/djl · extensions/tokenizers/rust/src/lib.rs:931
fn cast_handle<T>(handle: jlong) -> &'static mut T {
assert_ne!(handle, 0, "Invalid handle value");
let ptr = handle as *mut T;
unsafe { &mut *ptr }
}
fn drop_handle<T: 'static>(handle: jlong) {
unsafe {
let _ = Box::from_raw(handle as *mut T);
}
}
fn to_string_array(env: &mut JNIEnv, data: Vec<String>) -> Result<jobjectArray, Error> {
let arr = env.new_object_array(data.len() as i32, "java/lang/String", JObject::null())?;
for (i, val) in data.into_iter().enumerate() {
let s = env.new_string(val)?;