diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2021-05-16 18:25:14 +0200 |
---|---|---|
committer | Sebastian Graf <sebastian.graf@kit.edu> | 2021-06-02 13:13:15 +0200 |
commit | 4af1a91b13d5493036cabc3d755143e1bfe3effa (patch) | |
tree | b175dc6c546a41d1e962b721c1e0804e263e620a /libraries/ghc-compact | |
parent | 6db8a0f76ec45d47060e28bb303e9eef60bdb16b (diff) | |
download | haskell-wip/T19853.tar.gz |
WW: Mark absent errors as diverging againwip/T19853
As the now historic part of `NOTE [aBSENT_ERROR_ID]` explains, we used to have
`exprIsHNF` respond True to `absentError` and give it a non-bottoming demand
signature, in order to perform case-to-let on certain `case`s we used to emit
that scrutinised `absentError` (Urgh).
What changed, why don't we emit these questionable absent errors anymore?
The absent errors in question filled in for binders that would end up in
strict fields after being seq'd. Apparently, the old strictness analyser would
give these binders an absent demand, but today we give them head-strict demand
`1A` and thus don't replace with absent errors at all.
This fixes items (1) and (2) of #19853.
Diffstat (limited to 'libraries/ghc-compact')
0 files changed, 0 insertions, 0 deletions