avoid warnings when built with ghc 7.6

This commit is contained in:
Joey Hess 2013-06-02 15:01:58 -04:00
parent 91c9ae83f1
commit 92f036fcb4
4 changed files with 13 additions and 12 deletions

View file

@ -13,24 +13,27 @@
module Annex.Exception (
bracketIO,
tryAnnex,
throw,
throwAnnex,
catchAnnex,
) where
import Prelude hiding (catch)
import "MonadCatchIO-transformers" Control.Monad.CatchIO (bracket, try, throw, catch)
import Control.Exception hiding (handle, try, throw, bracket, catch)
import qualified "MonadCatchIO-transformers" Control.Monad.CatchIO as M
import Control.Exception
import Common.Annex
{- Runs an Annex action, with setup and cleanup both in the IO monad. -}
bracketIO :: IO v -> (v -> IO b) -> (v -> Annex a) -> Annex a
bracketIO setup cleanup go = bracket (liftIO setup) (liftIO . cleanup) go
bracketIO setup cleanup go = M.bracket (liftIO setup) (liftIO . cleanup) go
{- try in the Annex monad -}
tryAnnex :: Annex a -> Annex (Either SomeException a)
tryAnnex = try
tryAnnex = M.try
{- throw in the Annex monad -}
throwAnnex :: Exception e => e -> Annex a
throwAnnex = M.throw
{- catch in the Annex monad -}
catchAnnex :: Exception e => Annex a -> (e -> Annex a) -> Annex a
catchAnnex = catch
catchAnnex = M.catch

View file

@ -174,7 +174,7 @@ undo file key e = do
liftIO $ nukeFile file
catchAnnex (fromAnnex key file) tryharder
logStatus key InfoMissing
throw e
throwAnnex e
where
-- fromAnnex could fail if the file ownership is weird
tryharder :: IOException -> Annex ()

View file

@ -9,8 +9,8 @@
module Utility.Exception where
import Prelude hiding (catch)
import Control.Exception
import qualified Control.Exception as E
import Control.Applicative
import Control.Monad
import System.IO.Error (isDoesNotExistError)
@ -33,7 +33,7 @@ catchMsgIO a = either (Left . show) Right <$> tryIO a
{- catch specialized for IO errors only -}
catchIO :: IO a -> (IOException -> IO a) -> IO a
catchIO = catch
catchIO = E.catch
{- try specialized for IO errors only -}
tryIO :: IO a -> IO (Either IOException a)

View file

@ -20,8 +20,6 @@ module Utility.Mounts (
import Control.Monad
import Foreign
import Foreign.C
import GHC.IO hiding (finally, bracket)
import Prelude hiding (catch)
#include "libmounts.h"
#else
import Utility.Exception