X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FFamInstEnv.lhs;h=ba96a55e45fc695e95aec52c4f3b8646a6535cc2;hb=1ae354e107715a9e3fd4e2d67b61f868c090e4ae;hp=783ee13836823d3d3cafb722a6b5fcbaf41cceef;hpb=f098cfb236c17bcb3c46e39f9b1d7d8d8ca86003;p=ghc-hetmet.git diff --git a/compiler/types/FamInstEnv.lhs b/compiler/types/FamInstEnv.lhs index 783ee13..ba96a55 100644 --- a/compiler/types/FamInstEnv.lhs +++ b/compiler/types/FamInstEnv.lhs @@ -23,7 +23,6 @@ module FamInstEnv ( #include "HsVersions.h" import InstEnv -import TcType import Unify import Type import TypeRep @@ -314,17 +313,11 @@ lookupFamInstEnvUnify (pkg_ie, home_ie) fam tys ) -- Unification will break badly if the variables overlap -- They shouldn't because we allocate separate uniques for them - case tcUnifyTys bind_fn tpl_tys tys of + case tcUnifyTys instanceBindFun tpl_tys tys of Just subst -> let rep_tys = substTyVars subst (tyConTyVars tycon) in ((item, rep_tys), subst) : find rest Nothing -> find rest - --- See explanation at @InstEnv.bind_fn@. --- -bind_fn :: TyVar -> BindFlag -bind_fn tv | isTcTyVar tv && isExistentialTyVar tv = Skolem - | otherwise = BindMe \end{code} %************************************************************************