crypto-rng 0.1.1.0 → 0.1.2.0
raw patch · 3 files changed
+15/−9 lines, 3 filesdep ~basenew-uploaderPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Crypto.RNG: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (Crypto.RNG.CryptoRNGT m)
Files
- ChangeLog.md +4/−0
- crypto-rng.cabal +3/−3
- src/Crypto/RNG.hs +8/−6
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for crypto-rng +## 0.1.2.0 -- 2020-05-05++* GHC-8.8 support (MonadFail) and ghc 8.10.1 support.+ ## 0.1.1.0 -- 2019-10-08 * Added a 'MonadError' instance for 'CryptoRNGT'.
crypto-rng.cabal view
@@ -1,5 +1,5 @@ name: crypto-rng-version: 0.1.1.0+version: 0.1.2.0 synopsis: Cryptographic random number generator. description: Convenient wrapper for the cryptographic random generator@@ -14,7 +14,7 @@ copyright: Scrive AB category: Crypto build-type: Simple-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.2+tested-with: GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1 extra-source-files: ChangeLog.md cabal-version: >=1.10 @@ -26,7 +26,7 @@ exposed-modules: Crypto.RNG Crypto.RNG.Class Crypto.RNG.Utils- build-depends: base < 5,+ build-depends: base >= 4.9 && < 5, DRBG >= 0.5.5 && < 0.6, bytestring >= 0.10.8 && < 0.11, crypto-api >= 0.13.2 && < 0.14,
src/Crypto/RNG.hs view
@@ -43,13 +43,15 @@ , withCryptoRNGState ) where +import Prelude hiding (fail) import Control.Applicative import Control.Concurrent import Control.Monad.Base-import Control.Monad.Catch-import Control.Monad.Cont-import Control.Monad.Except-import Control.Monad.Reader+import Control.Monad.Catch hiding (fail)+import Control.Monad.Cont hiding (fail)+import Control.Monad.Except hiding (fail)+import Control.Monad.Fail (MonadFail(..))+import Control.Monad.Reader hiding (fail) import Control.Monad.Trans.Control import Crypto.Random import Crypto.Random.DRBG@@ -81,7 +83,7 @@ -> IO ByteString randomBytesIO n (CryptoRNGState gv) = do liftIO $ modifyMVar gv $ \g -> do- (bs, g') <- either (fail "Crypto.GlobalRandom.genBytes") return $+ (bs, g') <- either (const (fail "Crypto.GlobalRandom.genBytes")) return $ genBytes n g return (g', bs) @@ -141,7 +143,7 @@ newtype CryptoRNGT m a = CryptoRNGT { unCryptoRNGT :: InnerCryptoRNGT m a } deriving ( Alternative, Applicative, Functor, Monad , MonadBase b, MonadCatch, MonadError e, MonadIO, MonadMask, MonadPlus- , MonadThrow, MonadTrans )+ , MonadThrow, MonadTrans, MonadFail ) mapCryptoRNGT :: (m a -> n b) -> CryptoRNGT m a -> CryptoRNGT n b mapCryptoRNGT f m = withCryptoRNGState $ \s -> f (runCryptoRNGT s m)