on master help sign in
INLINE asPtrUnsafe for GHC 9.6 onwards

GHC-9.4 works without it but 9.6 onwards MonadIO dictionary is passed if not inlined/specialized.

commita8cfdf3f120779f80091d5a8354ded2144d98896 authorHarendra Kumar <harendra@composewell.com> dateTue 31 Oct 2023, 12:17 (3 years ago) parent104bfc3
2 files changed+2
core/src/Streamly/Internal/Data/Array/Type.hs+1 core/src/Streamly/Internal/Data/MutArray/Type.hs+1
core/src/Streamly/Internal/Data/Array/Type.hs+1
@@ -181,6 +181,7 @@ data Array a =
181181--
182182-- /Pre-release/
183183--
184+{-# INLINE asPtrUnsafe #-}
184185asPtrUnsafe :: MonadIO m => Array a -> (Ptr a -> m b) -> m b
185186asPtrUnsafe arr = MA.asPtrUnsafe (unsafeThaw arr)
186187
core/src/Streamly/Internal/Data/MutArray/Type.hs+1
@@ -2345,6 +2345,7 @@ cast arr =
23452345--
23462346-- /Pre-release/
23472347--
2348+{-# INLINE asPtrUnsafe #-}
23482349asPtrUnsafe :: MonadIO m => MutArray a -> (Ptr a -> m b) -> m b
23492350asPtrUnsafe arr f = do
23502351 contents <- liftIO $ Unboxed.pin $ arrContents arr