= do { tc' <- tconNameL tc
; tvs' <- cvtTvs tvs
; rhs' <- cvtType rhs
- ; returnL $ TyClD (TySynonym tc' tvs' rhs') }
+ ; returnL $ TyClD (TySynonym tc' tvs' Nothing rhs') }
cvtTop (DataD ctxt tc tvs constrs derivs)
= do { stuff <- cvt_tycl_hdr ctxt tc tvs
; 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' }
= do { cxt' <- cvtContext cxt
; tc' <- tconNameL tc
; tvs' <- cvtTvs tvs
- ; return (cxt', tc', tvs') }
+ ; return (cxt', tc', tvs', Nothing) }
---------------------------------------------------
-- Data types