diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2022-06-02 12:40:41 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-06-09 09:11:43 -0400 |
commit | 56ebf9a5bfc8791c1fa609b960f3c161882540e3 (patch) | |
tree | 992e185150e926dac5946d60d23d9b7b495344e9 /testsuite/tests/rep-poly | |
parent | a1651a3afab9b195440436432385d839abb7d389 (diff) | |
download | haskell-56ebf9a5bfc8791c1fa609b960f3c161882540e3.tar.gz |
Fix a CSE shadowing bug.
We used to process the rhs of non-recursive bindings and their body
using the same env. If we had something like
let x = ... x ...
this caused trouble because the two xs refer to different binders
but we would substitute both for a new binder x2 causing out of scope
errors.
We now simply use two different envs for the rhs and body in cse_bind.
It's all explained in the Note [Separate envs for let rhs and body]
Fixes #21685
Diffstat (limited to 'testsuite/tests/rep-poly')
0 files changed, 0 insertions, 0 deletions