X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FInst.lhs;h=d41e36f63ea73e55ddd963388e900fdff003d399;hb=1c05d4fbb6ee7ab68470d0aa79d74a3a4f0d8383;hp=5089b8dba29a5935d858f473f6f90bc5cf667d80;hpb=abfbfafac4f4713d106a214be1c5237b61b7c5e2;p=ghc-hetmet.git diff --git a/compiler/typecheck/Inst.lhs b/compiler/typecheck/Inst.lhs index 5089b8d..d41e36f 100644 --- a/compiler/typecheck/Inst.lhs +++ b/compiler/typecheck/Inst.lhs @@ -61,6 +61,7 @@ import InstEnv import FunDeps import TcMType import TcType +import DsUtils import Type import TypeRep import Class @@ -76,7 +77,6 @@ import Var ( Var, TyVar ) import qualified Var import VarEnv import VarSet -import TysWiredIn import PrelNames import BasicTypes import SrcLoc @@ -137,10 +137,7 @@ mkImplicTy tvs givens wanteds -- The type of an implication constraint in mkForAllTys tvs $ mkPhiTy (map dictPred givens) $ - if isSingleton dict_wanteds then - instType (head dict_wanteds) - else - mkTupleTy Boxed (length dict_wanteds) (map instType dict_wanteds) + mkBigCoreTupTy (map instType dict_wanteds) dictPred :: Inst -> TcPredType dictPred (Dict {tci_pred = pred}) = pred