Change the type of check to Bool -> STM ()
authorSimon Marlow <marlowsd@gmail.com>
Thu, 5 Jul 2012 13:51:43 +0000 (14:51 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 5 Jul 2012 13:51:43 +0000 (14:51 +0100)
Previously it was

  check :: Bool -> STM a

and it returned undefined when passed True.  This doesn't seem useful,
and causes GHC to warn about an unused result.

(suggestion by Favonia <favonia@gmail.com> on libraries@haskell.org)

Control/Monad/STM.hs

index 44bb345..0bcd791 100644 (file)
@@ -62,8 +62,8 @@ instance MonadPlus STM where
   mplus = orElse
 #endif
 
-check :: Bool -> STM a
-check b = if b then return undefined else retry
+check :: Bool -> STM ()
+check b = if b then return () else retry
 #endif
 
 #if ! (MIN_VERSION_base(4,3,0))