1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
(* TEST *)
type t = ..
module M = struct
type t += A
type t += B of int
end
type t += C
type t += D of int * string
let () =
assert (Obj.Extension_constructor.of_val M.A
== [%extension_constructor M.A]);
assert (Obj.Extension_constructor.of_val (M.B 42)
== [%extension_constructor M.B]);
assert (Obj.Extension_constructor.of_val C
== [%extension_constructor C]);
assert (Obj.Extension_constructor.of_val (D (42, ""))
== [%extension_constructor D])
let () = print_endline "OK"
|