summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-05-18 10:06:25 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-05-20 05:33:44 -0400
commitc1e24e610ae572b77bc1507674431a84563af759 (patch)
treee1569bc512e539dde55130baf3eb3e2550f5914d /compiler
parent8a26e8d62cf315fb351419ac2cad6aa01ca9e175 (diff)
downloadhaskell-c1e24e610ae572b77bc1507674431a84563af759.tar.gz
Remove pprTrace from pushCoercionIntoLambda (#21555)
This firstly caused spurious output to be emitted (as evidenced by #21555) but even worse caused a massive coercion to be attempted to be printed (> 200k terms) which would invariably eats up all the memory of your computer. The good news is that removing this trace allows the program to compile to completion, the bad news is that the program exhibits a core lint error (on 9.0.2) but not any other releases it seems. Fixes #21577 and #21555
Diffstat (limited to 'compiler')
-rw-r--r--compiler/GHC/Core/Opt/Arity.hs3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/GHC/Core/Opt/Arity.hs b/compiler/GHC/Core/Opt/Arity.hs
index b318c75f59..f1cc2bd4ea 100644
--- a/compiler/GHC/Core/Opt/Arity.hs
+++ b/compiler/GHC/Core/Opt/Arity.hs
@@ -1794,7 +1794,8 @@ pushCoercionIntoLambda in_scope x e co
-- so we extend the substitution with x |-> (x' |> sym co1).
in Just (x', substExpr subst e `mkCast` co2)
| otherwise
- = pprTrace "exprIsLambda_maybe: Unexpected lambda in case" (ppr (Lam x e))
+ -- See #21555 / #21577 for a case where this trace fired but the cause was benign
+ = -- pprTrace "exprIsLambda_maybe: Unexpected lambda in case" (ppr (Lam x e))
Nothing
pushCoDataCon :: DataCon -> [CoreExpr] -> Coercion