local callableWrapper = require("../utils/callableWrapper") local ffi = require("@lune/ffi") local lib = require("../utils/compile")("./tests/ffi/external_struct/lib.c") local c = ffi.c local argStructInfo = c.struct({ c.int, c.int:ptr() }) local resultStructInfo = c.struct({ c.int, c.int }) local ab = callableWrapper(lib:find("ab"), { argStructInfo }, resultStructInfo) local result = ab({ 100, c.int:box(200):ref() } :: { any }) assert(result[1] == 300, `ab failed. result expected 300, got {result[1]}`) assert(result[2] == 20000, `ab failed. result expected 300, got {result[2]}`)