packages feed

store 0.7.15 → 0.7.16

raw patch · 3 files changed

+24/−9 lines, 3 filesdep ~vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: vector

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,12 @@ # ChangeLog +## 0.7.16++* Adds support for `vector-0.13.0.0`. See [#174][].++[#174]: https://github.com/mgsloan/store/issues/174++ ## 0.7.15  * Adds support for `text >= 2`. See [#170][].
src/Data/Store/TH/Internal.hs view
@@ -29,7 +29,7 @@ import           Data.Generics.Schemes (listify, everywhere, something) import           Data.List (find) import qualified Data.Map as M-import           Data.Maybe (fromMaybe, isJust)+import           Data.Maybe (fromMaybe, isJust, mapMaybe) import           Data.Primitive.ByteArray import           Data.Primitive.Types import           Data.Store.Core@@ -374,27 +374,35 @@ getUnboxInfo :: Q [(Cxt, Type, [DataCon])] getUnboxInfo = do     FamilyI _ insts <- reify ''UV.Vector-    return (map (everywhere (id `extT` dequalVarT) . go) insts)+    return (map (everywhere (id `extT` dequalVarT)) $ mapMaybe go insts)   where #if MIN_VERSION_template_haskell(2,15,0)     go (NewtypeInstD preds _ lhs _ con _)       | [_, ty] <- unAppsT lhs-      = (preds, ty, conToDataCons con)+      = toResult preds ty [con]     go (DataInstD preds _ lhs _ cons _)       | [_, ty] <- unAppsT lhs-      = (preds, ty, concatMap conToDataCons cons)+      = toResult preds ty 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)+    go (NewtypeInstD preds _ [ty] _ con _) = toResult preds ty [con]+    go (DataInstD preds _ [ty] _ cons _) = toResult preds ty cons #else-    go (NewtypeInstD preds _ [ty] con _) = (preds, ty, conToDataCons con)-    go (DataInstD preds _ [ty] cons _) = (preds, ty, concatMap conToDataCons cons)+    go (NewtypeInstD preds _ [ty] con _) = toResult preds ty [con]+    go (DataInstD preds _ [ty] cons _) = toResult preds ty cons #endif     go x = error ("Unexpected result from reifying Unboxed Vector instances: " ++ pprint x)+    toResult :: Cxt -> Type -> [Con] -> Maybe (Cxt, Type, [DataCon])+    toResult _ _ [NormalC conName _]+      | nameBase conName `elem` skippedUnboxConstructors = Nothing+    toResult preds ty cons+      = Just (preds, ty, concatMap conToDataCons cons)     dequalVarT :: Type -> Type     dequalVarT (VarT n) = VarT (dequalify n)     dequalVarT ty = ty +-- See issue #174+skippedUnboxConstructors :: [String]+skippedUnboxConstructors = ["MV_UnboxAs", "V_UnboxAs", "MV_UnboxViaPrim", "V_UnboxViaPrim"]  ------------------------------------------------------------------------ -- Utilities
store.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           store-version:        0.7.15+version:        0.7.16 synopsis:       Fast binary serialization category:       Serialization, Data homepage:       https://github.com/mgsloan/store#readme