summaryrefslogtreecommitdiff
path: root/testsuite/tests/typing-misc/pr6634.ml
blob: e96126cfcb3302ca33877a30f278929fca2867f3 (plain)
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
(* TEST
   * expect
 *)

type t = int
module M : sig type t end with type t = [`T of t] =
struct
  type t = [`T of t]
end;;

[%%expect{|
type t = int
Lines 3-5, characters 0-3:
3 | struct
4 |   type t = [`T of t]
5 | end..
Error: Signature mismatch:
       Modules do not match:
         sig type t = [ `T of t ] end
       is not included in
         sig type t = [ `T of t/2 ] end
       Type declarations do not match:
         type t = [ `T of t ]
       is not included in
         type t = [ `T of t/3 ]
       The type [ `T of t ] is not equal to the type [ `T of t/2 ]
       Type t = [ `T of t ] is not equal to type t/2 = int
       Types for tag `T are incompatible
       Line 4, characters 2-20:
         Definition of type t
       Line 1, characters 0-12:
         Definition of type t/2
|}]