-
Notifications
You must be signed in to change notification settings - Fork 46
/
tests.json
115 lines (114 loc) · 8.43 KB
/
tests.json
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[
["proper_subtype", "int", ["|", "int", "nil"]],
["proper_subtype", ["tuple", "int"], ["tuple", ["|", "int", "nil"]]],
["equivalent", "int", ["|", "int", "int"]],
["incomparable", ["tuple", "int"], ["tuple", "int", "int"]],
["proper_subtype", ["rec", "x", ["tuple", "int", [ "|", "nil", ["ref", "x"]]]],
["rec", "x", ["tuple", ["|", "int", "nil"], [ "|", "nil", ["ref", "x"]]]]],
["proper_subtype", ["function", "int", "nil"], ["function", "int", ["|", "string", "nil"]]],
["proper_subtype", ["function", ["|", "int", "nil"], "nil"], ["function", "int", ["|", "string", "nil"]]],
["proper_subtype", "never", "int"],
["proper_subtype", "never", ["function", "int", "nil"]],
["equivalent", ["rec", "x", ["tuple", "int", ["|", "nil", ["tuple", "int", ["|", "nil", ["ref", "x"]]]]]],
["rec", "x", ["tuple", "int", ["|", "nil", ["ref", "x"]]]]],
["incomparable", "int", "string"],
["incomparable", ["tuple", "int", "string"], ["tuple", "string", "int"]],
["proper_subtype", ["string", "xyzzy"], "string"],
["proper_subtype", ["string", "xyzzy"], ["|", ["string", "xyzzy"], ["string", "abcdef"]]],
["equivalent", "string", ["|", "never", ["string", "xyzzy"], "string"]],
["equivalent", ["string", "xyzzy"], ["&", ["string", "xyzzy"], "string"]],
["incomparable", ["string", "xyz"], ["string", "def"]],
["equivalent", ["int", "42"], ["|", ["int", 42], ["int", 42]]],
["proper_subtype", ["int", 17], "int"],
["proper_subtype", ["int", 42], ["|", ["int", 42], ["int", 17]]],
["equivalent", "string", ["|", "never", ["string", "xyzzy"], "string"]],
["equivalent", ["int", -1], ["&", ["int", -1], "int"]],
["incomparable", ["int", 0], ["int", 1]],
["equivalent", ["int", 0], ["|", ["int", "-0"], ["int", "0"]]],
["proper_subtype", ["record", ["x", "int"], ["y", "int"]],
["record", ["x", "int"], ["y", ["|", "int", "nil"]]]],
["incomparable", ["record", ["xyz", "int"]], ["record", ["def", "int"]]],
["proper_subtype", ["&", "readonly", ["record", ["x", "int"]]], ["record", ["x", "int"]]],
["equivalent", ["&", "readonly", "int"], "int"],
["proper_subtype", ["tuple", "int", ["record", ["x", "int"], ["y", ["tuple", "string", "nil"]]]],
["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json"]], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]]],
["proper_subtype", ["record", ["x", "int"], ["y", ["record", ["x", "int"], ["y", "string"]]]],
["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json"]], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]]],
["proper_subtype", ["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], "int"], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]],
["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json"]], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]]],
["incomparable", ["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], "int"], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]],
["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json"]], ["record", ["x", "int"], ["y", ["ref", "json"]]]]]],
["equivalent", ["rec", "json", ["|", ["tuple", ["rec", "json2", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json2"]], ["record", ["x", ["ref", "json2"]], ["y", ["ref", "json"]]]]],
["ref", "json"]],
["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]],
"nil", "int", "string"]],
["rec", "json", ["|", "nil", "int", "string", ["tuple", ["ref", "json"], ["ref", "json"]], ["record", ["x", ["ref", "json"]], ["y", ["ref", "json"]]]]]],
["equivalent", ["&", ["tuple", "int"], ["tuple", "int", "int"]], "never"],
["proper_subtype", ["list", "int"], ["list", ["|", "int", "nil"]]],
["proper_subtype", ["list", "int", "int"], ["list", "int"]],
["equivalent", ["list", "int"], ["|", ["tuple"], ["tuple", "int"], ["list", "int", "int", "int"]]],
["proper_subtype", ["rec", "t", ["|", ["string", "nil"],
["string", "int"],
["string", "string"],
["list", ["string", "list"], ["ref", "t"]],
["list", ["string", "record"], ["list", "string", ["ref", "t"]]]]],
["rec", "s", ["|", "string", [ "list", ["ref", "s"]]]]],
["proper_subtype", "float", "readonly"],
["proper_subtype", "float", "any"],
["incomparable", "float", ["|", "nil", "int", "decimal", "string"]],
["proper_subtype", "decimal", "readonly"],
["proper_subtype", "decimal", "any"],
["incomparable", "decimal", ["|", "nil", "int", "float", "string"]],
["incomparable", "any", "error"],
["proper_subtype", "error", "readonly"],
["proper_subtype", ["rec", "f", ["function", ["ref", "f"]]], ["function", "any"]],
["proper_subtype", ["record", ["y", "string"], ["x", "string"]], ["map", "string"]],
["proper_subtype", ["record", ["y", "string"], ["x", "string"], ["z", "string"]], ["map", "string", ["y", "string"], ["x", "string"]]],
["proper_subtype", ["map", "string"], "json"],
["equivalent", "json", ["rec", "j", ["|", "nil", "boolean", "int", "float", "decimal", "string",
["map", ["ref", "j"]],
["list", ["ref", "j"]]]]],
["proper_subtype", ["rec", "ll", ["record", ["value", "int"], ["next", ["|", "nil", ["ref", "ll"]]]]],
"json"],
["equivalent", ["&", ["map", "int"], ["map", "string"]], ["record"]],
["proper_subtype", ["map", "json", ["x", "float"], ["y", "float"]], ["map", "json", ["y", "float"]]],
["proper_subtype", ["map", "json", ["x", "float"], ["y", "float"]], ["map", "any", ["y", "float"]]],
["incomparable", ["map", "any", ["x", "float"], ["y", "float"]], ["map", "json", ["y", "float"]]],
["incomparable", ["map", "json", ["x", "float"], ["y", "handle"]], ["map", "json", ["y", "float"]]],
["equivalent", "uint8", "byte"],
["proper_subtype", "int32", "int"],
["proper_subtype", "int16", "int32"],
["proper_subtype", "int8", "int16"],
["proper_subtype", "uint16", "uint32"],
["proper_subtype", "uint8", "uint16"],
["proper_subtype", "uint16", "uint32"],
["incomparable", "int16", "uint16"],
["incomparable", "int32", "uint32"],
["proper_subtype", ["int", 255], "uint8"],
["incomparable", ["int", 256], "uint8"],
["proper_subtype", ["int", 256], "uint16"],
["proper_subtype", true, "boolean"],
["proper_subtype", false, "boolean"],
["incomparable", false, true],
["equivalent", ["|", true, false], "boolean"],
["proper_subtype", ["error", ["record", ["e", "error"]]], "error"],
["equivalent", ["&", "readonly", ["map", ["|", "any", "error"]]], ["&", "readonly", ["map", "readonly"]]],
["equivalent", ["&", "readonly", ["list", ["|", "any", "error"]]], ["&", "readonly", ["list", "readonly"]]],
["proper_subtype", ["&", "readonly", ["list", "readonly"]], ["list", ["|", "any", "error"]]],
["proper_subtype", ["&", "readonly", ["list", "readonly"]], ["|", "any", "error"]],
["proper_subtype", ["list", "readonly"], ["|", "any", "error"]],
["equivalent", ["|", ["&", "readonly", ["string", "a"]], ["&", "readonly", ["string", "b"]]],
["&", "readonly", ["|", ["string", "a"], ["string", "b"]]]],
["proper_subtype", ["float", "0.0"], "float"],
["proper_subtype", ["float", "NaN"], "float"],
["proper_subtype", ["float", "Infinity"], "float"],
["equivalent", ["float", "42.0"], ["float", "42.0"]],
["equivalent", ["float", "0.0"], ["float", "-0.0"]],
["equivalent", ["|", ["float", "0.0"], ["float", "-0.0"]], ["float", "0.0"]],
["incomparable", ["float", "Infinity"], ["float", "-Infinity"]],
["incomparable", ["float", "NaN"], ["float", "1"]],
["equivalent", ["float", "NaN"], ["float", "NaN"]],
["equivalent", ["float", "-NaN"], ["float", "NaN"]],
["equivalent", ["&", ["float", "1.0"], "float"], ["float", "1.0"]],
["equivalent", ["&", "readonly", ["float", "42.0"]], ["float", "42.0"]]
]