Implement RFC 11: Redesigning Wasmtime's APIs (#2897)
Implement Wasmtime's new API as designed by RFC 11. This is quite a large commit which has had lots of discussion externally, so for more information it's best to read the RFC thread and the PR thread.
This commit is contained in:
@@ -10,13 +10,13 @@ fn main() -> Result<()> {
|
||||
// Load our WebAssembly (parsed WAT in our case), and then load it into a
|
||||
// `Module` which is attached to a `Store` cache. After we've got that we
|
||||
// can instantiate it.
|
||||
let store = Store::default();
|
||||
let mut store = Store::<()>::default();
|
||||
let module = Module::from_file(store.engine(), "examples/gcd.wat")?;
|
||||
let instance = Instance::new(&store, &module, &[])?;
|
||||
let instance = Instance::new(&mut store, &module, &[])?;
|
||||
|
||||
// Invoke `gcd` export
|
||||
let gcd = instance.get_typed_func::<(i32, i32), i32>("gcd")?;
|
||||
let gcd = instance.get_typed_func::<(i32, i32), i32, _>(&mut store, "gcd")?;
|
||||
|
||||
println!("gcd(6, 27) = {}", gcd.call((6, 27))?);
|
||||
println!("gcd(6, 27) = {}", gcd.call(&mut store, (6, 27))?);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user