なんということはない。
まず、crateを準備
Cargo.toml
[lib]
crate-type: ["cdylib"]
#[no_mangle]
pub extern "C" fn rustfunc1(...) -> ... {
...
}
cargo build --release
Package Installer でFFIをインストール
Classを作りメソッドを用意
test: arg
<cdecl: returnType 'rustfunc1' (argTypes) module: '/path-to-home-directory/.cargo/shared-target/release/crate_name.dylib' >
^self externalCallFailed
なお、cargo artifactsの置き場は共通、OSはMacOSを想定。
細かいことは https://wiki.squeak.org/squeak/2426 を参照のこと。
あっという間にできちゃった。