summaryrefslogtreecommitdiff
path: root/libraries/libraries-header.txt
diff options
context:
space:
mode:
authorsheaf <sam.derbyshire@gmail.com>2022-01-24 16:15:39 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-01-26 12:03:01 -0500
commitb55d7db321d78e11b45b5260f1aa46c046d1c05d (patch)
treec822fe564b844287580396cf8ebf47391f2669a6 /libraries/libraries-header.txt
parent6e94ba54c55f947e9ba034d3b387ae94e240f253 (diff)
downloadhaskell-b55d7db321d78e11b45b5260f1aa46c046d1c05d.tar.gz
Ensure that order of instances doesn't matter
The insert_overlapping used in lookupInstEnv used to return different results depending on the order in which instances were processed. The problem was that we could end up discarding an overlapping instance in favour of a more specific non-overlapping instance. This is a problem because, even though we won't choose the less-specific instance for matching, it is still useful for pruning away other instances, because it has the overlapping flag set while the new instance doesn't. In insert_overlapping, we now keep a list of "guard" instances, which are instances which are less-specific that one that matches (and hence which we will discard in the end), but want to keep around solely for the purpose of eliminating other instances. Fixes #20946
Diffstat (limited to 'libraries/libraries-header.txt')
0 files changed, 0 insertions, 0 deletions