Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263
[ghc-hetmet.git] / compiler / utils / IOEnv.hs
index 5f354f0..b81b2e8 100644 (file)
@@ -66,7 +66,7 @@ thenM (IOEnv m) f = IOEnv (\ env -> do { r <- m env ;
                                          unIOEnv (f r) env })
 
 thenM_ :: IOEnv env a -> IOEnv env b -> IOEnv env b
-thenM_ (IOEnv m) f = IOEnv (\ env -> do { m env ; unIOEnv f env })
+thenM_ (IOEnv m) f = IOEnv (\ env -> do { _ <- m env ; unIOEnv f env })
 
 failM :: IOEnv env a
 failM = IOEnv (\ _ -> throwIO IOEnvFailure)
@@ -139,15 +139,9 @@ unsafeInterleaveM (IOEnv m) = IOEnv (\ env -> unsafeInterleaveIO (m env))
 
 -- For use if the user has imported Control.Monad.Error from MTL
 -- Requires UndecidableInstances
-#if __GLASGOW_HASKELL__ > 606
--- for some reason, this doesn't compile with GHC 6.6:
--- utils/IOEnv.hs:144:33:
---     No instance for (MonadPlus IO)
---       arising from use of `mplus' at utils/IOEnv.hs:144:33-67
 instance MonadPlus IO => MonadPlus (IOEnv env) where
     mzero = IOEnv (const mzero)
     m `mplus` n = IOEnv (\env -> unIOEnv m env `mplus` unIOEnv n env)
-#endif
 
 ----------------------------------------------------------------------
 -- Accessing input/output