recover-rtti 0.4.2 → 0.4.3
raw patch · 7 files changed
+40/−11 lines, 7 filesdep ~aesondep ~basedep ~ghc-heapPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, base, ghc-heap, ghc-prim, primitive, vector
API changes (from Hackage documentation)
Files
- CHANGELOG.md +7/−0
- recover-rtti.cabal +13/−7
- src/Debug/RecoverRTTI/Classify.hs +4/−3
- src/Debug/RecoverRTTI/Modules.hs +13/−1
- src/Debug/RecoverRTTI/Reclassify.hs +1/−0
- src/Debug/RecoverRTTI/Util.hs +1/−0
- tests/Test/RecoverRTTI/Classifier/Arbitrary.hs +1/−0
CHANGELOG.md view
@@ -1,5 +1,12 @@ # Revision history for recover-rtti +## 0.4.3 -- 2023-06-05++* Support aeson 2.1, vector 0.13, and primitive 0.8+ (Mitchell Rosen, #29, #35, #36)+* Support bytestring 0.11.4+* Support ghc 9.4 and 9.6+ ## 0.4.2 -- 2023-03-23 * Support mtl 2.3 (requiring at least 2.3.1) (#26).
recover-rtti.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: recover-rtti-version: 0.4.2+version: 0.4.3 synopsis: Recover run-time type information from the GHC heap description: The main function in this package is 'classify', which looks at the GHC heap to recover type information about arbitrary@@ -20,7 +20,12 @@ README.md CHANGELOG.md -Tested-With: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.2+Tested-With: GHC ==8.8.4+ || ==8.10.7+ || ==9.0.2+ || ==9.2.7+ || ==9.4.5+ || ==9.6.2 source-repository head type: git@@ -45,11 +50,12 @@ Debug.RecoverRTTI.Util Debug.RecoverRTTI.Wrappers - build-depends: base >= 4.13 && < 4.17- , aeson >= 1.4 && < 2.1+ build-depends: base >= 4.13 && < 4.19+ , aeson >= 1.4 && < 2.2 , bytestring >= 0.10 && < 0.12 , containers >= 0.6 && < 0.7- , ghc-heap >= 8.8 && < 9.3+ , ghc-heap >= 8.8 && < 9.7+ , ghc-prim >= 0.5 && < 0.11 , sop-core >= 0.5 && < 0.6 , stm >= 2.5 && < 2.6 , text >= 1.2 && < 2.1@@ -63,8 +69,8 @@ -- The oldest ghc we support is 8.8. -- The dependencies below are the oldest versions of -- these packages that compile with this ghc version.- , vector >= 0.12.1.2 && < 0.13- , primitive >= 0.7 && < 0.8+ , vector >= 0.12.1.2 && < 0.14+ , primitive >= 0.7 && < 0.9 hs-source-dirs: src default-language: Haskell2010
src/Debug/RecoverRTTI/Classify.hs view
@@ -128,10 +128,11 @@ -- -- bytestring- --- -- bytestring changed from PS to BS in version 0.11- (inKnownModule DataByteStringInternal -> Just "PS") -> return $ mustBe $ C_Prim C_BS_Strict+#if MIN_VERSION_bytestring(0,11,0) (inKnownModule DataByteStringInternal -> Just "BS") -> return $ mustBe $ C_Prim C_BS_Strict+#else+ (inKnownModule DataByteStringInternal -> Just "PS") -> return $ mustBe $ C_Prim C_BS_Strict+#endif (inKnownModule DataByteStringLazyInternal -> Just "Empty") -> return $ mustBe $ C_Prim C_BS_Lazy (inKnownModule DataByteStringLazyInternal -> Just "Chunk") -> return $ mustBe $ C_Prim C_BS_Lazy (inKnownModule DataByteStringShortInternal -> Just "SBS") -> return $ mustBe $ C_Prim C_BS_Short
src/Debug/RecoverRTTI/Modules.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-}@@ -185,9 +186,11 @@ -> FlatClosure -> Maybe (String, [Box]) inKnownModuleNested = go singPkg where+ -- We ignore the package version: we assume that we are linked against only+ -- a single version of each package, and that those versions are statically+ -- known (that is, we can use CPP where necessary). go :: SPkg pkg -> KnownModule pkg -> FlatClosure -> Maybe (String, [Box]) go knownPkg knownModl ConstrClosure{pkg, modl, name, ptrArgs} = do- -- We ignore the package version for now guard (stripVowels (namePkg knownPkg) `isPrefixOf` stripVowels pkg) guard (modl == nameModl knownPkg knownModl) return (name, ptrArgs)@@ -210,7 +213,12 @@ nameModl = \case SGhcPrim -> \case GhcTypes -> "GHC.Types"++#if MIN_VERSION_ghc_prim(0,10,0)+ GhcTuple -> "GHC.Tuple.Prim"+#else GhcTuple -> "GHC.Tuple"+#endif SBase -> \case GhcInt -> "GHC.Int"@@ -223,7 +231,11 @@ DataEither -> "Data.Either" SByteString -> \case+#if MIN_VERSION_bytestring(0,11,4)+ DataByteStringInternal -> "Data.ByteString.Internal.Type"+#else DataByteStringInternal -> "Data.ByteString.Internal"+#endif DataByteStringLazyInternal -> "Data.ByteString.Lazy.Internal" DataByteStringShortInternal -> "Data.ByteString.Short.Internal"
src/Debug/RecoverRTTI/Reclassify.hs view
@@ -5,6 +5,7 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeOperators #-} -- | Support for reclassification module Debug.RecoverRTTI.Reclassify (
src/Debug/RecoverRTTI/Util.hs view
@@ -6,6 +6,7 @@ {-# LANGUAGE PolyKinds #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeOperators #-} module Debug.RecoverRTTI.Util ( -- * Existentials
tests/Test/RecoverRTTI/Classifier/Arbitrary.hs view
@@ -6,6 +6,7 @@ {-# LANGUAGE QuantifiedConstraints #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeOperators #-} module Test.RecoverRTTI.Classifier.Arbitrary (arbitraryClassifier_) where