packages feed

flatparse 0.5.4.3 → 0.5.4.4

raw patch · 3 files changed

+13/−3 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- FlatParse.Minimal.Internal: undefinedFinalizer :: ForeignPtrContents

Files

flatparse.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           flatparse-version:        0.5.4.3+version:        0.5.4.4 synopsis:       High-performance parsing from strict bytestrings description:    @Flatparse@ is a high-performance parsing library for strict bytestring input. See the README for more information:                 <https://github.com/AndrasKovacs/flatparse>.@@ -27,6 +27,8 @@   , GHC == 9.4.8   , GHC == 9.6.7   , GHC == 9.8.4+  , GHC == 9.10.3+  , GHC == 9.12.4 extra-source-files:     README.md 
src/FlatParse/Minimal.hs view
@@ -196,10 +196,13 @@ --   constructed from the input buffer! unsafeEmbedBasicIO :: FPB.ParserIO () a -> Parser a unsafeEmbedBasicIO = \(FPB.ParserT f) -> Parser \eob s st ->+#if MIN_VERSION_base(4,15,0)+  case f FinalPtr eob s st of+#else   case f undefinedFinalizer eob s st of+#endif     (# st, (# (# !a, s #) | | #) #) -> (# a, s, st #)     (# st, _                     #) -> parseError# st-  -- | Run a @FlatParse.Minimal@ parser inside a @FlatParse.Basic@ parser. {-# inline embedMinimal #-}
src/FlatParse/Minimal/Internal.hs view
@@ -1,13 +1,16 @@-{-# language EmptyCase, PolyKinds, KindSignatures, RankNTypes #-}+{-# language EmptyCase, PolyKinds, KindSignatures, RankNTypes, CPP #-} {-# options_ghc -Wno-incomplete-patterns #-}  module FlatParse.Minimal.Internal where  import GHC.Exts import Control.Exception++#if !MIN_VERSION_base(4,15,0) import Data.IORef import System.IO.Unsafe import GHC.ForeignPtr+#endif  data ParseException = ParseException deriving Show instance Exception ParseException@@ -16,9 +19,11 @@ parseError# :: forall r (b :: TYPE r). State# RealWorld -> b parseError# = \st -> case raiseIO# (toException ParseException) st of +#if !MIN_VERSION_base(4,15,0) {-# noinline undefinedFinalizer #-} -- | Dummy finalizer for 'unsafeEmbedBasicIO'. undefinedFinalizer :: ForeignPtrContents -- IORef Finalizers undefinedFinalizer =   PlainForeignPtr $ unsafeDupablePerformIO $     newIORef $ error "unsafeEmbedBasicIO: attempted to build ByteString from buffer"+#endif