blob: f6043ed443b390b84dbe085a0e32f638a0187da9 (
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>
|}]
|