diff options
Diffstat (limited to 'examples/rust/src/tinywasm.rs')
| -rw-r--r-- | examples/rust/src/tinywasm.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/examples/rust/src/tinywasm.rs b/examples/rust/src/tinywasm.rs index 7de0dbc..0ccb026 100644 --- a/examples/rust/src/tinywasm.rs +++ b/examples/rust/src/tinywasm.rs @@ -14,19 +14,17 @@ pub extern "C" fn hello() { fn run() -> tinywasm::Result<()> { let module = tinywasm::Module::parse_stream(&include_bytes!("./print.wasm")[..])?; let mut store = tinywasm::Store::default(); + + let printi32 = HostFunction::from(&mut store, |_: FuncContext<'_>, v: i32| { + unsafe { printi32(v) } + Ok(()) + }); + let mut imports = tinywasm::Imports::new(); + imports.define("env", "printi32", printi32); - imports.define( - "env", - "printi32", - HostFunction::from(&mut store, |_: FuncContext<'_>, v: i32| { - unsafe { printi32(v) } - Ok(()) - }), - )?; let instance = module.instantiate(&mut store, Some(imports))?; - - let add_and_print = instance.func_typed::<(i32, i32), ()>(&store, "add_and_print")?; + let add_and_print = instance.func::<(i32, i32), ()>(&store, "add_and_print")?; add_and_print.call(&mut store, (1, 2))?; Ok(()) } |
