From: simonpj@microsoft.com Date: Wed, 26 Jan 2011 17:10:30 +0000 (+0000) Subject: Bleat a bit more informatively in unionLists X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=4dc71b4bbff15526bb6a10e2e45cf2723168b543 Bleat a bit more informatively in unionLists --- 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: