diff options
author | Sebastian Graf <sebastian.graf@kit.edu> | 2020-01-15 17:15:58 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-01-25 05:21:05 -0500 |
commit | 86966d48954db4a8bd40046af259ed60aed535eb (patch) | |
tree | d003bee5b0d31af6c867d5ce6a6c8ce0527124d6 /compiler/utils | |
parent | 8038cbd96f444fdba18e8c9fb292c565738b774d (diff) | |
download | haskell-86966d48954db4a8bd40046af259ed60aed535eb.tar.gz |
PmCheck: Properly handle constructor-bound type variables
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 ~) |