Add Haddocks for Eq (STRef a) and Eq (IORef a)
authorAdam Sandberg Eriksson <adam@sandbergericsson.se>
Wed, 19 Jul 2017 19:07:44 +0000 (15:07 -0400)
committerBen Gamari <ben@smart-cactus.org>
Wed, 19 Jul 2017 22:02:49 +0000 (18:02 -0400)
Reviewers: austin, hvr, bgamari

Reviewed By: bgamari

Subscribers: RyanGlScott, rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D3750

libraries/base/GHC/IORef.hs
libraries/base/GHC/STRef.hs

index 0736567..0832be0 100644 (file)
@@ -31,11 +31,10 @@ import GHC.IO
 
 -- |A mutable variable in the 'IO' monad
 newtype IORef a = IORef (STRef RealWorld a)
-
--- explicit instance because Haddock can't figure out a derived one
--- | @since 4.1.0.0
-instance Eq (IORef a) where
-  IORef x == IORef y = x == y
+  deriving Eq
+  -- ^ Pointer equality.
+  --
+  -- @since 4.1.0.0
 
 -- |Build a new 'IORef'
 newIORef    :: a -> IO (IORef a)
index 22db7f3..a6e4292 100644 (file)
@@ -44,7 +44,8 @@ writeSTRef (STRef var#) val = ST $ \s1# ->
     case writeMutVar# var# val s1#      of { s2# ->
     (# s2#, () #) }
 
--- Just pointer equality on mutable references:
--- | @since 2.01
+-- | Pointer equality.
+--
+-- @since 2.01
 instance Eq (STRef s a) where
     STRef v1# == STRef v2# = isTrue# (sameMutVar# v1# v2#)