E4042#
编译器诊断名称:invalid_stub_type。
不合法的桩类型。
定义 FFI 函数时,每个参数和返回值类型都必须是有效的桩类型,并且能由所选后端原生表示。
例如,FixedArray[T] 不是 Wasm GC 后端的有效桩类型。
错误示例:#
pub fn ffi(array : FixedArray[Int]) -> Unit = "mod" "ffi"
// ^~~~~~~~~~~~~~~
// Error: Invalid stub type.
建议#
通过 FFI 接口传递非原生类型的方式取决于 MoonBit 编译器后端和你使用的运行时。请直接使用原生桩类型,或传递句柄/索引,并在宿主端管理复合值。
pub fn ffi(value : Int) -> Unit = "mod" "ffi"