---
source: packages/codegen/src/fn_.rs
expression: "print(func(vec![arg(Type::RefMut(Box::new(Type::Slice(Box::new(Type::Numeric(TypeNumeric::U8,))))),\nAbi::Pointer,), arg(Type::Ref(Box::new(Type::Str)), Abi::Pointer),\narg(Type::Box(Box::new(custom)), Abi::Pointer),\narg(Type::Vec(Box::new(Type::Bool)), Abi::Pointer),], Type::Void, Abi::Void,))"
---
const __dodo_lib = new URL(
`./lib.${Deno.build.target}.${
({ windows: "dll", darwin: "dylib" } as Record<string, string>)[
Deno.build.os
] ?? "so"
}`,
import.meta.url,
);
const { symbols } = Deno.dlopen(__dodo_lib, {
__dodo_crate_test_fn: {
parameters: ["pointer", "pointer", "pointer", "pointer"],
result: "void",
},
});
export function testFn(
arg_0: RustSlice<number>,
arg_1: RustStr,
arg_2: RustBox<CustomType>,
arg_3: RustVec<boolean>,
) {
symbols.__dodo_crate_test_fn(
arg_0.take(),
arg_1.take(),
arg_2.take(),
arg_3.take(),
);
}