Passes LLVM codegen and Emscripten link-time flags for exception handling if and only if the panic strategy is `unwind`. Sets the default panic strategy for Emscripten targets to `unwind`. Re-enables tests that depend on unwinding support for Emscripten, including `should_panic` tests.
17 lines
298 B
Rust
17 lines
298 B
Rust
// run-pass
|
|
// ignore-wasm32-bare compiled with panic=abort by default
|
|
|
|
use std::panic;
|
|
|
|
fn test() {
|
|
wait(|| panic!());
|
|
}
|
|
|
|
fn wait<T, F: FnOnce() -> T>(f: F) -> F::Output {
|
|
From::from(f())
|
|
}
|
|
|
|
fn main() {
|
|
let result = panic::catch_unwind(move || test());
|
|
assert!(result.is_err());
|
|
}
|