()
| 25 | } |
| 26 | |
| 27 | fn run() -> tinywasm::Result<()> { |
| 28 | let mut store = tinywasm::Store::default(); |
| 29 | let mut imports = tinywasm::Imports::new(); |
| 30 | |
| 31 | let res = tinywasm::parser::Parser::new().parse_module_bytes(include_bytes!("./print.wasm"))?; |
| 32 | let twasm = res.serialize_twasm()?; |
| 33 | let module = tinywasm::parse_bytes(&twasm)?; |
| 34 | |
| 35 | let printi32 = HostFunction::from(&mut store, |_: FuncContext<'_>, v: i32| { |
| 36 | unsafe { printi32(v) } |
| 37 | Ok(()) |
| 38 | }); |
| 39 | |
| 40 | imports.define("env", "printi32", printi32); |
| 41 | let instance = ModuleInstance::instantiate(&mut store, &module, Some(imports))?; |
| 42 | let add_and_print = instance.func::<(i32, i32), ()>(&store, "add_and_print")?; |
| 43 | add_and_print.call(&mut store, (1, 2))?; |
| 44 | Ok(()) |
| 45 | } |
no test coverage detected