summaryrefslogtreecommitdiff
path: root/docs/users_guide/conf.py
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2020-04-14 13:58:25 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-05-01 10:38:16 -0400
commitfd7ea0fee92a60f9658254cc4fe3abdb4ff299b1 (patch)
tree5fceecf0ca4885f1dcfa64b437eb20851a975b77 /docs/users_guide/conf.py
parent8b51fcbd67ca17a6dcc2f9e5a29176f836bf11d2 (diff)
downloadhaskell-fd7ea0fee92a60f9658254cc4fe3abdb4ff299b1.tar.gz
PmCheck: Pick up `EvVar`s bound in `HsWrapper`s for long-distance info
`HsWrapper`s introduce evidence bindings through `WpEvLam` which the pattern-match coverage checker should be made aware of. Failing to do so caused #18049, where the resulting impreciseness of imcompleteness warnings seemingly contradicted with `-Winaccessible-code`. The solution is simple: Collect all the evidence binders of an `HsWrapper` and add it to the ambient `Deltas` before desugaring the wrapped expression. But that means we pick up many more evidence bindings, even when they wrap around code without a single pattern match to check! That regressed `T3064` by over 300%, so now we are adding long-distance info lazily through judicious use of `unsafeInterleaveIO`. Fixes #18049.
Diffstat (limited to 'docs/users_guide/conf.py')
0 files changed, 0 insertions, 0 deletions