summaryrefslogtreecommitdiff
path: root/dev-lang/ghc/files/ghc-9.0.2-modorigin.patch
diff options
context:
space:
mode:
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.patch24
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