diff --git a/crates/wasmtime/src/trap.rs b/crates/wasmtime/src/trap.rs index 61da2dcce5..39f557dcf8 100644 --- a/crates/wasmtime/src/trap.rs +++ b/crates/wasmtime/src/trap.rs @@ -385,7 +385,10 @@ impl std::error::Error for Trap { impl From for Trap { fn from(e: anyhow::Error) -> Trap { - Box::::from(e).into() + match e.downcast::() { + Ok(trap) => trap, + Err(e) => Box::::from(e).into(), + } } }