Commit 58e6b04
committed
fix(typecheck): infer Ref<T> kind as arity-1 ctor (#135 slice 10)
effects.affine externs (make_ref/get/set) use Ref<T>, an undeclared
opaque type constructor from the `state` effect. infer_kind hardcodes
known opaque ctors (Array/Option/List/Vec/Cmd arity-1, Result arity-2)
and falls back to KType for the rest, so TApp(Ref,[T]) hit
check_kind_app's 'Too many arguments for kind'. Ref is the direct
analogue of Cmd (Stage-11 opaque effect ctor) — add it to the arity-1
list. effects.affine now compiles resolve->typecheck; 12/19 stdlib
green, zero regression.
Refs #1281 parent ebec5c6 commit 58e6b04
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
311 | 311 | | |
312 | 312 | | |
313 | 313 | | |
314 | | - | |
| 314 | + | |
315 | 315 | | |
316 | 316 | | |
317 | 317 | | |
| |||
0 commit comments