Don't barf on error message with non-tc tyvars
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>
Thu, 18 Oct 2007 06:03:36 +0000 (06:03 +0000)
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>
Thu, 18 Oct 2007 06:03:36 +0000 (06:03 +0000)
MERGE TO STABLE

compiler/typecheck/TcSimplify.lhs
compiler/typecheck/TcTyFuns.lhs

index 4670a15..3be5415 100644 (file)
@@ -3110,8 +3110,9 @@ mkMonomorphismMsg tidy_env inst_tvs
                nest 2 (vcat docs),
                monomorphism_fix dflags]
 
-isRuntimeUnk :: TcTyVar -> Bool
-isRuntimeUnk x | SkolemTv RuntimeUnkSkol <- tcTyVarDetails x = True
+isRuntimeUnk :: TyVar -> Bool
+isRuntimeUnk x | isTcTyVar x
+               , SkolemTv RuntimeUnkSkol <- tcTyVarDetails x = True
                | otherwise = False
 
 monomorphism_fix :: DynFlags -> SDoc
index cb0eeae..4e3f728 100644 (file)
@@ -1236,7 +1236,7 @@ ppr_ty env ty
 -- (ppr_extra env ty) shows extra info about 'ty'
 ppr_extra :: TidyEnv -> Type -> TcM (TidyEnv, SDoc)
 ppr_extra env (TyVarTy tv)
-  | isSkolemTyVar tv || isSigTyVar tv
+  | isTcTyVar tv && (isSkolemTyVar tv || isSigTyVar tv)
   = return (env1, pprSkolTvBinding tv1)
   where
     (env1, tv1) = tidySkolemTyVar env tv