1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
open Effect
open Effect.Deep
type _ Effect.t += Dummy : unit t
let must_raise () =
try_with
(fun () ->
Jsoo_runtime.Effect.assume_no_perform (fun () ->
(* Should raise [Effect.Unhandled] despite the installed handler *)
perform Dummy))
()
{ effc =
(fun (type a) (e : a Effect.t) ->
match e with
| Dummy -> Some (fun (k : (a, _) continuation) -> continue k ())
| _ -> None)
}
let () =
try
must_raise ();
print_endline "failed";
exit 2
with Effect.Unhandled Dummy -> print_endline "ok"
|