diff options
Diffstat (limited to 'haddock-api')
| -rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 2 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Rename.hs | 15 | 
2 files changed, 13 insertions, 4 deletions
| diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index f8c26175..823e288e 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -122,6 +122,8 @@ synifyAxBranch tc (CoAxBranch { cab_tvs = tkvs, cab_lhs = args, cab_rhs = rhs })      in HsIB { hsib_ext = map tyVarName tkvs              , hsib_body   = FamEqn { feqn_ext    = noExt                                     , feqn_tycon  = name +                                   , feqn_bndrs  = Nothing +                                       -- this must change eventually                                     , feqn_pats   = annot_typats                                     , feqn_fixity = Prefix                                     , feqn_rhs    = hs_rhs } } diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs index 351a39d1..e669ac50 100644 --- a/haddock-api/src/Haddock/Interface/Rename.hs +++ b/haddock-api/src/Haddock/Interface/Rename.hs @@ -600,13 +600,16 @@ renameTyFamInstEqn eqn      rename_ty_fam_eqn        :: FamEqn GhcRn (HsTyPats GhcRn) (LHsType GhcRn)        -> RnM (FamEqn DocNameI (HsTyPats DocNameI) (LHsType DocNameI)) -    rename_ty_fam_eqn (FamEqn { feqn_tycon = tc, feqn_pats = pats -                              , feqn_fixity = fixity, feqn_rhs = rhs }) +    rename_ty_fam_eqn (FamEqn { feqn_tycon = tc, feqn_bndrs = bndrs +                              , feqn_pats = pats, feqn_fixity = fixity +                              , feqn_rhs = rhs })        = do { tc' <- renameL tc +           ; bndrs' <- traverse (mapM renameLTyVarBndr) bndrs             ; pats' <- mapM renameLType pats             ; rhs' <- renameLType rhs             ; return (FamEqn { feqn_ext    = noExt                              , feqn_tycon  = tc' +                            , feqn_bndrs  = bndrs'                              , feqn_pats   = pats'                              , feqn_fixity = fixity                              , feqn_rhs    = rhs' }) } @@ -620,6 +623,7 @@ renameLTyFamDefltEqn (L loc (FamEqn { feqn_tycon = tc, feqn_pats = tvs         ; rhs' <- renameLType rhs         ; return (L loc (FamEqn { feqn_ext    = noExt                                 , feqn_tycon  = tc' +                               , feqn_bndrs  = Nothing  -- this is always Nothing                                 , feqn_pats   = tvs'                                 , feqn_fixity = fixity                                 , feqn_rhs    = rhs' })) } @@ -633,13 +637,16 @@ renameDataFamInstD (DataFamInstDecl { dfid_eqn = eqn })      rename_data_fam_eqn        :: FamEqn GhcRn (HsTyPats GhcRn) (HsDataDefn GhcRn)        -> RnM (FamEqn DocNameI (HsTyPats DocNameI) (HsDataDefn DocNameI)) -    rename_data_fam_eqn (FamEqn { feqn_tycon = tc, feqn_pats = pats -                                , feqn_fixity = fixity, feqn_rhs = defn }) +    rename_data_fam_eqn (FamEqn { feqn_tycon = tc, feqn_bndrs = bndrs +                                , feqn_pats = pats, feqn_fixity = fixity +                                , feqn_rhs = defn })        = do { tc' <- renameL tc +           ; bndrs' <- traverse (mapM renameLTyVarBndr) bndrs             ; pats' <- mapM renameLType pats             ; defn' <- renameDataDefn defn             ; return (FamEqn { feqn_ext    = noExt                              , feqn_tycon  = tc' +                            , feqn_bndrs  = bndrs'                              , feqn_pats   = pats'                              , feqn_fixity = fixity                              , feqn_rhs    = defn' }) } | 
