From e913ed4d009dac1be837b79e99f352ca1d3fc965 Mon Sep 17 00:00:00 2001 From: Manuel M T Chakravarty Date: Mon, 3 Sep 2007 07:45:28 +0000 Subject: [PATCH] Better error message for unsolvable equalities --- compiler/typecheck/TcTyFuns.lhs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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 -- 1.7.10.4