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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
(* TEST
flags = "-dshape";
expect;
*)
module type Make = functor (I : sig end) -> sig
open I
end
;;
[%%expect{|
{
"Make"[module type] -> <.1>;
}
module type Make = (I : sig end) -> sig end
|}]
module Make (I : sig end) : sig
open I
end = struct end
;;
[%%expect{|
{
"Make"[module] -> Abs<.3>(I, {});
}
module Make : (I : sig end) -> sig end
|}]
module type Make = functor (I : sig end) ->
module type of struct
open I
end
[%%expect{|
{
"Make"[module type] -> <.5>;
}
module type Make = (I : sig end) -> sig end
|}]
|