diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-01-15 17:15:58 +0100 |
---|---|---|
committer | Sebastian Graf <sebastian.graf@kit.edu> | 2020-01-16 12:24:32 +0100 |
commit | 2a6a553fe8dae26ee3c55b592914a1e78b5ead45 (patch) | |
tree | 7c1fcad125b9d60cf9749fd7719e5377068072ea /compiler/utils | |
parent | b41a2496cd2329a83b6d8e051b16e06359ecef34 (diff) | |
download | haskell-wip/pmcheck-clausetree.tar.gz |
PmCheck: Properly handle constructor-bound type variableswip/pmcheck-clausetree
In https://gitlab.haskell.org/ghc/ghc/merge_requests/2192#note_246551
Simon convinced me that ignoring type variables existentially bound by
data constructors have to be the same way as value binders.
Sadly I couldn't think of a regression test, but I'm confident that this
change strictly improves on the status quo.
Diffstat (limited to 'compiler/utils')
-rw-r--r-- | compiler/utils/Util.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/utils/Util.hs b/compiler/utils/Util.hs index 615e869cc4..1837b13e97 100644 --- a/compiler/utils/Util.hs +++ b/compiler/utils/Util.hs @@ -323,21 +323,21 @@ zipWith4Equal _ = zipWith4 #else zipEqual _ [] [] = [] zipEqual msg (a:as) (b:bs) = (a,b) : zipEqual msg as bs -zipEqual msg _ _ = panic ("zipEqual: unequal lists:"++msg) +zipEqual msg _ _ = panic ("zipEqual: unequal lists: "++msg) zipWithEqual msg z (a:as) (b:bs)= z a b : zipWithEqual msg z as bs zipWithEqual _ _ [] [] = [] -zipWithEqual msg _ _ _ = panic ("zipWithEqual: unequal lists:"++msg) +zipWithEqual msg _ _ _ = panic ("zipWithEqual: unequal lists: "++msg) zipWith3Equal msg z (a:as) (b:bs) (c:cs) = z a b c : zipWith3Equal msg z as bs cs zipWith3Equal _ _ [] [] [] = [] -zipWith3Equal msg _ _ _ _ = panic ("zipWith3Equal: unequal lists:"++msg) +zipWith3Equal msg _ _ _ _ = panic ("zipWith3Equal: unequal lists: "++msg) zipWith4Equal msg z (a:as) (b:bs) (c:cs) (d:ds) = z a b c d : zipWith4Equal msg z as bs cs ds zipWith4Equal _ _ [] [] [] [] = [] -zipWith4Equal msg _ _ _ _ _ = panic ("zipWith4Equal: unequal lists:"++msg) +zipWith4Equal msg _ _ _ _ _ = panic ("zipWith4Equal: unequal lists: "++msg) #endif -- | 'zipLazy' is a kind of 'zip' that is lazy in the second list (observe the ~) |