aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Haddock/Convert.hs19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/Haddock/Convert.hs b/src/Haddock/Convert.hs
index 08892cd3..9efa8ad4 100644
--- a/src/Haddock/Convert.hs
+++ b/src/Haddock/Convert.hs
@@ -117,7 +117,7 @@ synifyAxBranch tc (CoAxBranch { cab_tvs = tkvs, cab_lhs = args, cab_rhs = rhs })
synifyAxiom :: CoAxiom br -> HsDecl Name
synifyAxiom ax@(CoAxiom { co_ax_tc = tc })
- | isOpenSynFamilyTyCon tc
+ | isOpenTypeFamilyTyCon tc
, Just branch <- coAxiomSingleBranch_maybe ax
= InstD (TyFamInstD (TyFamInstDecl { tfid_eqn = noLoc $ synifyAxBranch tc branch
, tfid_fvs = placeHolderNamesTc }))
@@ -152,8 +152,8 @@ synifyTyCon coax tc
, dd_derivs = Nothing }
, tcdFVs = placeHolderNamesTc }
- | isSynFamilyTyCon tc
- = case synTyConRhs_maybe tc of
+ | isTypeFamilyTyCon tc
+ = case famTyConFlav_maybe tc of
Just rhs ->
let info = case rhs of
OpenSynFamilyTyCon -> OpenTypeFamily
@@ -173,14 +173,11 @@ synifyTyCon coax tc
FamDecl (FamilyDecl DataFamily (synifyName tc) (synifyTyVars (tyConTyVars tc))
Nothing) --always kind '*'
_ -> error "synifyTyCon: impossible open data type?"
- | isSynTyCon tc
- = case synTyConRhs_maybe tc of
- Just (SynonymTyCon ty) ->
- SynDecl { tcdLName = synifyName tc
- , tcdTyVars = synifyTyVars (tyConTyVars tc)
- , tcdRhs = synifyType WithinType ty
- , tcdFVs = placeHolderNamesTc }
- _ -> error "synifyTyCon: impossible synTyCon"
+ | Just ty <- synTyConRhs_maybe tc
+ = SynDecl { tcdLName = synifyName tc
+ , tcdTyVars = synifyTyVars (tyConTyVars tc)
+ , tcdRhs = synifyType WithinType ty
+ , tcdFVs = placeHolderNamesTc }
| otherwise =
-- (closed) newtype and data
let