From: simonpj Date: Thu, 6 Jan 2005 00:28:05 +0000 (+0000) Subject: [project @ 2005-01-06 00:28:05 by simonpj] X-Git-Tag: Initial_conversion_from_CVS_complete~1295 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=3f8685fa217783d76d51bad7e1642c1fe50f5ebf;p=ghc-hetmet.git [project @ 2005-01-06 00:28:05 by simonpj] Wibble; fixes tcTyVarDetails breakage --- diff --git a/ghc/compiler/types/InstEnv.lhs b/ghc/compiler/types/InstEnv.lhs index 46ab2cb..965ba55 100644 --- a/ghc/compiler/types/InstEnv.lhs +++ b/ghc/compiler/types/InstEnv.lhs @@ -17,7 +17,7 @@ module InstEnv ( #include "HsVersions.h" import Class ( Class, classTvsFds ) -import Var ( Id ) +import Var ( Id, isTcTyVar ) import VarSet import Type ( TvSubst ) import TcType ( Type, tcTyConAppTyCon, tcIsTyVarTy, @@ -332,8 +332,8 @@ lookup_inst_env env key_cls key_tys key_all_tvs Just _ -> find rest ms (dfun_id:us) Nothing -> find rest ms us - bind_fn tv | isExistentialTyVar tv = Skolem - | otherwise = BindMe + bind_fn tv | isTcTyVar tv && isExistentialTyVar tv = Skolem + | otherwise = BindMe -- The key_tys can contain skolem constants, and we can guarantee that those -- are never going to be instantiated to anything, so we should not involve -- them in the unification test. Example: