From 5463bfd3f0c3cb91d7852e6e35a0b3e3738da071 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Thu, 28 May 2009 16:48:02 +0000 Subject: [PATCH] Adjust error message slightly --- compiler/typecheck/TcTyFuns.lhs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/typecheck/TcTyFuns.lhs b/compiler/typecheck/TcTyFuns.lhs index 8b01749..6426c92 100644 --- a/compiler/typecheck/TcTyFuns.lhs +++ b/compiler/typecheck/TcTyFuns.lhs @@ -1610,10 +1610,10 @@ misMatchMsg env0 (ty_act, ty_exp) open_tcs = [tc | TyConApp tc _ <- [ty_act, ty_exp] , isOpenTyCon tc ] pp_open_tc tc = ptext (sLit "NB:") <+> quotes (ppr tc) - <+> pp_inj <+> ptext (sLit "type function") - where - pp_inj | isInjectiveTyCon tc = ptext (sLit "is an (injective)") - | otherwise = ptext (sLit "is a (non-injective)") + <+> ptext (sLit "is a type function") <> pp_inj + where + pp_inj | isInjectiveTyCon tc = empty + | otherwise = ptext (sLit (", and may not be injective")) ppr_ty :: TidyEnv -> TcType -> (TidyEnv, SDoc, SDoc) ppr_ty env ty @@ -1639,7 +1639,7 @@ It's very confusing to get a message like Couldn't match expected type `Depend s' against inferred type `Depend s1' so pp_open_tc adds: - NB: `Depend' is a (non-injective) type function + NB: `Depend' is type function, and hence may not be injective Currently we add this independently for each argument, so we also get Couldn't match expected type `a' -- 1.7.10.4