summaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2021-06-24 11:17:45 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2021-07-27 17:54:29 +0100
commitca6ebd6c6d83ad793dad8f12fecf7ede926aa397 (patch)
tree4a250e48d2a9bdb60434c386cf546fd3c97461fb /libffi
parente8003e6d0c51f32a41c12f4047405e2355447290 (diff)
downloadhaskell-wip/T20153.tar.gz
Fix a subtle scoping error in simplLazyBindwip/T20153
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 'libffi')
0 files changed, 0 insertions, 0 deletions