From 4dc71b4bbff15526bb6a10e2e45cf2723168b543 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Wed, 26 Jan 2011 17:10:30 +0000 Subject: [PATCH] Bleat a bit more informatively in unionLists --- compiler/utils/ListSetOps.lhs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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: -- 1.7.10.4