X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcInstDcls.lhs;h=1bc70992c391a0bf25d159535de405589de0dd95;hb=b7a8d2059f982599d31d14395c6628a049ec5179;hp=c4c5d586b4151200309410ffacb552ac2bc12b58;hpb=77166b1729061531eeb77c33f4d3b2581f7d4c41;p=ghc-hetmet.git diff --git a/compiler/typecheck/TcInstDcls.lhs b/compiler/typecheck/TcInstDcls.lhs index c4c5d58..1bc7099 100644 --- a/compiler/typecheck/TcInstDcls.lhs +++ b/compiler/typecheck/TcInstDcls.lhs @@ -410,8 +410,7 @@ tcLocalInstDecl1 (L loc (InstDecl poly_ty binds uprags ats)) ; (tyvars, theta, tau) <- tcHsInstHead poly_ty -- Now, check the validity of the instance. - ; (clas, inst_tys) <- checkValidInstHead tau - ; checkValidInstance tyvars theta clas inst_tys + ; (clas, inst_tys) <- checkValidInstance poly_ty tyvars theta tau -- Next, process any associated types. ; idx_tycons <- recoverM (return []) $ @@ -599,7 +598,7 @@ tc_inst_decl2 :: Id -> InstBindings Name -> TcM (LHsBinds Id) -- If there are no superclasses, matters are simpler, because we don't need the case -- see Note [Newtype deriving superclasses] in TcDeriv.lhs -tc_inst_decl2 dfun_id (NewTypeDerived coi) +tc_inst_decl2 dfun_id (NewTypeDerived coi _) = do { let rigid_info = InstSkol origin = SigOrigin rigid_info inst_ty = idType dfun_id