binary 0.8.9.0 → 0.8.9.1
raw patch · 3 files changed
+13/−12 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- binary.cabal +1/−1
- changelog.md +5/−0
- src/Data/Binary/Class.hs +7/−11
binary.cabal view
@@ -9,7 +9,7 @@ -- sed -i 's/\(binary\),/\1-cabal-is-broken,/' binary.cabal name: binary-version: 0.8.9.0+version: 0.8.9.1 license: BSD-3-Clause license-file: LICENSE author: Lennart Kolmodin <kolmodin@gmail.com>
changelog.md view
@@ -1,6 +1,11 @@ binary ====== +binary-0.8.9.1+--------------++- Fix redundant pattern match warning in GHC 9.4+ binary-0.8.9.0 --------------
src/Data/Binary/Class.hs view
@@ -994,9 +994,6 @@ _ -> fail "GHCi.TH.Binary.putTypeLitSort: invalid tag" putTypeRep :: TypeRep a -> Put--- Special handling for TYPE, (->), and RuntimeRep due to recursive kind--- relations.--- See Note [Mutually recursive representations of primitive types] putTypeRep rep -- Handle Type specially since it's so common | Just HRefl <- rep `eqTypeRep` (typeRep :: TypeRep Type) = put (0 :: Word8)@@ -1008,10 +1005,17 @@ put (2 :: Word8) putTypeRep f putTypeRep x+#if __GLASGOW_HASKELL__ < 903+-- N.B. This pattern never matches,+-- even on versions of GHC older than 9.3:+-- a `Fun` typerep will match with the `App` pattern.+-- This match is kept solely for pattern-match warnings,+-- which are incorrect on GHC prior to 9.3. putTypeRep (Fun arg res) = do put (3 :: Word8) putTypeRep arg putTypeRep res+#endif getSomeTypeRep :: Get SomeTypeRep getSomeTypeRep = do@@ -1039,14 +1043,6 @@ [ "Applied type: " ++ show f , "To argument: " ++ show x ]- 3 -> do SomeTypeRep arg <- getSomeTypeRep- SomeTypeRep res <- getSomeTypeRep- case typeRepKind arg `eqTypeRep` (typeRep :: TypeRep Type) of- Just HRefl ->- case typeRepKind res `eqTypeRep` (typeRep :: TypeRep Type) of- Just HRefl -> return $ SomeTypeRep $ Fun arg res- Nothing -> failure "Kind mismatch" []- Nothing -> failure "Kind mismatch" [] _ -> failure "Invalid SomeTypeRep" [] where failure description info =