memory 0.14.15 → 0.14.16
raw patch · 3 files changed
+20/−7 lines, 3 filesdep ~basedep ~ghc-primPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, ghc-prim
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- Data/ByteArray/Types.hs +15/−6
- memory.cabal +1/−1
CHANGELOG.md view
@@ -1,3 +1,7 @@+## 0.14.16++* Fix compilation with a newer basement (>= 0.0.7) and an older GHC (< 8.0)+ ## 0.14.15 * Convert tests to foundation checks
Data/ByteArray/Types.hs view
@@ -36,6 +36,14 @@ # define LEGACY_FOUNDATION_SUPPORT #endif +#if MIN_VERSION_basement(0,0,5)+# define SUPPORT_BLOCK+#endif++#if MIN_VERSION_basement(0,0,7) && __GLASGOW_HASKELL__ >= 800 && defined(SUPPORT_BLOCK)+# define SUPPORT_BLOCKN+#endif+ import Data.Proxy (Proxy(..)) import Data.Word (Word8) @@ -44,14 +52,15 @@ import qualified Basement.String as Base (String, toBytes, Encoding(UTF8)) import qualified Basement.PrimType as Base (primSizeInBytes) -#if MIN_VERSION_basement(0,0,5)-import qualified Basement.UArray.Mutable as BaseMutable (withMutablePtrHint, copyToPtr)+#ifdef SUPPORT_BLOCK+import qualified Basement.UArray.Mutable as BaseMutable (withMutablePtrHint) import qualified Basement.Block as Block import qualified Basement.Block.Mutable as Block #endif-#if MIN_VERSION_basement(0,0,7)++#ifdef SUPPORT_BLOCKN import Basement.Nat-import qualified Basement.BlockN as BlockN+import qualified Basement.Sized.Block as BlockN #endif #ifdef LEGACY_FOUNDATION_SUPPORT@@ -113,7 +122,7 @@ Block.copyToPtr mb 0 (castPtr dst) (Block.length $ baseBlockRecastW8 ba) #endif -#if MIN_VERSION_basement(0,0,7)+#ifdef SUPPORT_BLOCKN instance (KnownNat n, Base.PrimType ty, Base.Countable ty n) => ByteArrayAccess (BlockN.BlockN n ty) where length a = let Base.CountOf i = BlockN.lengthBytes a in i withByteArray a f = BlockN.withPtr a (f . castPtr)@@ -139,7 +148,7 @@ bytes = Base.toBytes Base.UTF8 str withByteArray s f = withByteArray (Base.toBytes Base.UTF8 s) f -#if MIN_VERSION_basement(0,0,5)+#ifdef SUPPORT_BLOCK instance (Ord ty, Base.PrimType ty) => ByteArray (Block.Block ty) where allocRet sz f = do mba <- Block.new $ sizeRecastBytes sz Proxy
memory.cabal view
@@ -1,5 +1,5 @@ Name: memory-version: 0.14.15+version: 0.14.16 Synopsis: memory and related abstraction stuff Description: Chunk of memory, polymorphic byte array management and manipulation