summaryrefslogtreecommitdiff
path: root/test/matchexhaust.myr
blob: 908d40dbe41e8b71b91e253315cfe5571c2a1198 (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
34
35
36
37
use std

type u = union
	`Foo (bool, v, bool)
	`Bar (bool, bool)
	`Baz bool
	`Quux
;;

type v = union
	`A
	`B
;;

const main = {
	match `Quux
	| `Foo (true, `A, true):
	| `Foo (true, `A, false):
	| `Foo (true, `B, true):
	| `Foo (true, `B, false):
	| `Foo (false, `A, true):
	| `Foo (false, `A, false):
	| `Foo (false, `B, true):
	| `Foo (false, `B, false):

	| `Bar (false, false):
	| `Bar (false, true):
	| `Bar (true, false):
	| `Bar (true, true):

	| `Baz false:
	| `Baz true:

	| `Quux:
	;;
	std.put("worked\n")
}