the code stumbled over recursive functions whose type doesn’t have enough manifest foralls, like: ``` def FunType := Nat → Nat mutual def foo : FunType | .zero => 0 | .succ n => bar n def bar : FunType | .zero => 0 | .succ n => foo n end termination_by foo n => n; bar n => n ``` This can be fixed by using `whnf` in appropriate places, to expose the `.forall` constructor. Fixes #2925, comes with test case. |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||