(module (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $exnref_=>_exnref (func (param exnref) (result exnref))) (event $e0 (attr 0) (param i32)) (func $exnref_test (; 0 ;) (param $0 exnref) (result exnref) (local.get $0) ) (func $foo (; 1 ;) (nop) ) (func $bar (; 2 ;) (nop) ) (func $eh_test (; 3 ;) (local $exn exnref) (try (throw $e0 (i32.const 0) ) (catch (local.set $exn (exnref.pop) ) (drop (block $l0 (result i32) (rethrow (br_on_exn $l0 $e0 (local.get $exn) ) ) ) ) ) ) (block $l1 (try (br $l1) (catch (br $l1) ) ) ) (try (nop) (catch (drop (exnref.pop) ) ) ) (try (block $block (call $foo) (call $bar) ) (catch (drop (exnref.pop) ) (call $foo) (call $bar) ) ) ) (func $subtype_test (; 4 ;) (try (nop) (catch (drop (exnref.pop) ) (drop (block $l0 (result i32) (rethrow (br_on_exn $l0 $e0 (ref.null) ) ) ) ) ) ) ) )