Example new output: ```text failed to compile 'partial' definition 'checkMyList', could not prove that the type ListNode → Bool × ListNode is nonempty. This process uses multiple strategies: - It looks for a parameter that matches the return type. - It tries synthesizing 'Inhabited' and 'Nonempty' instances for the return type. - It tries unfolding the return type. If the return type is defined using the 'structure' or 'inductive' command, you can try adding a 'deriving Nonempty' clause to it. ``` The inhabitation prover now also unfolds definitions when trying to prove inhabitation. For example, ```lean def T (α : Type) := α × α partial def f (n : Nat) : T Nat := f n ``` Motivated [by Zulip](https://leanprover.zulipchat.com/#narrow/channel/113489-new-members/topic/Why.20return.20type.20of.20partial.20function.20MUST.20.60inhabited.60.3F/near/477905312) |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lean-toolchain | ||