CLOUDFLARE explains that Rust Workers run Rust compiled to WebAssembly on the Workers platform, but WebAssembly has sharp edges and panics or unexpected aborts could leave a runtime in an undefined state. The team describes how panic unwinding is now supported to ensure a single failed request does not poison others, with abort recovery mechanisms designed to prevent re-execution after an abort.
They highlight that enabling panic=unwind and upgrading wasm-bindgen required changes to the toolchain and bindings, including exceptions, try/catch handling and a PanicError surface in JavaScript. The article notes that since version 0.8.0 of Rust Workers there is a new --panic-unwind flag, with plans to make panic=unwind the default in a future release.
It also covers how modern WebAssembly Exception Handling is supported across major runtimes, detailing release dates for runtimes such as v8 13.8.1 (April 28, 2025) and Node[.]js 25.0.0 (October 15, 2025), among others, and explains an abort reinitialization feature for wasm-bindgen libraries.