summaryrefslogtreecommitdiff
path: root/dhall/tests/typecheck.rs
blob: b98eaddc11aef37ba98c159664a58db8a595b6eb (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
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
#![feature(custom_inner_attributes)]
#![rustfmt::skip]
mod common;

macro_rules! tc_success {
    ($name:ident, $path:expr) => {
        make_spec_test!(TypecheckSuccess, $name, $path);
    };
}
macro_rules! tc_failure {
    ($name:ident, $path:expr) => {
        make_spec_test!(TypecheckFailure, $name, $path);
    };
}

macro_rules! ti_success {
    ($name:ident, $path:expr) => {
        make_spec_test!(TypeInferenceSuccess, $name, $path);
    };
}
// macro_rules! ti_failure {
//     ($name:ident, $path:expr) => {
//         make_spec_test!(TypeInferenceFailure, $name, $path);
//     };
// }

// tc_success!(spec_typecheck_success_accessEncodedType, "accessEncodedType");
// tc_success!(spec_typecheck_success_accessType, "accessType");
tc_success!(spec_typecheck_success_prelude_Bool_and_0, "prelude/Bool/and/0");
tc_success!(spec_typecheck_success_prelude_Bool_and_1, "prelude/Bool/and/1");
tc_success!(spec_typecheck_success_prelude_Bool_build_0, "prelude/Bool/build/0");
tc_success!(spec_typecheck_success_prelude_Bool_build_1, "prelude/Bool/build/1");
tc_success!(spec_typecheck_success_prelude_Bool_even_0, "prelude/Bool/even/0");
tc_success!(spec_typecheck_success_prelude_Bool_even_1, "prelude/Bool/even/1");
tc_success!(spec_typecheck_success_prelude_Bool_even_2, "prelude/Bool/even/2");
tc_success!(spec_typecheck_success_prelude_Bool_even_3, "prelude/Bool/even/3");
tc_success!(spec_typecheck_success_prelude_Bool_fold_0, "prelude/Bool/fold/0");
tc_success!(spec_typecheck_success_prelude_Bool_fold_1, "prelude/Bool/fold/1");
tc_success!(spec_typecheck_success_prelude_Bool_not_0, "prelude/Bool/not/0");
tc_success!(spec_typecheck_success_prelude_Bool_not_1, "prelude/Bool/not/1");
tc_success!(spec_typecheck_success_prelude_Bool_odd_0, "prelude/Bool/odd/0");
tc_success!(spec_typecheck_success_prelude_Bool_odd_1, "prelude/Bool/odd/1");
tc_success!(spec_typecheck_success_prelude_Bool_odd_2, "prelude/Bool/odd/2");
tc_success!(spec_typecheck_success_prelude_Bool_odd_3, "prelude/Bool/odd/3");
tc_success!(spec_typecheck_success_prelude_Bool_or_0, "prelude/Bool/or/0");
tc_success!(spec_typecheck_success_prelude_Bool_or_1, "prelude/Bool/or/1");
tc_success!(spec_typecheck_success_prelude_Bool_show_0, "prelude/Bool/show/0");
tc_success!(spec_typecheck_success_prelude_Bool_show_1, "prelude/Bool/show/1");
// tc_success!(spec_typecheck_success_prelude_Double_show_0, "prelude/Double/show/0");
// tc_success!(spec_typecheck_success_prelude_Double_show_1, "prelude/Double/show/1");
// tc_success!(spec_typecheck_success_prelude_Integer_show_0, "prelude/Integer/show/0");
// tc_success!(spec_typecheck_success_prelude_Integer_show_1, "prelude/Integer/show/1");
// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_0, "prelude/Integer/toDouble/0");
// tc_success!(spec_typecheck_success_prelude_Integer_toDouble_1, "prelude/Integer/toDouble/1");
tc_success!(spec_typecheck_success_prelude_List_all_0, "prelude/List/all/0");
tc_success!(spec_typecheck_success_prelude_List_all_1, "prelude/List/all/1");
tc_success!(spec_typecheck_success_prelude_List_any_0, "prelude/List/any/0");
tc_success!(spec_typecheck_success_prelude_List_any_1, "prelude/List/any/1");
tc_success!(spec_typecheck_success_prelude_List_build_0, "prelude/List/build/0");
tc_success!(spec_typecheck_success_prelude_List_build_1, "prelude/List/build/1");
tc_success!(spec_typecheck_success_prelude_List_concat_0, "prelude/List/concat/0");
tc_success!(spec_typecheck_success_prelude_List_concat_1, "prelude/List/concat/1");
tc_success!(spec_typecheck_success_prelude_List_concatMap_0, "prelude/List/concatMap/0");
tc_success!(spec_typecheck_success_prelude_List_concatMap_1, "prelude/List/concatMap/1");
tc_success!(spec_typecheck_success_prelude_List_filter_0, "prelude/List/filter/0");
tc_success!(spec_typecheck_success_prelude_List_filter_1, "prelude/List/filter/1");
tc_success!(spec_typecheck_success_prelude_List_fold_0, "prelude/List/fold/0");
tc_success!(spec_typecheck_success_prelude_List_fold_1, "prelude/List/fold/1");
tc_success!(spec_typecheck_success_prelude_List_fold_2, "prelude/List/fold/2");
tc_success!(spec_typecheck_success_prelude_List_generate_0, "prelude/List/generate/0");
tc_success!(spec_typecheck_success_prelude_List_generate_1, "prelude/List/generate/1");
tc_success!(spec_typecheck_success_prelude_List_head_0, "prelude/List/head/0");
tc_success!(spec_typecheck_success_prelude_List_head_1, "prelude/List/head/1");
tc_success!(spec_typecheck_success_prelude_List_indexed_0, "prelude/List/indexed/0");
tc_success!(spec_typecheck_success_prelude_List_indexed_1, "prelude/List/indexed/1");
tc_success!(spec_typecheck_success_prelude_List_iterate_0, "prelude/List/iterate/0");
tc_success!(spec_typecheck_success_prelude_List_iterate_1, "prelude/List/iterate/1");
tc_success!(spec_typecheck_success_prelude_List_last_0, "prelude/List/last/0");
tc_success!(spec_typecheck_success_prelude_List_last_1, "prelude/List/last/1");
tc_success!(spec_typecheck_success_prelude_List_length_0, "prelude/List/length/0");
tc_success!(spec_typecheck_success_prelude_List_length_1, "prelude/List/length/1");
tc_success!(spec_typecheck_success_prelude_List_map_0, "prelude/List/map/0");
tc_success!(spec_typecheck_success_prelude_List_map_1, "prelude/List/map/1");
tc_success!(spec_typecheck_success_prelude_List_null_0, "prelude/List/null/0");
tc_success!(spec_typecheck_success_prelude_List_null_1, "prelude/List/null/1");
tc_success!(spec_typecheck_success_prelude_List_replicate_0, "prelude/List/replicate/0");
tc_success!(spec_typecheck_success_prelude_List_replicate_1, "prelude/List/replicate/1");
tc_success!(spec_typecheck_success_prelude_List_reverse_0, "prelude/List/reverse/0");
tc_success!(spec_typecheck_success_prelude_List_reverse_1, "prelude/List/reverse/1");
tc_success!(spec_typecheck_success_prelude_List_shifted_0, "prelude/List/shifted/0");
tc_success!(spec_typecheck_success_prelude_List_shifted_1, "prelude/List/shifted/1");
tc_success!(spec_typecheck_success_prelude_List_unzip_0, "prelude/List/unzip/0");
tc_success!(spec_typecheck_success_prelude_List_unzip_1, "prelude/List/unzip/1");
tc_success!(spec_typecheck_success_prelude_Monoid_00, "prelude/Monoid/00");
tc_success!(spec_typecheck_success_prelude_Monoid_01, "prelude/Monoid/01");
tc_success!(spec_typecheck_success_prelude_Monoid_02, "prelude/Monoid/02");
tc_success!(spec_typecheck_success_prelude_Monoid_03, "prelude/Monoid/03");
tc_success!(spec_typecheck_success_prelude_Monoid_04, "prelude/Monoid/04");
tc_success!(spec_typecheck_success_prelude_Monoid_05, "prelude/Monoid/05");
tc_success!(spec_typecheck_success_prelude_Monoid_06, "prelude/Monoid/06");
tc_success!(spec_typecheck_success_prelude_Monoid_07, "prelude/Monoid/07");
tc_success!(spec_typecheck_success_prelude_Monoid_08, "prelude/Monoid/08");
tc_success!(spec_typecheck_success_prelude_Monoid_09, "prelude/Monoid/09");
tc_success!(spec_typecheck_success_prelude_Monoid_10, "prelude/Monoid/10");
tc_success!(spec_typecheck_success_prelude_Natural_build_0, "prelude/Natural/build/0");
tc_success!(spec_typecheck_success_prelude_Natural_build_1, "prelude/Natural/build/1");
tc_success!(spec_typecheck_success_prelude_Natural_enumerate_0, "prelude/Natural/enumerate/0");
tc_success!(spec_typecheck_success_prelude_Natural_enumerate_1, "prelude/Natural/enumerate/1");
tc_success!(spec_typecheck_success_prelude_Natural_even_0, "prelude/Natural/even/0");
tc_success!(spec_typecheck_success_prelude_Natural_even_1, "prelude/Natural/even/1");
tc_success!(spec_typecheck_success_prelude_Natural_fold_0, "prelude/Natural/fold/0");
tc_success!(spec_typecheck_success_prelude_Natural_fold_1, "prelude/Natural/fold/1");
tc_success!(spec_typecheck_success_prelude_Natural_fold_2, "prelude/Natural/fold/2");
tc_success!(spec_typecheck_success_prelude_Natural_isZero_0, "prelude/Natural/isZero/0");
tc_success!(spec_typecheck_success_prelude_Natural_isZero_1, "prelude/Natural/isZero/1");
tc_success!(spec_typecheck_success_prelude_Natural_odd_0, "prelude/Natural/odd/0");
tc_success!(spec_typecheck_success_prelude_Natural_odd_1, "prelude/Natural/odd/1");
tc_success!(spec_typecheck_success_prelude_Natural_product_0, "prelude/Natural/product/0");
tc_success!(spec_typecheck_success_prelude_Natural_product_1, "prelude/Natural/product/1");
// tc_success!(spec_typecheck_success_prelude_Natural_show_0, "prelude/Natural/show/0");
// tc_success!(spec_typecheck_success_prelude_Natural_show_1, "prelude/Natural/show/1");
tc_success!(spec_typecheck_success_prelude_Natural_sum_0, "prelude/Natural/sum/0");
tc_success!(spec_typecheck_success_prelude_Natural_sum_1, "prelude/Natural/sum/1");
// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_0, "prelude/Natural/toDouble/0");
// tc_success!(spec_typecheck_success_prelude_Natural_toDouble_1, "prelude/Natural/toDouble/1");
// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_0, "prelude/Natural/toInteger/0");
// tc_success!(spec_typecheck_success_prelude_Natural_toInteger_1, "prelude/Natural/toInteger/1");
tc_success!(spec_typecheck_success_prelude_Optional_all_0, "prelude/Optional/all/0");
tc_success!(spec_typecheck_success_prelude_Optional_all_1, "prelude/Optional/all/1");
tc_success!(spec_typecheck_success_prelude_Optional_any_0, "prelude/Optional/any/0");
tc_success!(spec_typecheck_success_prelude_Optional_any_1, "prelude/Optional/any/1");
// tc_success!(spec_typecheck_success_prelude_Optional_build_0, "prelude/Optional/build/0");
// tc_success!(spec_typecheck_success_prelude_Optional_build_1, "prelude/Optional/build/1");
tc_success!(spec_typecheck_success_prelude_Optional_concat_0, "prelude/Optional/concat/0");
tc_success!(spec_typecheck_success_prelude_Optional_concat_1, "prelude/Optional/concat/1");
tc_success!(spec_typecheck_success_prelude_Optional_concat_2, "prelude/Optional/concat/2");
// tc_success!(spec_typecheck_success_prelude_Optional_filter_0, "prelude/Optional/filter/0");
// tc_success!(spec_typecheck_success_prelude_Optional_filter_1, "prelude/Optional/filter/1");
tc_success!(spec_typecheck_success_prelude_Optional_fold_0, "prelude/Optional/fold/0");
tc_success!(spec_typecheck_success_prelude_Optional_fold_1, "prelude/Optional/fold/1");
tc_success!(spec_typecheck_success_prelude_Optional_head_0, "prelude/Optional/head/0");
tc_success!(spec_typecheck_success_prelude_Optional_head_1, "prelude/Optional/head/1");
tc_success!(spec_typecheck_success_prelude_Optional_head_2, "prelude/Optional/head/2");
tc_success!(spec_typecheck_success_prelude_Optional_last_0, "prelude/Optional/last/0");
tc_success!(spec_typecheck_success_prelude_Optional_last_1, "prelude/Optional/last/1");
tc_success!(spec_typecheck_success_prelude_Optional_last_2, "prelude/Optional/last/2");
tc_success!(spec_typecheck_success_prelude_Optional_length_0, "prelude/Optional/length/0");
tc_success!(spec_typecheck_success_prelude_Optional_length_1, "prelude/Optional/length/1");
tc_success!(spec_typecheck_success_prelude_Optional_map_0, "prelude/Optional/map/0");
tc_success!(spec_typecheck_success_prelude_Optional_map_1, "prelude/Optional/map/1");
tc_success!(spec_typecheck_success_prelude_Optional_null_0, "prelude/Optional/null/0");
tc_success!(spec_typecheck_success_prelude_Optional_null_1, "prelude/Optional/null/1");
tc_success!(spec_typecheck_success_prelude_Optional_toList_0, "prelude/Optional/toList/0");
tc_success!(spec_typecheck_success_prelude_Optional_toList_1, "prelude/Optional/toList/1");
tc_success!(spec_typecheck_success_prelude_Optional_unzip_0, "prelude/Optional/unzip/0");
tc_success!(spec_typecheck_success_prelude_Optional_unzip_1, "prelude/Optional/unzip/1");
tc_success!(spec_typecheck_success_prelude_Text_concat_0, "prelude/Text/concat/0");
tc_success!(spec_typecheck_success_prelude_Text_concat_1, "prelude/Text/concat/1");
tc_success!(spec_typecheck_success_prelude_Text_concatMap_0, "prelude/Text/concatMap/0");
tc_success!(spec_typecheck_success_prelude_Text_concatMap_1, "prelude/Text/concatMap/1");
// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_0, "prelude/Text/concatMapSep/0");
// tc_success!(spec_typecheck_success_prelude_Text_concatMapSep_1, "prelude/Text/concatMapSep/1");
// tc_success!(spec_typecheck_success_prelude_Text_concatSep_0, "prelude/Text/concatSep/0");
// tc_success!(spec_typecheck_success_prelude_Text_concatSep_1, "prelude/Text/concatSep/1");
// tc_success!(spec_typecheck_success_recordOfRecordOfTypes, "recordOfRecordOfTypes");
// tc_success!(spec_typecheck_success_recordOfTypes, "recordOfTypes");
// tc_success!(spec_typecheck_success_simple_access_0, "simple/access/0");
// tc_success!(spec_typecheck_success_simple_access_1, "simple/access/1");
// tc_success!(spec_typecheck_success_simple_alternativesAreTypes, "simple/alternativesAreTypes");
// tc_success!(spec_typecheck_success_simple_anonymousFunctionsInTypes, "simple/anonymousFunctionsInTypes");
// tc_success!(spec_typecheck_success_simple_fieldsAreTypes, "simple/fieldsAreTypes");
// tc_success!(spec_typecheck_success_simple_kindParameter, "simple/kindParameter");
// tc_success!(spec_typecheck_success_simple_mergeEquivalence, "simple/mergeEquivalence");
// tc_success!(spec_typecheck_success_simple_mixedFieldAccess, "simple/mixedFieldAccess");
// tc_success!(spec_typecheck_success_simple_unionsOfTypes, "simple/unionsOfTypes");

// tc_failure!(spec_typecheck_failure_combineMixedRecords, "combineMixedRecords");
// tc_failure!(spec_typecheck_failure_duplicateFields, "duplicateFields");
tc_failure!(spec_typecheck_failure_hurkensParadox, "hurkensParadox");

// ti_success!(spec_typeinference_success_simple_alternativesAreTypes, "simple/alternativesAreTypes");
// ti_success!(spec_typeinference_success_simple_kindParameter, "simple/kindParameter");
ti_success!(spec_typeinference_success_unit_Bool, "unit/Bool");
ti_success!(spec_typeinference_success_unit_Double, "unit/Double");
ti_success!(spec_typeinference_success_unit_DoubleLiteral, "unit/DoubleLiteral");
// ti_success!(spec_typeinference_success_unit_DoubleShow, "unit/DoubleShow");
ti_success!(spec_typeinference_success_unit_False, "unit/False");
ti_success!(spec_typeinference_success_unit_Function, "unit/Function");
ti_success!(spec_typeinference_success_unit_FunctionApplication, "unit/FunctionApplication");
ti_success!(spec_typeinference_success_unit_FunctionNamedArg, "unit/FunctionNamedArg");
// ti_success!(spec_typeinference_success_unit_FunctionTypeKindKind, "unit/FunctionTypeKindKind");
// ti_success!(spec_typeinference_success_unit_FunctionTypeKindTerm, "unit/FunctionTypeKindTerm");
// ti_success!(spec_typeinference_success_unit_FunctionTypeKindType, "unit/FunctionTypeKindType");
ti_success!(spec_typeinference_success_unit_FunctionTypeTermTerm, "unit/FunctionTypeTermTerm");
ti_success!(spec_typeinference_success_unit_FunctionTypeTypeTerm, "unit/FunctionTypeTypeTerm");
ti_success!(spec_typeinference_success_unit_FunctionTypeTypeType, "unit/FunctionTypeTypeType");
ti_success!(spec_typeinference_success_unit_FunctionTypeUsingArgument, "unit/FunctionTypeUsingArgument");
ti_success!(spec_typeinference_success_unit_If, "unit/If");
ti_success!(spec_typeinference_success_unit_IfNormalizeArguments, "unit/IfNormalizeArguments");
ti_success!(spec_typeinference_success_unit_Integer, "unit/Integer");
ti_success!(spec_typeinference_success_unit_IntegerLiteral, "unit/IntegerLiteral");
// ti_success!(spec_typeinference_success_unit_IntegerShow, "unit/IntegerShow");
// ti_success!(spec_typeinference_success_unit_IntegerToDouble, "unit/IntegerToDouble");
// ti_success!(spec_typeinference_success_unit_Kind, "unit/Kind");
ti_success!(spec_typeinference_success_unit_Let, "unit/Let");
// ti_success!(spec_typeinference_success_unit_LetNestedTypeSynonym, "unit/LetNestedTypeSynonym");
// ti_success!(spec_typeinference_success_unit_LetTypeSynonym, "unit/LetTypeSynonym");
ti_success!(spec_typeinference_success_unit_LetWithAnnotation, "unit/LetWithAnnotation");
ti_success!(spec_typeinference_success_unit_List, "unit/List");
ti_success!(spec_typeinference_success_unit_ListBuild, "unit/ListBuild");
ti_success!(spec_typeinference_success_unit_ListFold, "unit/ListFold");
ti_success!(spec_typeinference_success_unit_ListHead, "unit/ListHead");
ti_success!(spec_typeinference_success_unit_ListIndexed, "unit/ListIndexed");
ti_success!(spec_typeinference_success_unit_ListLast, "unit/ListLast");
ti_success!(spec_typeinference_success_unit_ListLength, "unit/ListLength");
ti_success!(spec_typeinference_success_unit_ListLiteralEmpty, "unit/ListLiteralEmpty");
ti_success!(spec_typeinference_success_unit_ListLiteralNormalizeArguments, "unit/ListLiteralNormalizeArguments");
ti_success!(spec_typeinference_success_unit_ListLiteralOne, "unit/ListLiteralOne");
ti_success!(spec_typeinference_success_unit_ListReverse, "unit/ListReverse");
// ti_success!(spec_typeinference_success_unit_MergeEmptyUnion, "unit/MergeEmptyUnion");
// ti_success!(spec_typeinference_success_unit_MergeOne, "unit/MergeOne");
// ti_success!(spec_typeinference_success_unit_MergeOneWithAnnotation, "unit/MergeOneWithAnnotation");
ti_success!(spec_typeinference_success_unit_Natural, "unit/Natural");
ti_success!(spec_typeinference_success_unit_NaturalBuild, "unit/NaturalBuild");
ti_success!(spec_typeinference_success_unit_NaturalEven, "unit/NaturalEven");
ti_success!(spec_typeinference_success_unit_NaturalFold, "unit/NaturalFold");
ti_success!(spec_typeinference_success_unit_NaturalIsZero, "unit/NaturalIsZero");
ti_success!(spec_typeinference_success_unit_NaturalLiteral, "unit/NaturalLiteral");
ti_success!(spec_typeinference_success_unit_NaturalOdd, "unit/NaturalOdd");
// ti_success!(spec_typeinference_success_unit_NaturalShow, "unit/NaturalShow");
// ti_success!(spec_typeinference_success_unit_NaturalToInteger, "unit/NaturalToInteger");
// ti_success!(spec_typeinference_success_unit_None, "unit/None");
ti_success!(spec_typeinference_success_unit_OldOptionalNone, "unit/OldOptionalNone");
// ti_success!(spec_typeinference_success_unit_OldOptionalTrue, "unit/OldOptionalTrue");
ti_success!(spec_typeinference_success_unit_OperatorAnd, "unit/OperatorAnd");
ti_success!(spec_typeinference_success_unit_OperatorAndNormalizeArguments, "unit/OperatorAndNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorEqual, "unit/OperatorEqual");
ti_success!(spec_typeinference_success_unit_OperatorEqualNormalizeArguments, "unit/OperatorEqualNormalizeArguments");
// ti_success!(spec_typeinference_success_unit_OperatorListConcatenate, "unit/OperatorListConcatenate");
// ti_success!(spec_typeinference_success_unit_OperatorListConcatenateNormalizeArguments, "unit/OperatorListConcatenateNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorNotEqual, "unit/OperatorNotEqual");
ti_success!(spec_typeinference_success_unit_OperatorNotEqualNormalizeArguments, "unit/OperatorNotEqualNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorOr, "unit/OperatorOr");
ti_success!(spec_typeinference_success_unit_OperatorOrNormalizeArguments, "unit/OperatorOrNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorPlus, "unit/OperatorPlus");
ti_success!(spec_typeinference_success_unit_OperatorPlusNormalizeArguments, "unit/OperatorPlusNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorTextConcatenate, "unit/OperatorTextConcatenate");
ti_success!(spec_typeinference_success_unit_OperatorTextConcatenateNormalizeArguments, "unit/OperatorTextConcatenateNormalizeArguments");
ti_success!(spec_typeinference_success_unit_OperatorTimes, "unit/OperatorTimes");
ti_success!(spec_typeinference_success_unit_OperatorTimesNormalizeArguments, "unit/OperatorTimesNormalizeArguments");
ti_success!(spec_typeinference_success_unit_Optional, "unit/Optional");
// ti_success!(spec_typeinference_success_unit_OptionalBuild, "unit/OptionalBuild");
ti_success!(spec_typeinference_success_unit_OptionalFold, "unit/OptionalFold");
ti_success!(spec_typeinference_success_unit_RecordEmpty, "unit/RecordEmpty");
// ti_success!(spec_typeinference_success_unit_RecordOneKind, "unit/RecordOneKind");
// ti_success!(spec_typeinference_success_unit_RecordOneType, "unit/RecordOneType");
ti_success!(spec_typeinference_success_unit_RecordOneValue, "unit/RecordOneValue");
// ti_success!(spec_typeinference_success_unit_RecordProjectionEmpty, "unit/RecordProjectionEmpty");
// ti_success!(spec_typeinference_success_unit_RecordProjectionKind, "unit/RecordProjectionKind");
// ti_success!(spec_typeinference_success_unit_RecordProjectionType, "unit/RecordProjectionType");
// ti_success!(spec_typeinference_success_unit_RecordProjectionValue, "unit/RecordProjectionValue");
// ti_success!(spec_typeinference_success_unit_RecordSelectionKind, "unit/RecordSelectionKind");
// ti_success!(spec_typeinference_success_unit_RecordSelectionType, "unit/RecordSelectionType");
ti_success!(spec_typeinference_success_unit_RecordSelectionValue, "unit/RecordSelectionValue");
ti_success!(spec_typeinference_success_unit_RecordType, "unit/RecordType");
ti_success!(spec_typeinference_success_unit_RecordTypeEmpty, "unit/RecordTypeEmpty");
// ti_success!(spec_typeinference_success_unit_RecordTypeKind, "unit/RecordTypeKind");
// ti_success!(spec_typeinference_success_unit_RecordTypeType, "unit/RecordTypeType");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeLhsEmpty, "unit/RecursiveRecordMergeLhsEmpty");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeRecursively, "unit/RecursiveRecordMergeRecursively");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeRecursivelyTypes, "unit/RecursiveRecordMergeRecursivelyTypes");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeRhsEmpty, "unit/RecursiveRecordMergeRhsEmpty");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeTwo, "unit/RecursiveRecordMergeTwo");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeTwoKinds, "unit/RecursiveRecordMergeTwoKinds");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordMergeTwoTypes, "unit/RecursiveRecordMergeTwoTypes");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeRecursively, "unit/RecursiveRecordTypeMergeRecursively");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeRecursivelyTypes, "unit/RecursiveRecordTypeMergeRecursivelyTypes");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeRhsEmpty, "unit/RecursiveRecordTypeMergeRhsEmpty");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeTwo, "unit/RecursiveRecordTypeMergeTwo");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeTwoKinds, "unit/RecursiveRecordTypeMergeTwoKinds");
// ti_success!(spec_typeinference_success_unit_RecursiveRecordTypeMergeTwoTypes, "unit/RecursiveRecordTypeMergeTwoTypes");
// ti_success!(spec_typeinference_success_unit_RightBiasedRecordMergeRhsEmpty, "unit/RightBiasedRecordMergeRhsEmpty");
// ti_success!(spec_typeinference_success_unit_RightBiasedRecordMergeTwo, "unit/RightBiasedRecordMergeTwo");
// ti_success!(spec_typeinference_success_unit_RightBiasedRecordMergeTwoDifferent, "unit/RightBiasedRecordMergeTwoDifferent");
// ti_success!(spec_typeinference_success_unit_RightBiasedRecordMergeTwoKinds, "unit/RightBiasedRecordMergeTwoKinds");
// ti_success!(spec_typeinference_success_unit_RightBiasedRecordMergeTwoTypes, "unit/RightBiasedRecordMergeTwoTypes");
ti_success!(spec_typeinference_success_unit_SomeTrue, "unit/SomeTrue");
ti_success!(spec_typeinference_success_unit_Text, "unit/Text");
ti_success!(spec_typeinference_success_unit_TextLiteral, "unit/TextLiteral");
ti_success!(spec_typeinference_success_unit_TextLiteralNormalizeArguments, "unit/TextLiteralNormalizeArguments");
ti_success!(spec_typeinference_success_unit_TextLiteralWithInterpolation, "unit/TextLiteralWithInterpolation");
// ti_success!(spec_typeinference_success_unit_TextShow, "unit/TextShow");
ti_success!(spec_typeinference_success_unit_True, "unit/True");
ti_success!(spec_typeinference_success_unit_Type, "unit/Type");
ti_success!(spec_typeinference_success_unit_TypeAnnotation, "unit/TypeAnnotation");
// ti_success!(spec_typeinference_success_unit_UnionConstructorField, "unit/UnionConstructorField");
// ti_success!(spec_typeinference_success_unit_UnionOne, "unit/UnionOne");
// ti_success!(spec_typeinference_success_unit_UnionTypeEmpty, "unit/UnionTypeEmpty");
// ti_success!(spec_typeinference_success_unit_UnionTypeKind, "unit/UnionTypeKind");
// ti_success!(spec_typeinference_success_unit_UnionTypeOne, "unit/UnionTypeOne");
// ti_success!(spec_typeinference_success_unit_UnionTypeType, "unit/UnionTypeType");