From: Manuel M T Chakravarty Date: Mon, 3 Sep 2007 07:45:28 +0000 (+0000) Subject: Better error message for unsolvable equalities X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=e913ed4d009dac1be837b79e99f352ca1d3fc965 Better error message for unsolvable equalities --- diff --git a/compiler/typecheck/TcTyFuns.lhs b/compiler/typecheck/TcTyFuns.lhs index 141afb1..39cee90 100644 --- a/compiler/typecheck/TcTyFuns.lhs +++ b/compiler/typecheck/TcTyFuns.lhs @@ -591,10 +591,11 @@ decompInst i@(EqInst {}) | con1 /= con2 && not (isOpenSynTyCon con1 || isOpenSynTyCon con2) -- not matching data constructors (of any flavour) are bad news = do { env0 <- tcInitTidyEnv - ; let (env1, tidy_ty1) = tidyOpenType env0 ty1 - (env2, tidy_ty2) = tidyOpenType env1 ty2 - extra = sep [ppr tidy_ty1, char '~', ppr tidy_ty2] - msg = ptext SLIT("Couldn't match expected type against inferred type") + ; let (env1, tidy_ty1) = tidyOpenType env0 ty1 + (env2, tidy_ty2) = tidyOpenType env1 ty2 + extra = sep [ppr tidy_ty1, char '~', ppr tidy_ty2] + msg = + ptext SLIT("Unsolvable equality constraint:") ; failWithTcM (env2, hang msg 2 extra) } where