blob: 3f76d7f7717794db678b960d8306b1ef334f1872 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
(* TEST *)
type t = A|B|C|D
type s =
| G of t
| E of t
| H of t
| F of (unit list * t)
| I of t
let r = ref 0
let set x = r := x
let f x =
match x with
| E B | F ([()], B) -> set 0
| E x | F ([()], x) when Sys.opaque_identity true -> set 1
| E _ -> set 2
| F _ -> set 3
| G _ | H _ | I _ -> set 4
|