diff --git a/Cargo.lock b/Cargo.lock index 2626813a7b..148263def6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3598,9 +3598,9 @@ dependencies = [ [[package]] name = "wat" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0fa059022c5dabe129f02b429d67086400deb8277f89c975555dacc1dadbcc" +checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02" dependencies = [ "wast 35.0.1", ] diff --git a/Cargo.toml b/Cargo.toml index a66027c480..f909d7149f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ anyhow = "1.0.19" target-lexicon = { version = "0.12.0", default-features = false } pretty_env_logger = "0.4.0" file-per-thread-logger = "0.1.1" -wat = "1.0.36" +wat = "1.0.37" libc = "0.2.60" log = "0.4.8" rayon = "1.2.1" diff --git a/cranelift/wasm/Cargo.toml b/cranelift/wasm/Cargo.toml index 636a7c232a..9c1613fa8b 100644 --- a/cranelift/wasm/Cargo.toml +++ b/cranelift/wasm/Cargo.toml @@ -24,7 +24,7 @@ smallvec = "1.6.1" thiserror = "1.0.4" [dev-dependencies] -wat = "1.0.36" +wat = "1.0.37" target-lexicon = "0.12" # Enable the riscv feature for cranelift-codegen, as some tests require it cranelift-codegen = { path = "../codegen", version = "0.72.0", default-features = false, features = ["riscv"] } diff --git a/crates/fuzzing/Cargo.toml b/crates/fuzzing/Cargo.toml index 30e208d9e8..12e90c3fc5 100644 --- a/crates/fuzzing/Cargo.toml +++ b/crates/fuzzing/Cargo.toml @@ -22,7 +22,7 @@ wasm-smith = "0.4.4" wasmi = "0.7.0" [dev-dependencies] -wat = "1.0.36" +wat = "1.0.37" [features] experimental_x64 = ["wasmtime/experimental_x64"] diff --git a/crates/lightbeam/Cargo.toml b/crates/lightbeam/Cargo.toml index 6734949795..de4a2e5878 100644 --- a/crates/lightbeam/Cargo.toml +++ b/crates/lightbeam/Cargo.toml @@ -28,7 +28,7 @@ wasmparser = "0.77" [dev-dependencies] lazy_static = "1.2" -wat = "1.0.36" +wat = "1.0.37" quickcheck = "1.0.0" anyhow = "1.0" diff --git a/crates/test-programs/Cargo.toml b/crates/test-programs/Cargo.toml index 74e16cbd9c..5ff2b9676b 100644 --- a/crates/test-programs/Cargo.toml +++ b/crates/test-programs/Cargo.toml @@ -20,7 +20,7 @@ pretty_env_logger = "0.4.0" tempfile = "3.1.0" os_pipe = "0.9" anyhow = "1.0.19" -wat = "1.0.36" +wat = "1.0.37" cap-std = "0.13" [features] diff --git a/crates/wasmtime/src/module.rs b/crates/wasmtime/src/module.rs index 8408d2af97..374ec6ccd0 100644 --- a/crates/wasmtime/src/module.rs +++ b/crates/wasmtime/src/module.rs @@ -228,10 +228,23 @@ impl Module { /// # } /// ``` pub fn from_file(engine: &Engine, file: impl AsRef) -> Result { - Self::new( + match Self::new( engine, - &fs::read(file).with_context(|| "failed to read input file")?, - ) + &fs::read(&file).with_context(|| "failed to read input file")?, + ) { + Ok(m) => Ok(m), + Err(e) => { + cfg_if::cfg_if! { + if #[cfg(feature = "wat")] { + let mut e = e.downcast::()?; + e.set_path(file); + bail!(e) + } else { + Err(e) + } + } + } + } } /// Creates a new WebAssembly `Module` from the given in-memory `binary`