X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Ftypecheck%2FTcTyFuns.lhs;fp=compiler%2Ftypecheck%2FTcTyFuns.lhs;h=5777955ed73cd5536c52baec3d4aa004a38b31b2;hb=9524fc33fdd65eca2c29be0dd03904fae4b22f46;hp=0066d2fd03e03f4fe6f71dbc0b8128bb8f4c5479;hpb=6561069ad5d0b11de223686be59372a3b1e6aed7;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcTyFuns.lhs b/compiler/typecheck/TcTyFuns.lhs index 0066d2f..5777955 100644 --- a/compiler/typecheck/TcTyFuns.lhs +++ b/compiler/typecheck/TcTyFuns.lhs @@ -37,6 +37,7 @@ import Name import Bag import Outputable import SrcLoc ( Located(..) ) +import Util ( debugIsOn ) import Maybes import FastString @@ -278,7 +279,15 @@ no further propoagation is possible. -- normaliseEqs :: [Inst] -> TcM EqConfig normaliseEqs eqs - = do { ASSERTM2( allM wantedEqInstIsUnsolved eqs, ppr eqs ) + = do { if debugIsOn then do { all_unsolved <- allM wantedEqInstIsUnsolved eqs + ; let msg = ptext (sLit "(This warning is harmless; for Simon & Manuel)") + ; WARN( not all_unsolved, msg $$ ppr eqs ) return () } + else return () + -- This is just a warning (not an error) because a current + -- harmless bug means that we sometimes solve the same + -- equality more than once It'll go away with the new + -- solver. See Trac #2999 for example + ; traceTc $ ptext (sLit "Entering normaliseEqs") ; (eqss, skolemss) <- mapAndUnzipM normEqInst eqs