diff options
Diffstat (limited to 'haddock-api')
| -rw-r--r-- | haddock-api/src/Haddock/Backends/Hoogle.hs | 2 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 4 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Create.hs | 5 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Rename.hs | 5 | 
4 files changed, 10 insertions, 6 deletions
diff --git a/haddock-api/src/Haddock/Backends/Hoogle.hs b/haddock-api/src/Haddock/Backends/Hoogle.hs index 1c3dea7c..48b97445 100644 --- a/haddock-api/src/Haddock/Backends/Hoogle.hs +++ b/haddock-api/src/Haddock/Backends/Hoogle.hs @@ -204,7 +204,7 @@ ppSynonym dflags x = [out dflags x]  ppData :: DynFlags -> TyClDecl Name -> [(Name, DocForDecl Name)] -> [String]  ppData dflags decl@(DataDecl { tcdDataDefn = defn }) subdocs -    = showData decl{ tcdDataDefn = defn { dd_cons=[],dd_derivs=Nothing }} : +    = showData decl{ tcdDataDefn = defn { dd_cons=[],dd_derivs=noLoc [] }} :        concatMap (ppCtor dflags decl subdocs . unL) (dd_cons defn)      where diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 41e98c6f..4e2ee05c 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -153,7 +153,7 @@ synifyTyCon _coax tc                                        , dd_kindSig = Just (synifyKindSig (tyConKind tc))                                                 -- we have their kind accurately:                                        , dd_cons = []  -- No constructors -                                      , dd_derivs = Nothing } +                                      , dd_derivs = noLoc [] }             , tcdDataCusk = False             , tcdFVs = placeHolderNamesTc } @@ -224,7 +224,7 @@ synifyTyCon coax tc    consRaw = map (synifyDataCon use_gadt_syntax) (tyConDataCons tc)    cons = rights consRaw    -- "deriving" doesn't affect the signature, no need to specify any. -  alg_deriv = Nothing +  alg_deriv = noLoc []    defn = HsDataDefn { dd_ND      = alg_nd                      , dd_ctxt    = alg_ctx                      , dd_cType   = Nothing diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs index 2c8b0b7e..2cdc6f8b 100644 --- a/haddock-api/src/Haddock/Interface/Create.hs +++ b/haddock-api/src/Haddock/Interface/Create.hs @@ -349,8 +349,9 @@ subordinates instMap decl = case decl of                    , L _ (ConDeclField ns _ doc) <- (unLoc flds)                    , L _ n <- ns ]          derivs  = [ (instName, [unL doc], M.empty) -                  | Just (L _ tys) <- [dd_derivs dd] -                  , HsIB { hsib_body = L l (HsDocTy _ doc) } <- tys +                  | HsIB { hsib_body = L l (HsDocTy _ doc) } +                      <- concatMap (unLoc . deriv_clause_tys . unLoc) $ +                           unLoc $ dd_derivs dd                    , Just instName <- [M.lookup l instMap] ]  -- | Extract function argument docs from inside types. diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs index cf3b72ac..fa85ba64 100644 --- a/haddock-api/src/Haddock/Interface/Rename.hs +++ b/haddock-api/src/Haddock/Interface/Rename.hs @@ -416,7 +416,8 @@ renameDataDefn (HsDataDefn { dd_ND = nd, dd_ctxt = lcontext, dd_cType = cType      cons'     <- mapM (mapM renameCon) cons      -- I don't think we need the derivings, so we return Nothing      return (HsDataDefn { dd_ND = nd, dd_ctxt = lcontext', dd_cType = cType -                       , dd_kindSig = k', dd_cons = cons', dd_derivs = Nothing }) +                       , dd_kindSig = k', dd_cons = cons' +                       , dd_derivs = noLoc [] })  renameCon :: ConDecl Name -> RnM (ConDecl DocName)  renameCon decl@(ConDeclH98 { con_name = lname, con_qvars = ltyvars @@ -509,9 +510,11 @@ renameInstD (DataFamInstD { dfid_inst = d }) = do  renameDerivD :: DerivDecl Name -> RnM (DerivDecl DocName)  renameDerivD (DerivDecl { deriv_type = ty +                        , deriv_strategy = strat                          , deriv_overlap_mode = omode }) = do    ty' <- renameLSigType ty    return (DerivDecl { deriv_type = ty' +                    , deriv_strategy = strat                      , deriv_overlap_mode = omode })  renameClsInstD :: ClsInstDecl Name -> RnM (ClsInstDecl DocName)  | 
