31 lines
665 B
OCaml
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
|