module Debug.RecoverRTTI.Wrappers (
SomeFun(..)
, SomeSTRef(..)
, SomeMVar(..)
, SomeTVar(..)
) where
import Control.Concurrent.MVar (MVar)
import Control.Concurrent.STM (TVar)
import Data.STRef (STRef)
import GHC.Exts
newtype SomeFun = SomeFun (Any -> Any)
newtype SomeSTRef = SomeSTRef (STRef Any Any)
deriving (SomeSTRef -> SomeSTRef -> Bool
(SomeSTRef -> SomeSTRef -> Bool)
-> (SomeSTRef -> SomeSTRef -> Bool) -> Eq SomeSTRef
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SomeSTRef -> SomeSTRef -> Bool
$c/= :: SomeSTRef -> SomeSTRef -> Bool
== :: SomeSTRef -> SomeSTRef -> Bool
$c== :: SomeSTRef -> SomeSTRef -> Bool
Eq)
newtype SomeMVar = SomeMVar (MVar Any)
deriving (SomeMVar -> SomeMVar -> Bool
(SomeMVar -> SomeMVar -> Bool)
-> (SomeMVar -> SomeMVar -> Bool) -> Eq SomeMVar
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SomeMVar -> SomeMVar -> Bool
$c/= :: SomeMVar -> SomeMVar -> Bool
== :: SomeMVar -> SomeMVar -> Bool
$c== :: SomeMVar -> SomeMVar -> Bool
Eq)
newtype SomeTVar = SomeTVar (TVar Any)
deriving (SomeTVar -> SomeTVar -> Bool
(SomeTVar -> SomeTVar -> Bool)
-> (SomeTVar -> SomeTVar -> Bool) -> Eq SomeTVar
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SomeTVar -> SomeTVar -> Bool
$c/= :: SomeTVar -> SomeTVar -> Bool
== :: SomeTVar -> SomeTVar -> Bool
$c== :: SomeTVar -> SomeTVar -> Bool
Eq)
instance Show SomeSTRef where
show :: SomeSTRef -> String
show SomeSTRef
_ = String
"<STRef/IORef>"
instance Show SomeMVar where
show :: SomeMVar -> String
show SomeMVar
_ = String
"<MVar>"
instance Show SomeTVar where
show :: SomeTVar -> String
show SomeTVar
_ = String
"<TVar>"
instance Show SomeFun where
show :: SomeFun -> String
show SomeFun
_ = String
"<Fun>"