blob: 0ad18c98a0a84ed8728be6943d5378f81f95a7df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
(* TEST
expect;
*)
module M = struct end
module type S = sig
module Alias = M
type t
end
module type T = S with type t = int
let h x = (x : (module S with type t = int) :> (module T))
;;
[%%expect {|
module M : sig end
module type S = sig module Alias = M type t end
module type T = sig module Alias = M type t = int end
val h : (module S with type t = int) -> (module T) = <fun>
|}]
|