diff options
Diffstat (limited to 'dev-lang/ghc/files/ghc-9.0.2-modorigin.patch')
| -rw-r--r-- | dev-lang/ghc/files/ghc-9.0.2-modorigin.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/dev-lang/ghc/files/ghc-9.0.2-modorigin.patch b/dev-lang/ghc/files/ghc-9.0.2-modorigin.patch new file mode 100644 index 000000000000..3c7053778e98 --- /dev/null +++ b/dev-lang/ghc/files/ghc-9.0.2-modorigin.patch @@ -0,0 +1,24 @@ +diff --git a/compiler/GHC/Unit/State.hs b/compiler/GHC/Unit/State.hs +index cefa5e5058bf68e68aaafadad0c7874189bf8225..92b38443c8378eb69db19a40d23abca47d6acee8 100644 +--- a/compiler/GHC/Unit/State.hs ++++ b/compiler/GHC/Unit/State.hs +@@ -224,14 +224,16 @@ fromFlag :: ModuleOrigin + fromFlag = ModOrigin Nothing [] [] True + + instance Semigroup ModuleOrigin where +- ModOrigin e res rhs f <> ModOrigin e' res' rhs' f' = ++ x@(ModOrigin e res rhs f) <> y@(ModOrigin e' res' rhs' f') = + ModOrigin (g e e') (res ++ res') (rhs ++ rhs') (f || f') + where g (Just b) (Just b') + | b == b' = Just b +- | otherwise = panic "ModOrigin: package both exposed/hidden" ++ | otherwise = pprPanic "ModOrigin: package both exposed/hidden" $ ++ text "x: " <> ppr x $$ text "y: " <> ppr y + g Nothing x = x + g x Nothing = x +- _x <> _y = panic "ModOrigin: hidden module redefined" ++ x <> y = pprPanic "ModOrigin: hidden module redefined" $ ++ text "x: " <> ppr x $$ text "y: " <> ppr y + + instance Monoid ModuleOrigin where + mempty = ModOrigin Nothing [] [] False |
