From b417271702b81d7893308c3ce6df4b5babeaa55c Mon Sep 17 00:00:00 2001 From: Alec Theriault Date: Tue, 21 Aug 2018 10:05:01 -0700 Subject: Better rendering of unboxed sums/tuples * adds space after/before the '#' marks * properly reify 'HsSumTy' in 'synifyType' --- haddock-api/src/Haddock/Convert.hs | 1 + 1 file changed, 1 insertion(+) (limited to 'haddock-api/src/Haddock/Convert.hs') diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 044e1e11..71482f22 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -457,6 +457,7 @@ synifyType _ (TyConApp tc tys) ConstraintTuple -> HsConstraintTuple UnboxedTuple -> HsUnboxedTuple) (map (synifyType WithinType) vis_tys) + | isUnboxedSumTyCon tc = noLoc $ HsSumTy noExt (map (synifyType WithinType) vis_tys) -- ditto for lists | getName tc == listTyConName, [ty] <- tys = noLoc $ HsListTy noExt (synifyType WithinType ty) -- cgit v1.2.3 From bf9da9cddc3d6161367bdc8710afc4fe08c3bdfd Mon Sep 17 00:00:00 2001 From: Alec Theriault Date: Tue, 21 Aug 2018 11:24:56 -0700 Subject: Handle promoted tuples in 'synifyType' When we have a fully applied promoted tuple, we can expand it out properly. --- haddock-api/src/Haddock/Convert.hs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'haddock-api/src/Haddock/Convert.hs') diff --git a/haddock-api/src/Haddock/Convert.hs b/haddock-api/src/Haddock/Convert.hs index 71482f22..622837fa 100644 --- a/haddock-api/src/Haddock/Convert.hs +++ b/haddock-api/src/Haddock/Convert.hs @@ -458,6 +458,10 @@ synifyType _ (TyConApp tc tys) UnboxedTuple -> HsUnboxedTuple) (map (synifyType WithinType) vis_tys) | isUnboxedSumTyCon tc = noLoc $ HsSumTy noExt (map (synifyType WithinType) vis_tys) + | Just dc <- isPromotedDataCon_maybe tc + , isTupleDataCon dc + , dataConSourceArity dc == length vis_tys + = noLoc $ HsExplicitTupleTy noExt (map (synifyType WithinType) vis_tys) -- ditto for lists | getName tc == listTyConName, [ty] <- tys = noLoc $ HsListTy noExt (synifyType WithinType ty) -- cgit v1.2.3