packages feed

resourcet 1.2.0 → 1.2.1

raw patch · 5 files changed

+23/−3 lines, 5 filesdep ~exceptionsPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: exceptions

API changes (from Hackage documentation)

+ UnliftIO.Resource: allocate :: MonadResource m => IO a -> (a -> IO ()) -> m (ReleaseKey, a)
+ UnliftIO.Resource: class MonadIO m => MonadResource m
+ UnliftIO.Resource: data ReleaseKey
+ UnliftIO.Resource: data ResourceT m a
+ UnliftIO.Resource: register :: MonadResource m => IO () -> m ReleaseKey
+ UnliftIO.Resource: release :: MonadIO m => ReleaseKey -> m ()
+ UnliftIO.Resource: unprotect :: MonadIO m => ReleaseKey -> m (Maybe (IO ()))
- Control.Monad.Trans.Resource.Internal: ResourceT :: (IORef ReleaseMap -> m a) -> ResourceT m a
+ Control.Monad.Trans.Resource.Internal: ResourceT :: IORef ReleaseMap -> m a -> ResourceT m a

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.2.1++* Support `exceptions-0.10`.+ ## 1.2.0  * Drop `monad-control` and `mmorph` dependencies
Control/Monad/Trans/Resource/Internal.hs view
@@ -136,6 +136,18 @@   uninterruptibleMask a =     ResourceT $ \e -> uninterruptibleMask $ \u -> unResourceT (a $ q u) e       where q u (ResourceT b) = ResourceT (u . b)+#if MIN_VERSION_exceptions(0, 10, 0)+  generalBracket acquire release use =+    ResourceT $ \r ->+        generalBracket+            ( unResourceT acquire r )+            ( \resource exitCase ->+                  unResourceT ( release resource exitCase ) r+            )+            ( \resource -> unResourceT ( use resource ) r )+#elif MIN_VERSION_exceptions(0, 9, 0)+#error exceptions 0.9.0 is not supported+#endif instance MonadIO m => MonadResource (ResourceT m) where     liftResourceT = transResourceT liftIO instance PrimMonad m => PrimMonad (ResourceT m) where
Data/Acquire/Internal.hs view
@@ -32,7 +32,7 @@  -- | A method for acquiring a scarce resource, providing the means of freeing -- it when no longer needed. This data type provides--- @Functor@/@Applicative@/@Monad@ instances for composing different resources+-- @Functor@\/@Applicative@\/@Monad@ instances for composing different resources -- together. You can allocate these resources using either the @bracket@ -- pattern (via @with@) or using @ResourceT@ (via @allocateAcquire@). --
resourcet.cabal view
@@ -1,5 +1,5 @@ Name:                resourcet-Version:             1.2.0+Version:             1.2.1 Synopsis:            Deterministic allocation and freeing of scarce resources. description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/resourcet>. License:             BSD3@@ -22,7 +22,7 @@                      , containers                      , transformers             >= 0.4                      , mtl                      >= 2.0          && < 2.3-                     , exceptions               >= 0.8+                     , exceptions               (== 0.8.* || == 0.10.*)                      , unliftio-core                      , primitive   ghc-options:     -Wall@@ -34,6 +34,7 @@     cpp-options:   -DTEST     build-depends:   resourcet                    , base+                   , exceptions                    , hspec >= 1.3                    , transformers     ghc-options:     -Wall
test/main.hs view
@@ -6,6 +6,7 @@                                                getMaskingState, throwIO, try, fromException) import           Control.Exception            (SomeException, handle) import           Control.Monad                (unless, void)+import qualified Control.Monad.Catch import           Control.Monad.IO.Class       (liftIO) import           Control.Monad.Trans.Resource import           Data.IORef@@ -138,6 +139,8 @@               Left (ResourceCleanupException (Just _) _ [_]) -> error "Got a ResourceT exception"               Left (ResourceCleanupException _ _ []) -> error "Only got 1"               Left (ResourceCleanupException _ _ (_:_:_)) -> error "Got more than 2"+    describe "MonadMask" $+        it "works" (runResourceT $ Control.Monad.Catch.bracket (return ()) (const (return ())) (const (return ())) :: IO ())  data Dummy = Dummy     deriving (Show, Typeable)