Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
-
8b0940db
by Cheng Shao at 2025-09-20T06:48:05-04:00
3 changed files:
- compiler/GHC/Iface/Ext/Types.hs
- compiler/GHC/Utils/Binary.hs
- utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs
Changes:
| ... | ... | @@ -96,10 +96,6 @@ data HieFile = HieFile |
| 96 | 96 | |
| 97 | 97 | type NameEntityInfo = M.Map Name (S.Set EntityInfo)
|
| 98 | 98 | |
| 99 | -instance Binary NameEntityInfo where
|
|
| 100 | - put_ bh m = put_ bh $ M.toList m
|
|
| 101 | - get bh = fmap M.fromList (get bh)
|
|
| 102 | - |
|
| 103 | 99 | instance Binary HieFile where
|
| 104 | 100 | put_ bh hf = do
|
| 105 | 101 | put_ bh $ hie_hs_file hf
|
| ... | ... | @@ -1965,6 +1965,13 @@ instance (Binary v) => Binary (IntMap v) where |
| 1965 | 1965 | put_ bh m = put_ bh (IntMap.toAscList m)
|
| 1966 | 1966 | get bh = IntMap.fromAscList <$> get bh
|
| 1967 | 1967 | |
| 1968 | +instance (Ord k, Binary k, Binary v) => Binary (Map k v) where
|
|
| 1969 | + put_ bh m = put_ bh $ Map.toList m
|
|
| 1970 | + -- Unfortunately, we can't use fromAscList, since k is often
|
|
| 1971 | + -- instantiated to Name which has a non-deterministic Ord instance
|
|
| 1972 | + -- that only compares the Uniques, and the Uniques are likely
|
|
| 1973 | + -- changed when deserializing!
|
|
| 1974 | + get bh = Map.fromList <$> get bh
|
|
| 1968 | 1975 | |
| 1969 | 1976 | {- Note [FingerprintWithValue]
|
| 1970 | 1977 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| ... | ... | @@ -40,7 +40,6 @@ import Data.Coerce (coerce) |
| 40 | 40 | import Data.Function ((&))
|
| 41 | 41 | import Data.IORef
|
| 42 | 42 | import Data.Map (Map)
|
| 43 | -import qualified Data.Map as Map
|
|
| 44 | 43 | import Data.Version
|
| 45 | 44 | import Data.Word
|
| 46 | 45 | import GHC hiding (NoLink)
|
| ... | ... | @@ -316,10 +315,6 @@ data BinDictionary = BinDictionary |
| 316 | 315 | |
| 317 | 316 | -------------------------------------------------------------------------------
|
| 318 | 317 | |
| 319 | -instance (Ord k, Binary k, Binary v) => Binary (Map k v) where
|
|
| 320 | - put_ bh m = put_ bh (Map.toList m)
|
|
| 321 | - get bh = fmap (Map.fromList) (get bh)
|
|
| 322 | - |
|
| 323 | 318 | instance Binary PackageInfo where
|
| 324 | 319 | put_ bh PackageInfo{piPackageName, piPackageVersion} = do
|
| 325 | 320 | put_ bh (unPackageName piPackageName)
|