|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Description: Don't include BufPos in interface files
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Author: Matthew Pickering
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Origin: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8972
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Bug: https://gitlab.haskell.org/ghc/ghc/-/issues/22162
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Index: b/compiler/GHC/Iface/Ext/Types.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
--- a/compiler/GHC/Iface/Ext/Types.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+++ b/compiler/GHC/Iface/Ext/Types.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -746,5 +746,5 @@ toHieName name
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
| isKnownKeyName name = KnownKeyName (nameUnique name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
| isExternalName name = ExternalName (nameModule name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
(nameOccName name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- (nameSrcSpan name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- | otherwise = LocalName (nameOccName name) (nameSrcSpan name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ (removeBufSpan $ nameSrcSpan name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ | otherwise = LocalName (nameOccName name) (removeBufSpan $ nameSrcSpan name)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Index: b/compiler/GHC/Types/SrcLoc.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
--- a/compiler/GHC/Types/SrcLoc.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+++ b/compiler/GHC/Types/SrcLoc.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -72,6 +72,7 @@ module GHC.Types.SrcLoc (
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
getBufPos,
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
BufSpan(..),
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
getBufSpan,
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ removeBufSpan,
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
-- * Located
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Located,
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -397,6 +398,10 @@ data UnhelpfulSpanReason
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
| UnhelpfulOther !FastString
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
deriving (Eq, Show)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+removeBufSpan :: SrcSpan -> SrcSpan
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+removeBufSpan (RealSrcSpan s _) = RealSrcSpan s Nothing
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+removeBufSpan s = s
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
{- Note [Why Maybe BufPos]
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
In SrcLoc we store (Maybe BufPos); in SrcSpan we store (Maybe BufSpan).
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
Index: b/compiler/GHC/Utils/Binary.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
--- a/compiler/GHC/Utils/Binary.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+++ b/compiler/GHC/Utils/Binary.hs
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -1444,19 +1444,6 @@ instance Binary RealSrcSpan where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
return (mkRealSrcSpan (mkRealSrcLoc f sl sc)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
(mkRealSrcLoc f el ec))
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
-instance Binary BufPos where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh (BufPos i) = put_ bh i
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- get bh = BufPos <$> get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
-
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
-instance Binary BufSpan where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh (BufSpan start end) = do
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh start
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh end
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- get bh = do
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- start <- get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- end <- get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- return (BufSpan start end)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
-
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
instance Binary UnhelpfulSpanReason where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
put_ bh r = case r of
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
UnhelpfulNoLocationInfo -> putByte bh 0
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -1475,10 +1462,11 @@ instance Binary UnhelpfulSpanReason wher
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
_ -> UnhelpfulOther <$> get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
instance Binary SrcSpan where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh (RealSrcSpan ss sb) = do
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ put_ bh (RealSrcSpan ss _sb) = do
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
putByte bh 0
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ -- BufSpan doesn't ever get serialised because the positions depend
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ -- on build location.
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
put_ bh ss
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- put_ bh sb
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
put_ bh (UnhelpfulSpan s) = do
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
putByte bh 1
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
@@ -1488,8 +1476,7 @@ instance Binary SrcSpan where
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
h <- getByte bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
case h of
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
0 -> do ss <- get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- sb <- get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
- return (RealSrcSpan ss sb)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
+ return (RealSrcSpan ss Nothing)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
_ -> do s <- get bh
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
return (UnhelpfulSpan s)
|
|
![](https://seccdn.libravatar.org/avatar/ade620fcd0c270130799ce2518991baee38b812dd3c709cdc81983ec1c5bbdc0?s=16&d=retro) |
2cf80b1 |
|