diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-10-06 15:46:16 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-10-17 22:02:13 -0400 |
commit | 6b3eb06af41b7385737fb3a602acdb95a76d2eba (patch) | |
tree | 2ad6799eb937e2e7e3adb2bf6507ead9df17f1b3 /testsuite/tests/stranal | |
parent | 7eb46a09e2188e64d226b75361b36ab732b5b372 (diff) | |
download | haskell-6b3eb06af41b7385737fb3a602acdb95a76d2eba.tar.gz |
Arity: Record arity types for non-recursive lets
In #18793, we saw a compelling example which requires us to look at
non-recursive let-bindings during arity analysis and unleash their arity
types at use sites.
After the refactoring in the previous patch, the needed change is quite
simple and very local to `arityType`'s defn for non-recurisve `Let`.
Apart from that, we had to get rid of the second item of
`Note [Dealing with bottoms]`, which was entirely a safety measure and
hindered optimistic fixed-point iteration.
Fixes #18793.
The following metric increases are all caused by this commit and a
result of the fact that we just do more work now:
Metric Increase:
T3294
T12545
T12707
Diffstat (limited to 'testsuite/tests/stranal')
-rw-r--r-- | testsuite/tests/stranal/should_compile/T13031.stdout | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/testsuite/tests/stranal/should_compile/T13031.stdout b/testsuite/tests/stranal/should_compile/T13031.stdout index efdbb60fe9..c42eecb616 100644 --- a/testsuite/tests/stranal/should_compile/T13031.stdout +++ b/testsuite/tests/stranal/should_compile/T13031.stdout @@ -1,2 +1,2 @@ hello -[GblId, Arity=1, Unf=OtherCon []] +[GblId, Arity=3, Str=<L,U><L,U><L,U>b, Cpr=b, Unf=OtherCon []] |