ghc-check 0.5.0.7 → 0.5.0.8
raw patch · 2 files changed
+15/−2 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- GHC.Check: [$sel:compileTime:InstallationChecked, $sel:runTime:InstallationChecked] :: InstallationCheck -> !Version
- GHC.Check: [$sel:compileTime:InstallationChecked] :: InstallationCheck -> !Version
- GHC.Check: [$sel:compileTime:PackageVersionMismatch] :: NotCompatibleReason -> !Version
- GHC.Check: [$sel:compileTime:VersionMismatch, $sel:runTime:VersionMismatch] :: PackageCheck -> !Version
- GHC.Check: [$sel:compileTime:VersionMismatch] :: PackageCheck -> !Version
- GHC.Check: [$sel:compileTimeAbi:PackageVersionMismatch] :: NotCompatibleReason -> !String
- GHC.Check: [$sel:compileTimeAbi:VersionMismatch, $sel:runTimeAbi:VersionMismatch] :: PackageCheck -> !String
- GHC.Check: [$sel:libdir:InstallationChecked] :: InstallationCheck -> !String
- GHC.Check: [$sel:packageCheck:InstallationChecked] :: InstallationCheck -> Ghc PackageCheckResult
- GHC.Check: [$sel:packageName:PackageVersionMismatch] :: NotCompatibleReason -> !String
- GHC.Check: [$sel:packageVersion:VersionMismatch] :: PackageCheck -> !PackageVersion
- GHC.Check: [$sel:reason:ProbablyCompatible] :: CompatibilityGuess -> !NotCompatibleReason
- GHC.Check: [$sel:runTime:PackageVersionMismatch] :: NotCompatibleReason -> !Version
- GHC.Check: [$sel:runTimeAbi:PackageVersionMismatch] :: NotCompatibleReason -> !String
- GHC.Check: [$sel:warning:ProbablyCompatible] :: CompatibilityGuess -> Maybe String
+ GHC.Check: [compileTimeAbi] :: NotCompatibleReason -> !String
+ GHC.Check: [compileTime] :: NotCompatibleReason -> !Version
+ GHC.Check: [libdir] :: InstallationCheck -> !String
+ GHC.Check: [packageCheck] :: InstallationCheck -> Ghc PackageCheckResult
+ GHC.Check: [packageName] :: NotCompatibleReason -> !String
+ GHC.Check: [packageVersion] :: PackageCheck -> !PackageVersion
+ GHC.Check: [reason] :: CompatibilityGuess -> !NotCompatibleReason
+ GHC.Check: [runTimeAbi] :: NotCompatibleReason -> !String
+ GHC.Check: [runTime] :: NotCompatibleReason -> !Version
+ GHC.Check: [warning] :: CompatibilityGuess -> Maybe String
- GHC.Check: AbiMismatch :: !String -> !Version -> PackageCheck
+ GHC.Check: AbiMismatch :: !String -> !String -> !Version -> PackageCheck
- GHC.Check: InstallationMismatch :: !String -> !Version -> InstallationCheck
+ GHC.Check: InstallationMismatch :: !String -> !Version -> !Version -> InstallationCheck
- GHC.Check: VersionMismatch :: !Version -> PackageCheck
+ GHC.Check: VersionMismatch :: !Version -> !Version -> PackageCheck
Files
- ghc-check.cabal +3/−1
- src/GHC/Check/PackageDb.hs +12/−1
ghc-check.cabal view
@@ -1,7 +1,7 @@ cabal-version: 1.20 build-type: Simple name: ghc-check-version: 0.5.0.7+version: 0.5.0.8 synopsis: detect mismatches between compile-time and run-time versions of the ghc api description: detect mismatches between compile-time and run-time versions of the ghc api bug-reports: https://github.com/pepeiborra/ghc-check/issues@@ -11,6 +11,8 @@ maintainer: pepeiborra@gmail.com category: Development extra-source-files: README.md+tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.3 || == 9.2.4 || == 9.4.1+ flag ghc-check-use-package-abis description: record package abis at compile time for improved precision (requires compile-time TH)
src/GHC/Check/PackageDb.hs view
@@ -34,7 +34,9 @@ (lookupUnit, explicitUnits, lookupUnitId, lookupPackageName, GenericUnitInfo (..), UnitInfo, unitPackageNameString)+#if !MIN_VERSION_ghc(9,4,0) import GHC.Unit.Types (indefUnit)+#endif #elif MIN_VERSION_ghc(9,0,1) import GHC (unitState, Ghc,@@ -77,13 +79,22 @@ version :: PackageVersion -> Version version PackageVersion{ myVersion = MyVersion v} = v +#if MIN_VERSION_ghc(9,4,0)+indefUnit :: a -> a+indefUnit = id+#endif+ #if MIN_VERSION_ghc(9,2,0) -- | @getPackageVersion p@ returns the version of package @p@ that will be used in the Ghc session. getPackageVersion :: String -> Ghc (Maybe PackageVersion) getPackageVersion pName = runMaybeT $ do hsc_env <- Monad.lift getSession let pkgst = ue_units $ hsc_unit_env hsc_env- depends = explicitUnits pkgst+ depends =+#if MIN_VERSION_ghc(9,4,0)+ map fst $+#endif+ explicitUnits pkgst let explicit = do pkgs <- traverse (MaybeT . return . lookupUnit pkgst) depends