summaryrefslogtreecommitdiff
path: root/compiler/Unique.h
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2022-06-02 12:40:41 +0200
committerMatthew Pickering <matthewtpickering@gmail.com>2022-06-15 17:29:06 +0100
commit209021ca699245c7cf3219e422b42164d55adb81 (patch)
tree7d07e9c19952509656e8db6b65e08761ada8a926 /compiler/Unique.h
parentcbed7afa71fe73196b6ea333ca57895adc055e4b (diff)
downloadhaskell-209021ca699245c7cf3219e422b42164d55adb81.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 (cherry picked from commit 56ebf9a5bfc8791c1fa609b960f3c161882540e3)
Diffstat (limited to 'compiler/Unique.h')
0 files changed, 0 insertions, 0 deletions