The scope of the expr2ctor cache updates was incorrect. This bug affects code of the form ``` let x := C.cases_on y ...; K[x] ``` when we try to float the `cases_on` application, and the continuation `K[x]` contains another `cases_on` application with major `y`. The new test exposes the bug. This commit also fixes the case where the continuation `K[x]` projects `y`. Fixes #26 |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| ir | ||
| lean | ||
| playground | ||