Open kubaneko opened 1 month ago
Reproduces on recent master. The impossible is triggered trying to project a field from a constructor application of the wrong type.
What happens (for reasons I don't know) is that we're trying to match the Bᵣ
clause against an application to Uᵣ
and Uₜ₌
. This all takes place in the clause evaluator and runs into this case:
Here the comment (referring to #2964) says that we should keep matching even though Uᵣ
doesn't match Bᵣ
. The problem is that the Σₜ₌
pattern is on an eta-record and thus doesn't block evaluation. Instead we try to project from the value, but in this case it has the wrong type causing the impossible. Cc @jespercockx.
Here the comment (referring to #2964)
N.B.: This issues was closed for 2.6.0 but the regression is in 2.6.2.
The test case is extremely brittle, so I don't think it's accurate to say it's a regression in 2.6.2. I feel quite confident in saying that the problem is the fix of #2964.
Yeah, you are probably right about this, bisection only returns the generic commit:
2f212bf5568a8d408f3b3a8d3cb87a6fa6e6b3a1 is the first bad commit Author: Ulf Norell ulf.norell@gmail.com Date: Thu May 28 09:54:29 2020 +0200
Add --auto-inline and make it off by default
4681
On agda 2.6.4.1 and 2.6.4.3
Throws the error:
The error no longer happens if one adds
{l = suc l}
in theU
case. Like this: