X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FhsSyn%2FConvert.lhs;h=cd5b36d6224c3b4f26d72d3cea18b562ebec1307;hp=17d6be92e664fd94e7a043ece9e79e6513939997;hb=9da4639011348fb6c318e3cba4b08622f811d9c4;hpb=9cbee1b3381d4eac1f54e9f0b4c333e6ead3a4cf diff --git a/compiler/hsSyn/Convert.lhs b/compiler/hsSyn/Convert.lhs index 17d6be9..cd5b36d 100644 --- a/compiler/hsSyn/Convert.lhs +++ b/compiler/hsSyn/Convert.lhs @@ -125,17 +125,21 @@ cvtTop (NewtypeD ctxt tc tvs constr derivs) ; returnL $ TyClD (mkTyData NewType stuff Nothing [con'] derivs') } cvtTop (ClassD ctxt cl tvs fds decs) - = do { stuff <- cvt_tycl_hdr ctxt cl tvs + = do { (cxt', tc', tvs', _) <- cvt_tycl_hdr ctxt cl tvs ; fds' <- mapM cvt_fundep fds ; (binds', sigs') <- cvtBindsAndSigs decs - ; returnL $ TyClD $ mkClassDecl stuff fds' sigs' binds' } + ; returnL $ TyClD $ mkClassDecl (cxt', tc', tvs') fds' sigs' binds' [] + -- no ATs in TH^^ + } cvtTop (InstanceD tys ty decs) = do { (binds', sigs') <- cvtBindsAndSigs decs ; ctxt' <- cvtContext tys ; L loc pred' <- cvtPred ty ; inst_ty' <- returnL $ mkImplicitHsForAllTy ctxt' (L loc (HsPredTy pred')) - ; returnL $ InstD (InstDecl inst_ty' binds' sigs') } + ; returnL $ InstD (InstDecl inst_ty' binds' sigs' []) + -- ^^no ATs in TH + } cvtTop (ForeignD ford) = do { ford' <- cvtForD ford; returnL $ ForD ford' } @@ -143,7 +147,7 @@ cvt_tycl_hdr cxt tc tvs = do { cxt' <- cvtContext cxt ; tc' <- tconNameL tc ; tvs' <- cvtTvs tvs - ; return (cxt', tc', tvs') } + ; return (cxt', tc', tvs', Nothing) } --------------------------------------------------- -- Data types