import TcMonoType ( tcAddScopedTyVars, tcHsSigType, UserTypeCtxt(..) )
import Inst ( LIE, isEmptyLIE, plusLIE, emptyLIE, plusLIEs, lieToList )
import TcEnv ( TcId, tcLookupLocalIds, tcExtendLocalValEnv, tcExtendGlobalTyVars )
-import TcPat ( tcPat, tcMonoPatBndr, polyPatSig )
+import TcPat ( tcPat, tcMonoPatBndr )
import TcMType ( newTyVarTy )
import TcType ( TcType, TcTyVar, tyVarsOfType,
mkFunTy, isOverloadedTy, liftedTypeKind, openTypeKind )
import TcType ( Type, Kind, SourceType(..), ThetaType, TyVarDetails(..),
TcTyVar, TcKind, TcThetaType, TcTauType,
mkTyVarTy, mkTyVarTys, mkFunTy, mkSynTy,
- tcSplitForAllTys, tcSplitRhoTy,
hoistForAllTys, zipFunTys,
mkSigmaTy, mkPredTy, mkTyConApp, mkAppTys,
liftedTypeKind, unliftedTypeKind, mkArrowKind,
)
import Inst ( Inst, InstOrigin(..), newMethodWithGivenTy, instToId )
-import Subst ( mkTopTyVarSubst, substTy )
import Id ( mkLocalId, idName, idType )
import Var ( TyVar, mkTyVar, tyVarKind )
import ErrUtils ( Message )
import HsSyn ( RuleDecl(..), RuleBndr(..), collectRuleBndrSigTys )
import CoreSyn ( CoreRule(..) )
import RnHsSyn ( RenamedRuleDecl )
-import HscTypes ( PackageRuleBase )
import TcHsSyn ( TypecheckedRuleDecl, mkHsLet )
import TcMonad
import TcSimplify ( tcSimplifyToDicts, tcSimplifyInferCheck )
import TcMType ( newTyVarTy )
import TcType ( tyVarsOfTypes, openTypeKind )
-import TcIfaceSig ( tcCoreExpr, tcCoreLamBndrs, tcVar, tcDelay )
+import TcIfaceSig ( tcCoreExpr, tcCoreLamBndrs, tcVar )
import TcMonoType ( tcHsSigType, UserTypeCtxt(..), tcAddScopedTyVars )
import TcExpr ( tcExpr )
-import TcEnv ( RecTcEnv, tcExtendLocalValEnv, isLocalThing, tcLookupId )
+import TcEnv ( RecTcEnv, tcExtendLocalValEnv, tcLookupId )
import Inst ( LIE, plusLIEs, emptyLIE, instToId )
import Id ( idName, idType, mkLocalId )
-import Module ( Module )
-import List ( partition )
import Outputable
\end{code}
)
import TcMonad
-import Inst ( lookupInst, lookupSimpleInst, LookupInstResult(..),
+import Inst ( lookupInst, LookupInstResult(..),
tyVarsOfInst, predsOfInsts, predsOfInst, newDicts,
isDict, isClassDict, isLinearInst, linearInstType,
isStdClassTyVarDict, isMethodFor, isMethod,
import TcEnv ( tcGetGlobalTyVars, tcGetInstEnv, tcLookupGlobalId )
import InstEnv ( lookupInstEnv, classInstEnv, InstLookupResult(..) )
import TcMType ( zonkTcTyVarsAndFV, tcInstTyVars, checkAmbiguity )
-import TcType ( TcTyVar, TcTyVarSet, ThetaType, PredType,
+import TcType ( TcTyVar, TcTyVarSet, ThetaType,
mkClassPred, isOverloadedTy, mkTyConApp,
mkTyVarTy, tcGetTyVar, isTyVarClassPred, mkTyVarTys,
- tyVarsOfPred, getClassPredTys_maybe, isClassPred, isIPPred,
- inheritablePred, predHasFDs )
+ tyVarsOfPred, isIPPred, inheritablePred, predHasFDs )
import Id ( idType, mkUserLocal )
import Var ( TyVar )
import Name ( getOccName, getSrcLoc )