summaryrefslogtreecommitdiff
path: root/testsuite/tests/parser/should_compile/T14189.stderr
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2021-04-14 16:45:17 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-04-15 12:28:18 -0400
commit0a8c14bd5a5438b1d042ad279b8ffff1bc867e7e (patch)
treee4b2afa56c4010704a0da1d4041081c4bfc42881 /testsuite/tests/parser/should_compile/T14189.stderr
parentda92e7288fe9c0e83768b7dd0898bca30b9ff2ce (diff)
downloadhaskell-0a8c14bd5a5438b1d042ad279b8ffff1bc867e7e.tar.gz
Fix handling ze_meta_tv_env in GHC.Tc.Utils.Zonk
As #19668 showed, there was an /asymptotic/ slow-down in zonking in GHC 9.0, exposed in test T9198. The bug was actually present in earlier compilers, but by a fluke didn't actually show up in any of our tests; but adding Quick Look exposed it. The bug was that in zonkTyVarOcc we 1. read the meta-tyvar-env variable 2. looked up the variable in the env 3. found a 'miss' 4. looked in the variable, found `Indirect ty` 5. zonked `ty` 6. update the env *gotten from step 1* to map the variable to its zonked type. The bug is that we thereby threw away all teh work done in step 4. In T9198 that made an enormous, indeed asymptotic difference. The fix is easy: use updTcRef. I commented in `Note [Sharing when zonking to Type]` ------------------------- Metric Decrease: T9198 -------------------------
Diffstat (limited to 'testsuite/tests/parser/should_compile/T14189.stderr')
0 files changed, 0 insertions, 0 deletions