diff --git a/docs/examples/_fixtures/native-libraries/my-bindings/Cargo.toml b/docs/examples/_fixtures/native-libraries/my-bindings/Cargo.toml index e4d07988dd..55e874f449 100644 --- a/docs/examples/_fixtures/native-libraries/my-bindings/Cargo.toml +++ b/docs/examples/_fixtures/native-libraries/my-bindings/Cargo.toml @@ -14,3 +14,6 @@ crate-type = ["staticlib", "rlib"] [dependencies] perry-ffi = { workspace = true } + +[dev-dependencies] +perry-ffi = { workspace = true, features = ["runtime-link"] } diff --git a/docs/examples/_fixtures/native-libraries/my-bindings/src/lib.rs b/docs/examples/_fixtures/native-libraries/my-bindings/src/lib.rs index 41bac0ae3c..5e5048b4af 100644 --- a/docs/examples/_fixtures/native-libraries/my-bindings/src/lib.rs +++ b/docs/examples/_fixtures/native-libraries/my-bindings/src/lib.rs @@ -18,8 +18,9 @@ use perry_ffi::{alloc_string, read_buffer_bytes, BufferHeader, StringHeader}; #[no_mangle] pub unsafe extern "C" fn js_pdf_parse(buf_ptr: i64) -> *mut StringHeader { let buf_ptr = (buf_ptr as u64 & 0x0000_FFFF_FFFF_FFFF) as *const BufferHeader; - let bytes = read_buffer_bytes(buf_ptr).unwrap_or(&[]); - let summary = format!("stub: {} bytes", bytes.len()); + let len = + perry_ffi::bytes::no_gc(|scope| read_buffer_bytes(buf_ptr, scope).map_or(0, <[u8]>::len)); + let summary = format!("stub: {len} bytes"); alloc_string(&summary).as_raw() }