recover-rtti 0.5.2 → 0.5.3
raw patch · 3 files changed
+49/−8 lines, 3 filesdep ~basedep ~containersdep ~ghc-heapPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, containers, ghc-heap
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- recover-rtti.cabal +5/−4
- src/Debug/RecoverRTTI/Modules.hs +39/−4
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Revision history for recover-rtti +## 0.5.3 -- 2026-01-07++* Support `ghc-9.14` (Brandon Chinn, #48)+* Support `containers-0.8` (Brandon Chinn, #49)+ ## 0.5.2 -- 2025-12-16 * Support `unordered-containers-0.2.21` (Brandon Chinn, #45)
recover-rtti.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: recover-rtti-version: 0.5.2+version: 0.5.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@@ -24,13 +24,14 @@ GHC==9.8.4 GHC==9.10.2 GHC==9.12.2+ GHC==9.14.1 source-repository head type: git location: https://github.com/well-typed/recover-rtti common lang- build-depends: base >= 4.16 && < 4.22+ build-depends: base >= 4.16 && < 4.23 default-language: GHC2021 ghc-options:@@ -79,8 +80,8 @@ build-depends: -- bundled libraries , bytestring >= 0.11 && < 0.13- , containers >= 0.6 && < 0.8- , ghc-heap >= 9.2 && < 9.13+ , containers >= 0.6 && < 0.9+ , ghc-heap >= 9.2 && < 9.15 , mtl >= 2.2 && < 2.4 , stm >= 2.5 && < 2.6 , text >= 1.2 && < 2.2
src/Debug/RecoverRTTI/Modules.hs view
@@ -21,18 +21,22 @@ -------------------------------------------------------------------------------} data KnownPkg =- PkgGhcPrim+ PkgBase+#if !MIN_VERSION_base(4,22,0)+ | PkgGhcPrim+#endif #if MIN_VERSION_base(4,20,0) | PkgGhcInternal #endif- | PkgBase #if !MIN_VERSION_base(4,17,0) | PkgDataArrayByte #endif | PkgByteString | PkgText | PkgIntegerWiredIn+#if !MIN_VERSION_base(4,22,0) | PkgGhcBignum+#endif | PkgContainers | PkgAeson | PkgUnorderedContainers@@ -46,7 +50,9 @@ -------------------------------------------------------------------------------} data SPkg (pkg :: KnownPkg) where+#if !MIN_VERSION_base(4,22,0) SGhcPrim :: SPkg 'PkgGhcPrim+#endif #if MIN_VERSION_base(4,20,0) SGhcInternal :: SPkg 'PkgGhcInternal #endif@@ -57,7 +63,9 @@ SByteString :: SPkg 'PkgByteString SText :: SPkg 'PkgText SIntegerWiredIn :: SPkg 'PkgIntegerWiredIn+#if !MIN_VERSION_base(4,22,0) SGhcBignum :: SPkg 'PkgGhcBignum+#endif SContainers :: SPkg 'PkgContainers SAeson :: SPkg 'PkgAeson SUnorderedContainers :: SPkg 'PkgUnorderedContainers@@ -67,7 +75,9 @@ class IsKnownPkg pkg where singPkg :: SPkg pkg +#if !MIN_VERSION_base(4,22,0) instance IsKnownPkg 'PkgGhcPrim where singPkg = SGhcPrim+#endif #if MIN_VERSION_base(4,20,0) instance IsKnownPkg 'PkgGhcInternal where singPkg = SGhcInternal #endif@@ -78,7 +88,9 @@ instance IsKnownPkg 'PkgByteString where singPkg = SByteString instance IsKnownPkg 'PkgText where singPkg = SText instance IsKnownPkg 'PkgIntegerWiredIn where singPkg = SIntegerWiredIn+#if !MIN_VERSION_base(4,22,0) instance IsKnownPkg 'PkgGhcBignum where singPkg = SGhcBignum+#endif instance IsKnownPkg 'PkgContainers where singPkg = SContainers instance IsKnownPkg 'PkgAeson where singPkg = SAeson instance IsKnownPkg 'PkgUnorderedContainers where singPkg = SUnorderedContainers@@ -89,9 +101,11 @@ Modules in @ghc-prim@ -------------------------------------------------------------------------------} +#if !MIN_VERSION_base(4,22,0) data instance KnownModule 'PkgGhcPrim = GhcTypes | GhcTuple+#endif {------------------------------------------------------------------------------- Modules in @ghc-internal@ (ghc 9.10 and up)@@ -108,6 +122,11 @@ | GhcReal | DataEither #endif+#if MIN_VERSION_base(4,22,0)+ | GhcTypes -- Moved from ghc-prim+ | GhcTuple -- Moved from ghc-prim+ | GhcNumInteger -- Moved from ghc-internal+#endif {------------------------------------------------------------------------------- Modules in @base@@@ -168,8 +187,10 @@ Modules in @ghc-bignum@ -------------------------------------------------------------------------------} +#if !MIN_VERSION_base(4,22,0) data instance KnownModule 'PkgGhcBignum = GhcNumInteger+#endif {------------------------------------------------------------------------------- Modules in @containers@@@ -244,7 +265,9 @@ go _ _ _otherClosure = Nothing namePkg :: SPkg pkg -> String+#if !MIN_VERSION_base(4,22,0) namePkg SGhcPrim = "ghc-prim"+#endif #if MIN_VERSION_base(4,20,0) namePkg SGhcInternal = "ghc-internal" #endif@@ -255,7 +278,9 @@ namePkg SByteString = "bytestring" namePkg SText = "text" namePkg SIntegerWiredIn = "integer-wired-in"+#if !MIN_VERSION_base(4,22,0) namePkg SGhcBignum = "ghc-bignum"+#endif namePkg SContainers = "containers" namePkg SAeson = "aeson" namePkg SUnorderedContainers = "unordered-containers"@@ -264,9 +289,8 @@ nameModl :: SPkg pkg -> KnownModule pkg -> String nameModl = \case+#if !MIN_VERSION_base(4,22,0) SGhcPrim -> \case- GhcTypes -> "GHC.Types"- -- ghc-prim versions bundled with ghc: -- -- > base ghc-prim@@ -277,12 +301,15 @@ -- > 9.8.4 4.19 0.11.0 -- > 9.10.2 4.20 0.12.0 -- > 9.12.2 4.21 0.13.0+ -- > 9.14.1 4.22 0.13.1 -- -- If we want to use @MIN_VERSION_ghc_prim@, we need to declare a dependency -- on @ghc-prim@; since, we don't /actually/ depend on it, however, other -- than to check the version, this results in unused package warnings. -- We therefore use the version of base as a proxy. + GhcTypes -> "GHC.Types"+ #if MIN_VERSION_base(4,20,0) GhcTuple -> "GHC.Tuple" #elif MIN_VERSION_base(4,18,0)@@ -291,6 +318,7 @@ #else GhcTuple -> "GHC.Tuple" #endif+#endif #if MIN_VERSION_base(4,20,0) SGhcInternal -> \case@@ -303,6 +331,11 @@ GhcReal -> "GHC.Internal.Real" DataEither -> "GHC.Internal.Data.Either" #endif+#if MIN_VERSION_base(4,22,0)+ GhcTypes -> "GHC.Internal.Types"+ GhcTuple -> "GHC.Internal.Tuple"+ GhcNumInteger -> "GHC.Internal.Bignum.Integer"+#endif SBase -> \case #if !MIN_VERSION_base(4,20,0)@@ -334,8 +367,10 @@ SIntegerWiredIn -> \case GhcIntegerType -> "GHC.Integer.Type" +#if !MIN_VERSION_base(4,22,0) SGhcBignum -> \case GhcNumInteger -> "GHC.Num.Integer"+#endif SContainers -> \case DataSetInternal -> "Data.Set.Internal"