on master help sign in
Fix build for primitive-0.6.3.0. Solves #466.
2f5874dadithyaov
src/Streamly/Internal/Data/Prim/Array/Types.hs+7−1
@@ -105,10 +105,12 @@ import qualified Data.Primitive.Types as PT
105#if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,11,0)
105#if MIN_VERSION_base(4,9,0) && !MIN_VERSION_base(4,11,0)
106import Data.Semigroup (Semigroup)
106import Data.Semigroup (Semigroup)
107#endif
107#endif
108+
108−#if MIN_VERSION_base(4,9,0)
109+#if MIN_VERSION_base(4,9,0) && MIN_VERSION_primitive(0,6,4)
109import qualified Data.Semigroup as SG
110import qualified Data.Semigroup as SG
110#endif
111#endif
111
112
113+
112-- | Arrays of unboxed elements. This accepts types like 'Double', 'Char',
114-- | Arrays of unboxed elements. This accepts types like 'Double', 'Char',
113-- 'Int', and 'Word', as well as their fixed-length variants ('Word8',
115-- 'Int', and 'Word', as well as their fixed-length variants ('Word8',
114-- 'Word16', etc.). Since the elements are unboxed, a 'PrimArray' is strict
116-- 'Word16', etc.). Since the elements are unboxed, a 'PrimArray' is strict
@@ -204,6 +206,8 @@ primArrayFromListN len vs = runST run where
204primArrayToList :: forall a. Prim a => PrimArray a -> [a]
206primArrayToList :: forall a. Prim a => PrimArray a -> [a]
205primArrayToList xs = build (\c n -> foldrPrimArray c n xs)
207primArrayToList xs = build (\c n -> foldrPrimArray c n xs)
206
208
209+#if MIN_VERSION_primitive(0,6,4)
210+
207primArrayToByteArray :: PrimArray a -> PB.ByteArray
211primArrayToByteArray :: PrimArray a -> PB.ByteArray
208primArrayToByteArray (PrimArray x) = PB.ByteArray x
212primArrayToByteArray (PrimArray x) = PB.ByteArray x
209
213
@@ -226,6 +230,8 @@ instance Monoid (PrimArray a) where
226#endif
230#endif
227 mconcat = byteArrayToPrimArray . mconcat . map primArrayToByteArray
231 mconcat = byteArrayToPrimArray . mconcat . map primArrayToByteArray
228
232
233+#endif
234+
229-- | The empty primitive array.
235-- | The empty primitive array.
230emptyPrimArray :: PrimArray a
236emptyPrimArray :: PrimArray a
231{-# NOINLINE emptyPrimArray #-}
237{-# NOINLINE emptyPrimArray #-}