diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-06-04 11:25:50 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-07 10:49:30 -0400 |
commit | f1bfb806683b3092fc5ead84e7ecff928c55fbc4 (patch) | |
tree | cf6c73995ceb1d4cc7c5d9807a687d07e471d40d /testsuite | |
parent | 4a158ffc4e0ac250897aefaf6caf03eb5f688182 (diff) | |
download | haskell-f1bfb806683b3092fc5ead84e7ecff928c55fbc4.tar.gz |
OccurAnal: Avoid exponential behavior due to where clauses
Previously the `Var` case of `occAnalApp` could in some cases (namely
in the case of `runRW#` applications) call `occAnalRhs` two. In the case
of nested `runRW#`s this results in exponential complexity. In some
cases the compilation time that resulted would be very long indeed
(see #18296).
Fixes #18296.
Metric Decrease:
T9961
T12150
T12234
Diffstat (limited to 'testsuite')
0 files changed, 0 insertions, 0 deletions