Remove the need for undecidable instances in LazyUniqFM
authorIan Lynagh <igloo@earth.li>
Fri, 11 Jul 2008 13:14:21 +0000 (13:14 +0000)
committerIan Lynagh <igloo@earth.li>
Fri, 11 Jul 2008 13:14:21 +0000 (13:14 +0000)
compiler/Makefile
compiler/utils/LazyUniqFM.lhs

index 7e17acf..6385c77 100644 (file)
@@ -599,10 +599,6 @@ endif
 # prototype via a global option instead of a myriad of per-file OPTIONS
 SRC_HC_OPTS += '-\#include "cutils.h"'
 
-ifeq "$(ghc_ge_605)" "NO"
-utils/LazyUniqFM_HC_OPTS += -fallow-undecidable-instances
-endif
-
 # ----------------------------------------------------------------------------
 #              Generate supporting stuff for prelude/PrimOp.lhs 
 #              from prelude/primops.txt
index 55b438f..99be163 100644 (file)
@@ -12,7 +12,6 @@ Basically, the things need to be in class @Uniquable@, and we use the
 
 \begin{code}
 {-# OPTIONS -Wall -fno-warn-name-shadowing -Werror #-}
-{-# LANGUAGE UndecidableInstances #-}
 module LazyUniqFM (
        UniqFM,         -- abstract type
 
@@ -180,7 +179,7 @@ data Lazy a = Lazy { fromLazy :: a }
 
 newtype UniqFM ele = MkUniqFM (S.UniqFM (Lazy ele))
 
-instance Outputable (S.UniqFM (Lazy a)) => Outputable (UniqFM a) where
+instance Outputable a => Outputable (UniqFM a) where
     ppr (MkUniqFM fm) = ppr fm
 
 instance Outputable a => Outputable (Lazy a) where