X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Futils%2FListSetOps.lhs;fp=compiler%2Futils%2FListSetOps.lhs;h=83334fbb289def38b2d6c77675d97fb1d1d36a08;hp=f5e0eae9a0ec20830a7d91bf61d1dc6a3768135a;hb=4dc71b4bbff15526bb6a10e2e45cf2723168b543;hpb=001b9a4d8b5e3f120c419c6f6fa3dd67b1d6cd9e diff --git a/compiler/utils/ListSetOps.lhs b/compiler/utils/ListSetOps.lhs index f5e0eae..83334fb 100644 --- a/compiler/utils/ListSetOps.lhs +++ b/compiler/utils/ListSetOps.lhs @@ -19,6 +19,8 @@ module ListSetOps ( ) where +#include "HsVersions.h" + import Outputable import Unique import UniqFM @@ -41,9 +43,11 @@ insertList :: Eq a => a -> [a] -> [a] insertList x xs | isIn "insert" x xs = xs | otherwise = x : xs -unionLists :: (Eq a) => [a] -> [a] -> [a] +unionLists :: (Outputable a, Eq a) => [a] -> [a] -> [a] -- Assumes that the arguments contain no duplicates -unionLists xs ys = [x | x <- xs, isn'tIn "unionLists" x ys] ++ ys +unionLists xs ys + = WARN(length xs > 100 || length ys > 100, ppr xs $$ ppr ys) + [x | x <- xs, isn'tIn "unionLists" x ys] ++ ys minusList :: (Eq a) => [a] -> [a] -> [a] -- Everything in the first list that is not in the second list: