X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FWeak.lhs;h=5935f1833f011e05dfe377fc9d3a26928941d5bd;hb=7c0b04fd273621130062418bb764809c79488dd2;hp=c3839b1002b3efe55d6757811fbbf134afaeb170;hpb=0165461a1683a8498c3fbcb1f06779d3719584f6;p=haskell-directory.git diff --git a/GHC/Weak.lhs b/GHC/Weak.lhs index c3839b1..5935f18 100644 --- a/GHC/Weak.lhs +++ b/GHC/Weak.lhs @@ -1,5 +1,5 @@ \begin{code} -{-# OPTIONS -fno-implicit-prelude #-} +{-# OPTIONS_GHC -fno-implicit-prelude #-} ----------------------------------------------------------------------------- -- | -- Module : GHC.Weak @@ -14,11 +14,13 @@ -- ----------------------------------------------------------------------------- +-- #hide module GHC.Weak where import GHC.Base import Data.Maybe import GHC.IOBase ( IO(..), unIO ) +import Data.Typeable ( Typeable1(..), mkTyCon, mkTyConApp ) {-| A weak pointer object with a key and a value. The value has type @v@. @@ -62,6 +64,9 @@ for runnable finalizers before declaring the system to be deadlocked. -} data Weak v = Weak (Weak# v) +#include "Typeable.h" +INSTANCE_TYPEABLE1(Weak,weakTc,"Weak") + -- | Establishes a weak pointer to @k@, with value @v@ and a finalizer. -- -- This is the most general interface for building a weak pointer.