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
|
module Foo = struct end
module type Foo_T = sig end
module type A = sig
type unrelated
type conflicting_type := [ `Contents | `Node ]
module Conflicting_module := Foo
module type Conflicting_module_type := Foo_T
end
module type B = sig
include A
type conflicting_type = Foo
module Conflicting_module = Foo
module type Conflicting_module_type = Foo_T
end
module type C = sig
include B
end
module type Maker = sig
type hash
module Make (Schema : sig end) : C with type unrelated = int
end
|