244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
-
+
|
LocVarToRef
);
// The rule above is ambiguous with the WrappedArg rule when passing a locvar
// to a wrappedarg param. So we add a disambiguation rule that prioritizes
// turning the locvar into a ref in that case (since typically we don't want to manipulate
// locvars directly, so anything that wants a wrapped value probably wants whatever's in the var)
// 0_locvars directly, so anything that wants a wrapped value probably wants whatever's in the var)
e.typeCheckingRuleSet()->addTypeCheckingRule(
ValueToEIR( ValuePattern(
TSID( param ),
ValueToEIR( BuildWrappedType( ANYTERM( _ ) ) ),
ANYTERM( _ ) ) ),
|