diff options
Diffstat (limited to 'haddock-api/src/Haddock')
| -rw-r--r-- | haddock-api/src/Haddock/Convert.hs | 19 | 
1 files changed, 8 insertions, 11 deletions
diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 3b454feb..8940d935 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -124,7 +124,7 @@ synifyAxBranch tc (CoAxBranch { cab_tvs = tkvs, cab_lhs = args, cab_rhs = rhs })  synifyAxiom :: CoAxiom br -> Either ErrMsg (HsDecl Name)  synifyAxiom ax@(CoAxiom { co_ax_tc = tc }) -  | isOpenSynFamilyTyCon tc +  | isOpenTypeFamilyTyCon tc    , Just branch <- coAxiomSingleBranch_maybe ax    = return $ InstD (TyFamInstD                      (TyFamInstDecl { tfid_eqn = noLoc $ synifyAxBranch tc branch @@ -162,8 +162,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 -> return OpenTypeFamily @@ -190,14 +190,11 @@ synifyTyCon coax tc            FamDecl (FamilyDecl DataFamily (synifyName tc) (synifyTyVars (tyConTyVars tc))                                Nothing) --always kind '*'          _ -> Left "synifyTyCon: impossible open data type?" -  | isSynTyCon tc -  = case synTyConRhs_maybe tc of -        Just (SynonymTyCon ty) -> return $ -          SynDecl { tcdLName = synifyName tc -                  , tcdTyVars = synifyTyVars (tyConTyVars tc) -                  , tcdRhs = synifyType WithinType ty -                  , tcdFVs = placeHolderNamesTc } -        _ -> Left "synifyTyCon: impossible synTyCon" +  | Just ty <- synTyConRhs_maybe tc +  = return $ SynDecl { tcdLName = synifyName tc +                     , tcdTyVars = synifyTyVars (tyConTyVars tc) +                     , tcdRhs = synifyType WithinType ty +                     , tcdFVs = placeHolderNamesTc }    | otherwise =    -- (closed) newtype and data    let  | 
