store 0.5.1.2 → 0.6.0
raw patch · 6 files changed
+21/−6 lines, 6 filesdep ~basedep ~template-haskellPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, template-haskell
API changes (from Hackage documentation)
- Data.Store.TH: assertRoundtrip :: (Eq a, Show a, Store a, Monad m, Typeable a) => Bool -> a -> m ()
+ Data.Store.TH: assertRoundtrip :: (Eq a, Show a, Store a, MonadFail m, Typeable a) => Bool -> a -> m ()
- System.IO.ByteBuffer: fillFromFd :: MonadIO m => ByteBuffer -> Fd -> Int -> m Int
+ System.IO.ByteBuffer: fillFromFd :: (MonadIO m, MonadFail m) => ByteBuffer -> Fd -> Int -> m Int
Files
- ChangeLog.md +6/−0
- src/Data/Store/TH.hs +2/−1
- src/Data/Store/TH/Internal.hs +8/−1
- src/Data/Store/Version.hs +1/−1
- src/System/IO/ByteBuffer.hs +2/−1
- store.cabal +2/−2
ChangeLog.md view
@@ -1,5 +1,11 @@ # ChangeLog +## 0.6.0++* Now builds with GHC-8.8. This is a major version bump because+ MonadFail constraints were added to some functions, which is+ potentially a breaking change.+ ## 0.5.1.2 * Fixes compilation with GHC < 8.0. See
src/Data/Store/TH.hs view
@@ -37,6 +37,7 @@ , assertRoundtrip ) where +import qualified Control.Monad.Fail as Fail import Data.Complex () import Data.Store.Impl import Data.Typeable (Typeable, typeOf)@@ -60,7 +61,7 @@ expr <- [e| property $ changeDepth (\_ -> depth) $ \x -> checkRoundtrip verbose (x :: $(return ty)) |] return ("Roundtrips (" ++ pprint ty ++ ")", expr) -assertRoundtrip :: (Eq a, Show a, Store a, Monad m, Typeable a) => Bool -> a -> m ()+assertRoundtrip :: (Eq a, Show a, Store a, Fail.MonadFail m, Typeable a) => Bool -> a -> m () assertRoundtrip verbose x | checkRoundtrip verbose x = return () | otherwise = fail $ "Failed to roundtrip " ++ show (typeOf x)
src/Data/Store/TH/Internal.hs view
@@ -363,7 +363,14 @@ FamilyI _ insts <- reify ''UV.Vector return (map (everywhere (id `extT` dequalVarT) . go) insts) where-#if MIN_VERSION_template_haskell(2,11,0)+#if MIN_VERSION_template_haskell(2,15,0)+ go (NewtypeInstD preds _ lhs _ con _)+ | [_, ty] <- unAppsT lhs+ = (preds, ty, conToDataCons con)+ go (DataInstD preds _ lhs _ cons _)+ | [_, ty] <- unAppsT lhs+ = (preds, ty, concatMap conToDataCons cons)+#elif MIN_VERSION_template_haskell(2,11,0) go (NewtypeInstD preds _ [ty] _ con _) = (preds, ty, conToDataCons con) go (DataInstD preds _ [ty] _ cons _) = (preds, ty, concatMap conToDataCons cons) #else
src/Data/Store/Version.hs view
@@ -217,7 +217,7 @@ goField = do s <- get case sFieldNames s of- [] -> fail "impossible case in getStructureInfo'"+ [] -> error "impossible case in getStructureInfo'" (name:names) -> do getStructureInfo' ignore renames (Proxy :: Proxy b) s' <- get
src/System/IO/ByteBuffer.hs view
@@ -43,6 +43,7 @@ import Control.Applicative import Control.Exception (SomeException, throwIO) import Control.Exception.Lifted (Exception, bracket, catch)+import qualified Control.Monad.Fail as Fail import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans.Control (MonadBaseControl) import Data.ByteString (ByteString)@@ -280,7 +281,7 @@ -- such the ones created by the @network@ package. -- -- Returns how many bytes could be read non-blockingly.-fillFromFd :: MonadIO m => ByteBuffer -> Fd -> Int -> m Int+fillFromFd :: (MonadIO m, Fail.MonadFail m) => ByteBuffer -> Fd -> Int -> m Int fillFromFd bb sock maxBytes = if maxBytes < 0 then fail ("fillFromFd: negative argument (" ++ show maxBytes ++ ")") else bbHandler "fillFromFd" bb go
store.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 432401eddc329fdeadc94cd6a50d7641756074a9537ef2306c874619e22c33af+-- hash: 29e57f0dc122be22cc4c7ed274c08348beaae45fd10ae85865b065ef85cdefbe name: store-version: 0.5.1.2+version: 0.6.0 synopsis: Fast binary serialization category: Serialization, Data homepage: https://github.com/fpco/store#readme