diff options
author | Simon Marlow <marlowsd@gmail.com> | 2011-07-11 14:06:01 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2011-07-12 11:16:14 +0100 |
commit | 82c997cc0b1c03a49c20ad193676aa00cf1413cd (patch) | |
tree | 6453d02bf59cb0d015bc691d9c1f3d3c88d4a877 | |
parent | 352101578397a6291e3b24989ab1ea2751c96827 (diff) | |
download | haskell-82c997cc0b1c03a49c20ad193676aa00cf1413cd.tar.gz |
fix Binary instance for TyCon following Typeable implementation
changes
-rw-r--r-- | compiler/utils/Binary.hs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/compiler/utils/Binary.hs b/compiler/utils/Binary.hs index d9646f6883..b61b2838ee 100644 --- a/compiler/utils/Binary.hs +++ b/compiler/utils/Binary.hs @@ -76,6 +76,9 @@ import Data.Array import Data.IORef import Data.Char ( ord, chr ) import Data.Typeable +#if __GLASGOW_HASKELL__ >= 701 +import Data.Typeable.Internal +#endif import Control.Monad ( when ) import System.IO as IO import System.IO.Unsafe ( unsafeInterleaveIO ) @@ -576,6 +579,14 @@ instance Binary (Bin a) where -- ----------------------------------------------------------------------------- -- Instances for Data.Typeable stuff +#if __GLASGOW_HASKELL__ >= 701 +instance Binary TyCon where + put_ bh (TyCon _ p m n) = do + put_ bh (p,m,n) + get bh = do + (p,m,n) <- get bh + return (mkTyCon3 p m n) +#else instance Binary TyCon where put_ bh ty_con = do let s = tyConString ty_con @@ -583,6 +594,7 @@ instance Binary TyCon where get bh = do s <- get bh return (mkTyCon s) +#endif instance Binary TypeRep where put_ bh type_rep = do |