From 3f8685fa217783d76d51bad7e1642c1fe50f5ebf Mon Sep 17 00:00:00 2001 From: simonpj Date: Thu, 6 Jan 2005 00:28:05 +0000 Subject: [PATCH] [project @ 2005-01-06 00:28:05 by simonpj] Wibble; fixes tcTyVarDetails breakage --- ghc/compiler/types/InstEnv.lhs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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: -- 1.7.10.4