Give -foverlapping-instances to Data.Typeable
authorsimonpj@microsoft <unknown>
Mon, 6 Feb 2006 13:34:39 +0000 (13:34 +0000)
committersimonpj@microsoft <unknown>
Mon, 6 Feb 2006 13:34:39 +0000 (13:34 +0000)
For some time, GHC has made -fallow-overlapping-instances "sticky":
any instance in a module compiled with -fallow-overlapping-instances
can overlap when imported, regardless of whether the importing module
allows overlap.  (If there is an overlap, both instances must come from
modules thus compiled.)

Instances in Data.Typeable might well want to be overlapped, so this
commit adds the flag to Data.Typeable (with an explanatory comment)

libraries/base/Data/Typeable.hs

index 4636952..7b89b58 100644 (file)
@@ -1,4 +1,11 @@
-{-# OPTIONS_GHC -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude -fallow-overlapping-instances #-}
+
+-- The -fallow-overlapping-instances flag allows the user to over-ride
+-- the instances for Typeable given here.  In particular, we provide an instance
+--     instance ... => Typeable (s a) 
+-- But a user might want to say
+--     instance ... => Typeable (MyType a b)
+
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Typeable