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
1 line
21 B
Text
1 line
21 B
Text
[CONST(1), APP, APP]
|