diff options
Diffstat (limited to 'haddock-api')
| -rw-r--r-- | haddock-api/src/Haddock/Backends/Xhtml/Decl.hs | 4 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 16 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Rename.hs | 2 | 
3 files changed, 13 insertions, 9 deletions
| diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs index 2fcc21e0..88aa966c 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs @@ -265,9 +265,9 @@ ppTyFam summary associated links instances fixities loc doc decl splice unicode         ppTyFamHeader summary associated decl unicode qual <+> ppFixities fixities qual      instancesBit -      | FamilyDecl { fdInfo = ClosedTypeFamily eqns } <- decl +      | FamilyDecl { fdInfo = ClosedTypeFamily mb_eqns } <- decl        , not summary -      = subEquations qual $ map (ppTyFamEqn . unLoc) eqns +      = subEquations qual $ map (ppTyFamEqn . unLoc) $ fromMaybe [] mb_eqns        | otherwise        = ppInstances instances docname unicode qual diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index ce1ef8b6..d841aecc 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -131,7 +131,7 @@ synifyAxiom ax@(CoAxiom { co_ax_tc = tc })                      (TyFamInstDecl { tfid_eqn = noLoc $ synifyAxBranch tc branch                                     , tfid_fvs = placeHolderNamesTc })) -  | Just ax' <- isClosedSynFamilyTyCon_maybe tc +  | Just ax' <- isClosedSynFamilyTyConWithAxiom_maybe tc    , getUnique ax' == getUnique ax   -- without the getUniques, type error    = synifyTyCon (Just ax) tc >>= return . TyClD @@ -168,11 +168,15 @@ synifyTyCon coax tc        Just rhs ->          let info = case rhs of                OpenSynFamilyTyCon -> return OpenTypeFamily -              ClosedSynFamilyTyCon (CoAxiom { co_ax_branches = branches }) -> -                return $ ClosedTypeFamily -                  (brListMap (noLoc . synifyAxBranch tc) branches) -              BuiltInSynFamTyCon {} -> return $ ClosedTypeFamily [] -              AbstractClosedSynFamilyTyCon {} -> return $ ClosedTypeFamily [] +              ClosedSynFamilyTyCon mb -> case mb of +                  Just (CoAxiom { co_ax_branches = branches }) +                          -> return $ ClosedTypeFamily $ Just $ +                               brListMap (noLoc . synifyAxBranch tc) branches +                  Nothing -> return $ ClosedTypeFamily $ Just [] +              BuiltInSynFamTyCon {} +                -> return $ ClosedTypeFamily $ Just [] +              AbstractClosedSynFamilyTyCon {} +                -> return $ ClosedTypeFamily Nothing          in info >>= \i ->             return (FamDecl                     (FamilyDecl { fdInfo = i diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs index 1234d05c..56e5b07f 100644 --- a/haddock-api/src/Haddock/Interface/Rename.hs +++ b/haddock-api/src/Haddock/Interface/Rename.hs @@ -347,7 +347,7 @@ renameFamilyInfo :: FamilyInfo Name -> RnM (FamilyInfo DocName)  renameFamilyInfo DataFamily     = return DataFamily  renameFamilyInfo OpenTypeFamily = return OpenTypeFamily  renameFamilyInfo (ClosedTypeFamily eqns) -  = do { eqns' <- mapM renameLTyFamInstEqn eqns +  = do { eqns' <- mapM (mapM renameLTyFamInstEqn) eqns         ; return $ ClosedTypeFamily eqns' }  renameDataDefn :: HsDataDefn Name -> RnM (HsDataDefn DocName) | 
