Don't require Store in Instance constructor (#810)

* Don't require `Store` in `Instance` constructor

This can be inferred from the `Module` argument. Additionally add a
`store` accessor to an `Instance` in case it's needed to instantiate
another `Module`.

cc #708

* Update more constructors

* Fix a doctest

* Don't ignore store in `wasm_instance_new`

* Run rustfmt
This commit is contained in:
Alex Crichton
2020-01-13 17:50:57 -06:00
committed by GitHub
parent f592811c9a
commit 420dcd76fd
19 changed files with 56 additions and 28 deletions

View File

@@ -60,7 +60,7 @@ pub fn instantiate(wasm: &[u8], strategy: Strategy) {
// aren't caught during validation or compilation. For example, an imported
// table might not have room for an element segment that we want to
// initialize into it.
let _result = Instance::new(&store, &module, &imports);
let _result = Instance::new(&module, &imports);
}
/// Compile the Wasm buffer, and implicitly fail if we have an unexpected
@@ -152,7 +152,7 @@ pub fn make_api_calls(api: crate::generators::api::ApiCalls) {
// aren't caught during validation or compilation. For example, an imported
// table might not have room for an element segment that we want to
// initialize into it.
if let Ok(instance) = Instance::new(store.as_ref().unwrap(), &module, &imports) {
if let Ok(instance) = Instance::new(&module, &imports) {
instances.insert(id, instance);
}
}