X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Ftypecheck%2FTcTyClsDecls.lhs;fp=compiler%2Ftypecheck%2FTcTyClsDecls.lhs;h=cb07c6964dd60cd7d67427ce5dea775113beacf6;hp=653394ff00f7132fe31c78444fa2e82980ec5fc1;hb=ce2ea8274f72199ac32d5219fcadb0aaeb968707;hpb=8419203b7eb5aa4bb13f8d1263632de4d10a4048 diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs index 653394f..cb07c69 100644 --- a/compiler/typecheck/TcTyClsDecls.lhs +++ b/compiler/typecheck/TcTyClsDecls.lhs @@ -1143,7 +1143,7 @@ checkValidClass cls unary = isSingleton tyvars no_generics = null [() | (_, (GenDefMeth _)) <- op_stuff] - check_op constrained_class_methods (sel_id, dm) + check_op constrained_class_methods (sel_id, _) = addErrCtxt (classOpCtxt sel_id tau) $ do { checkValidTheta SigmaCtxt (tail theta) -- The 'tail' removes the initial (C a) from the @@ -1164,7 +1164,7 @@ checkValidClass cls -- Check that for a generic method, the type of -- the method is sufficiently simple -{- -- JPM TODO +{- -- JPM TODO (when reinstating, remove commenting-out of badGenericMethodType ; checkTc (dm /= GenDefMeth || validGenericMethodType tau) (badGenericMethodType op_name op_ty) -} @@ -1433,11 +1433,13 @@ genericMultiParamErr clas = ptext (sLit "The multi-parameter class") <+> quotes (ppr clas) <+> ptext (sLit "cannot have generic methods") +{- Commented out until the call is reinstated badGenericMethodType :: Name -> Kind -> SDoc badGenericMethodType op op_ty = hang (ptext (sLit "Generic method type is too complex")) 2 (vcat [ppr op <+> dcolon <+> ppr op_ty, ptext (sLit "You can only use type variables, arrows, lists, and tuples")]) +-} recSynErr :: [LTyClDecl Name] -> TcRn () recSynErr syn_decls