add Eq instances
authorSimon Marlow <marlowsd@gmail.com>
Wed, 4 Jul 2012 10:28:36 +0000 (11:28 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 4 Jul 2012 10:28:36 +0000 (11:28 +0100)
Control/Concurrent/STM/TBQueue.hs
Control/Concurrent/STM/TQueue.hs

index 42b04b2..01aa742 100644 (file)
@@ -52,6 +52,9 @@ data TBQueue a
              _UPK_(TVar Int)  -- CW: write capacity
              _UPK_(TVar [a])  -- W:  elements written (head is most recent)
 
+instance Eq (TBQueue a) where
+  TBQueue a _ _ _ == TBQueue b _ _ _ = a == b
+
 -- Total channel capacity remaining is CR + CW. Reads only need to
 -- access CR, writes usually need to access only CW but sometimes need
 -- CR.  So in the common case we avoid contention between CR and CW.
index 4f15951..e6406a0 100644 (file)
@@ -53,6 +53,9 @@ data TQueue a = TQueue {-# UNPACK #-} !(TVar [a])
                        {-# UNPACK #-} !(TVar [a])
   deriving Typeable
 
+instance Eq (TQueue a) where
+  TQueue a _ == TQueue b _ = a == b
+
 -- |Build and returns a new instance of 'TQueue'
 newTQueue :: STM (TQueue a)
 newTQueue = do