summaryrefslogtreecommitdiff
path: root/ghc.mk
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2021-06-24 11:17:45 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-07-28 13:19:41 -0400
commit91eb18570fae4e1982e660f6dcb4f7b69de58cf2 (patch)
tree6abd2ce74ac7236ffa9c6432e2534c237f0113ec /ghc.mk
parent299b7436d140a5f43ce75a2a1d022572f23fb3f9 (diff)
downloadhaskell-91eb18570fae4e1982e660f6dcb4f7b69de58cf2.tar.gz
Fix a subtle scoping error in simplLazyBind
In the call to prepareBinding (in simplLazyBind), I had failed to extend the in-scope set with the binders from body_floats1. As as result, when eta-expanding deep inside prepareBinding we made up an eta-binder that shadowed a variable free in body1. Yikes. It's hard to trigger this bug. It showed up when I was working on !5658, and I started using the in-scope set for eta-expansion, rather than taking free variables afresh. But even then it only showed up when compiling a module in Haddock utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs Sadly Haddock is compiled without Core Lint, so we ultimately got a seg-fault. Lint nailed it fast once I realised that it was off. There is some other tiny refactoring in this patch.
Diffstat (limited to 'ghc.mk')
0 files changed, 0 insertions, 0 deletions