recursion-ninja pushed to branch wip/26699 at Glasgow Haskell Compiler / GHC
Commits:
-
ebe18155
by recursion-ninja at 2026-01-28T15:24:18+00:00
4 changed files:
- compiler/GHC/Tc/Utils/Instantiate.hs
- compiler/GHC/Utils/Binary.hs
- compiler/Language/Haskell/Syntax/Basic.hs
- compiler/Language/Haskell/Syntax/Decls/Overlap.hs
Changes:
| ... | ... | @@ -985,7 +985,7 @@ tcExtendLocalInstEnv :: [ClsInst] -> TcM a -> TcM a |
| 985 | 985 | tcExtendLocalInstEnv dfuns thing_inside
|
| 986 | 986 | = do { traceDFuns dfuns
|
| 987 | 987 | ; env <- getGblEnv
|
| 988 | - -- F~orce the access to the TcgEnv so it isn't retained.
|
|
| 988 | + -- Force the access to the TcgEnv so it isn't retained.
|
|
| 989 | 989 | -- During auditing it is much easier to observe in -hi profiles if
|
| 990 | 990 | -- there are a very small number of TcGblEnv. Keeping a TcGblEnv
|
| 991 | 991 | -- alive is quite dangerous because it contains reference to many
|
| ... | ... | @@ -2013,10 +2013,14 @@ instance NFData a => NFData (FingerprintWithValue a) where |
| 2013 | 2013 | = rnf fp `seq` rnf mflags `seq` ()
|
| 2014 | 2014 | |
| 2015 | 2015 | instance Binary Boxity where -- implemented via isBoxed-isomorphism to Bool
|
| 2016 | - put_ bh = put_ bh . isBoxed
|
|
| 2016 | + put_ bh t = putByte bh $ case t of
|
|
| 2017 | + Boxed -> 0
|
|
| 2018 | + Unboxed -> 1
|
|
| 2017 | 2019 | get bh = do
|
| 2018 | - b <- get bh
|
|
| 2019 | - pure $ if b then Boxed else Unboxed
|
|
| 2020 | + t <- getByte bh
|
|
| 2021 | + evaluate $ case t of
|
|
| 2022 | + 0 -> Boxed
|
|
| 2023 | + 1 -> Unboxed
|
|
| 2020 | 2024 | |
| 2021 | 2025 | instance Binary ConInfoTable where
|
| 2022 | 2026 | get bh = Binary.decode <$> get bh
|
| ... | ... | @@ -3,8 +3,6 @@ |
| 3 | 3 | {-# LANGUAGE OverlappingInstances #-}
|
| 4 | 4 | {-# LANGUAGE UndecidableInstances #-} -- Eq XOverlapMode, NFData OverlapMode
|
| 5 | 5 | |
| 6 | --- | Data-type defintions of the Abstrast Sytntax Tree
|
|
| 7 | --- which *do not* have any /Trees That Grow/ extension points.
|
|
| 8 | 6 | module Language.Haskell.Syntax.Basic where
|
| 9 | 7 | |
| 10 | 8 | import Control.DeepSeq
|
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | {-# LANGUAGE UndecidableInstances #-} -- Eq XOverlapMode, NFData OverlapMode
|
| 5 | 5 | |
| 6 | 6 | {- |
|
| 7 | -Data-type describing the state of "overlapping instances" for a type.
|
|
| 7 | +Data-type describing the overlap annotations for instances.
|
|
| 8 | 8 | -}
|
| 9 | 9 | module Language.Haskell.Syntax.Decls.Overlap where
|
| 10 | 10 |