ocaml/testsuite/tests/typing-modules-bugs/pr6572_ok.ml

27 lines
455 B
OCaml

(* TEST
flags = " -w a "
* setup-ocamlc.byte-build-env
** ocamlc.byte
*** check-ocamlc.byte-output
*)
module type S = sig
include Set.S
module E : sig val x : int end
end
module Make(O : Set.OrderedType) : S with type elt = O.t =
struct
include Set.Make(O)
module E = struct let x = 1 end
end
module rec A : Set.OrderedType = struct
type t = int
let compare = Stdlib.compare
end
and B : S = struct
module C = Make(A)
include C
end