ocaml/test/Moretest/recmod/20ok.ml

31 lines
665 B
OCaml

(* PR 4557 *)
module PR_4557 = struct
module F ( X : Set.OrderedType ) = struct
module rec Mod : sig
module XSet :
sig
type elt = X.t
type t = Set.Make( X ).t
end
module XMap :
sig
type key = X.t
type 'a t = 'a Map.Make(X).t
end
type elt = X.t
type t = XSet.t XMap.t
val compare: t -> t -> int
end
=
struct
module XSet = Set.Make( X )
module XMap = Map.Make( X )
type elt = X.t
type t = XSet.t XMap.t
let compare = (fun x y -> 0)
end
and ModSet : Set.S with type elt = Mod.t = Set.Make( Mod )
end
end