From 37889d9fcdf070f8c26ee69267ea0e5c5117ade9 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 9 Nov 2018 12:15:36 -0800 Subject: [PATCH] Fix `--no-modules` passing in `WebAssembly.Module` This fixes a mistake in allowing a `WebAssembly.Module` to be passed to the initialization function in `--no-modules` mode by ensuring that it resolves to a map of an instance/module instead of just resolving to an instance. --- crates/cli-support/src/js/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/cli-support/src/js/mod.rs b/crates/cli-support/src/js/mod.rs index f5349db3..24f3e16a 100644 --- a/crates/cli-support/src/js/mod.rs +++ b/crates/cli-support/src/js/mod.rs @@ -509,7 +509,10 @@ impl<'a> Context<'a> { let instantiation; const imports = {{ './{module}': __exports }}; if (path_or_module instanceof WebAssembly.Module) {{ - instantiation = WebAssembly.instantiate(path_or_module, imports); + instantiation = WebAssembly.instantiate(path_or_module, imports) + .then(instance => {{ + return {{ instance, module: module_or_path }} + }}); }} else {{ const data = fetch(path_or_module); if (typeof WebAssembly.instantiateStreaming === 'function') {{