From 494543819fc0da09e4dfc30c0c88167ae1379ee5 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Thu, 19 Jun 2008 23:58:08 +0000 Subject: [PATCH] Make the macros in Typeable.h add type signatures --- Foreign/Ptr.hs | 2 +- GHC/Weak.lhs | 2 +- include/Typeable.h | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Foreign/Ptr.hs b/Foreign/Ptr.hs index f57e1ac..7c83326 100644 --- a/Foreign/Ptr.hs +++ b/Foreign/Ptr.hs @@ -67,7 +67,7 @@ import Foreign.C.Types #endif import Data.Bits -import Data.Typeable ( Typeable(..), mkTyCon, mkTyConApp ) +import Data.Typeable import Foreign.Storable ( Storable(..) ) #ifdef __NHC__ diff --git a/GHC/Weak.lhs b/GHC/Weak.lhs index 3866ed4..66fefcd 100644 --- a/GHC/Weak.lhs +++ b/GHC/Weak.lhs @@ -21,7 +21,7 @@ module GHC.Weak where import GHC.Base import Data.Maybe import GHC.IOBase ( IO(..), unIO ) -import Data.Typeable ( Typeable1(..), mkTyCon, mkTyConApp ) +import Data.Typeable {-| A weak pointer object with a key and a value. The value has type @v@. diff --git a/include/Typeable.h b/include/Typeable.h index 5e22e03..649d6f3 100644 --- a/include/Typeable.h +++ b/include/Typeable.h @@ -15,6 +15,7 @@ #define TYPEABLE_H #define INSTANCE_TYPEABLE0(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } @@ -24,14 +25,17 @@ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } -- // defined in Data.Typeable. #define INSTANCE_TYPEABLE1(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] } #define INSTANCE_TYPEABLE2(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] } #define INSTANCE_TYPEABLE3(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] } -- 1.7.10.4