From 8d82524d9d9b278eae08993c2d4c54173d68481c Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Tue, 4 Nov 2014 01:16:20 +0000 Subject: Fix re-exports of built-in type families Fixes #310 --- haddock-api/src/Haddock/Convert.hs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'haddock-api/src/Haddock') diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 610e8fc6..ff7ca560 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -136,6 +136,7 @@ synifyAxiom ax@(CoAxiom { co_ax_tc = tc }) | otherwise = error "synifyAxiom: closed/open family confusion" +-- | Turn type constructors into type class declarations synifyTyCon :: Maybe (CoAxiom br) -> TyCon -> TyClDecl Name synifyTyCon coax tc | isFunTyCon tc || isPrimTyCon tc @@ -163,10 +164,12 @@ synifyTyCon coax tc = case synTyConRhs_maybe tc of Just rhs -> let info = case rhs of - OpenSynFamilyTyCon -> OpenTypeFamily - ClosedSynFamilyTyCon (CoAxiom { co_ax_branches = branches }) -> - ClosedTypeFamily (brListMap (noLoc . synifyAxBranch tc) branches) - _ -> error "synifyTyCon: type/data family confusion" + OpenSynFamilyTyCon -> OpenTypeFamily + ClosedSynFamilyTyCon (CoAxiom { co_ax_branches = branches }) -> + ClosedTypeFamily (brListMap (noLoc . synifyAxBranch tc) branches) + BuiltInSynFamTyCon {} -> ClosedTypeFamily [] + AbstractClosedSynFamilyTyCon {} -> ClosedTypeFamily [] + _ -> error "synifyTyCon: type/data family confusion" in FamDecl (FamilyDecl { fdInfo = info , fdLName = synifyName tc , fdTyVars = synifyTyVars (tyConTyVars tc) -- cgit v1.2.3