From 584f03faed67c59895c90900ededb715a1a62528 Mon Sep 17 00:00:00 2001 From: Simon Peyton Jones Date: Thu, 27 Jan 2022 10:42:27 +0000 Subject: Make typechecker trace less strict Fixes #21011 --- compiler/GHC/Tc/Solver/Rewrite.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/GHC/Tc/Solver/Rewrite.hs b/compiler/GHC/Tc/Solver/Rewrite.hs index 3f2f8f35ce..b7573e7f09 100644 --- a/compiler/GHC/Tc/Solver/Rewrite.hs +++ b/compiler/GHC/Tc/Solver/Rewrite.hs @@ -865,8 +865,10 @@ rewrite_exact_fam_app tc tys { Just (redn, fr@(_, inert_eq_rel)) | fr `eqCanRewriteFR` (flavour, eq_rel) -> - do { traceRewriteM "rewrite family application with inert" - (ppr tc <+> ppr xis $$ ppr redn) + do { traceRewriteM "rewrite family application with inert" $ + vcat [ ppr tc <+> ppr xis + , ppUnless (flavour == Derived) (ppr redn) ] + -- Deriveds have no evidence, so we can't print the reduction ; finish True (homogenise downgraded_redn) } -- this will sometimes duplicate an inert in the cache, -- but avoiding doing so had no impact on performance, and -- cgit v1.2.1