X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcHsSyn.lhs;h=4e650c53eecf0f1742e8e2f855e45fb659c9dc4c;hb=909d2dd885f5eebaf7c12cf15d5ac153d646566e;hp=8ab91ce893a505358117a311a2936e733c70a55a;hpb=3e83dfb21b2f2220dce97427fff5c19459ae68d1;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcHsSyn.lhs b/compiler/typecheck/TcHsSyn.lhs index 8ab91ce..4e650c5 100644 --- a/compiler/typecheck/TcHsSyn.lhs +++ b/compiler/typecheck/TcHsSyn.lhs @@ -537,14 +537,14 @@ zonkCoFn env (ExprCoFn co) = do { co' <- zonkTcTypeToType env co zonkCoFn env (CoCompose c1 c2) = do { (env1, c1') <- zonkCoFn env c1 ; (env2, c2') <- zonkCoFn env1 c2 ; return (env2, CoCompose c1' c2') } -zonkCoFn env (CoLams ids) = do { ids' <- zonkIdBndrs env ids - ; let env1 = extendZonkEnv env ids' - ; return (env1, CoLams ids') } -zonkCoFn env (CoTyLams tvs) = ASSERT( all isImmutableTyVar tvs ) - do { return (env, CoTyLams tvs) } -zonkCoFn env (CoApps ids) = do { return (env, CoApps (zonkIdOccs env ids)) } -zonkCoFn env (CoTyApps tys) = do { tys' <- zonkTcTypeToTypes env tys - ; return (env, CoTyApps tys') } +zonkCoFn env (CoLam id) = do { id' <- zonkIdBndr env id + ; let env1 = extendZonkEnv1 env id' + ; return (env1, CoLam id') } +zonkCoFn env (CoTyLam tv) = ASSERT( isImmutableTyVar tv ) + do { return (env, CoTyLam tv) } +zonkCoFn env (CoApp id) = do { return (env, CoApp (zonkIdOcc env id)) } +zonkCoFn env (CoTyApp ty) = do { ty' <- zonkTcTypeToType env ty + ; return (env, CoTyApp ty') } zonkCoFn env (CoLet bs) = do { (env1, bs') <- zonkRecMonoBinds env bs ; return (env1, CoLet bs') }