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
|}]
|