diff --git a/haddock-api/src/Haddock/Backends/LaTeX.hs b/haddock-api/src/Haddock/Backends/LaTeX.hs index d6bf388756053138dc8153215496d5ef9159d8bd..a0812de89615f650732a0a3be54ecfc929d86630 100644 --- a/haddock-api/src/Haddock/Backends/LaTeX.hs +++ b/haddock-api/src/Haddock/Backends/LaTeX.hs @@ -532,21 +532,21 @@ ppTypeSig nms ty unicode = <+> dcolon unicode <+> ppSigType unicode ty -ppHsOuterTyVarBndrs :: HsOuterTyVarBndrs flag DocNameI -> Bool -> LaTeX +ppHsOuterTyVarBndrs :: RenderableBndrFlag flag => HsOuterTyVarBndrs flag DocNameI -> Bool -> LaTeX ppHsOuterTyVarBndrs (HsOuterImplicit{}) _ = empty ppHsOuterTyVarBndrs (HsOuterExplicit{hso_bndrs = bndrs}) unicode = - hsep (forallSymbol unicode : ppTyVars bndrs) <> dot + hsep (forallSymbol unicode : ppTyVars unicode bndrs) <> dot ppHsForAllTelescope :: HsForAllTelescope DocNameI -> Bool -> LaTeX ppHsForAllTelescope tele unicode = case tele of HsForAllVis { hsf_vis_bndrs = bndrs } -> - hsep (forallSymbol unicode : ppTyVars bndrs) <> text "\\" <> arrow unicode + hsep (forallSymbol unicode : ppTyVars unicode bndrs) <> text "\\" <> arrow unicode HsForAllInvis { hsf_invis_bndrs = bndrs } -> - hsep (forallSymbol unicode : ppTyVars bndrs) <> dot + hsep (forallSymbol unicode : ppTyVars unicode bndrs) <> dot -ppTyVars :: [LHsTyVarBndr flag DocNameI] -> [LaTeX] -ppTyVars = map (ppSymName . getName . hsLTyVarNameI) +ppTyVars :: RenderableBndrFlag flag => Bool -> [LHsTyVarBndr flag DocNameI] -> [LaTeX] +ppTyVars unicode tvs = map (ppHsTyVarBndr unicode . unLoc) tvs tyvarNames :: LHsQTyVars DocNameI -> [Name] @@ -1069,15 +1069,15 @@ class RenderableBndrFlag flag where instance RenderableBndrFlag () where ppHsTyVarBndr _ (UserTyVar _ _ (L _ name)) = ppDocName name ppHsTyVarBndr unicode (KindedTyVar _ _ (L _ name) kind) = - parens (ppDocName name) <+> dcolon unicode <+> ppLKind unicode kind + parens (ppDocName name <+> dcolon unicode <+> ppLKind unicode kind) instance RenderableBndrFlag Specificity where ppHsTyVarBndr _ (UserTyVar _ SpecifiedSpec (L _ name)) = ppDocName name ppHsTyVarBndr _ (UserTyVar _ InferredSpec (L _ name)) = braces $ ppDocName name ppHsTyVarBndr unicode (KindedTyVar _ SpecifiedSpec (L _ name) kind) = - parens (ppDocName name) <+> dcolon unicode <+> ppLKind unicode kind + parens (ppDocName name <+> dcolon unicode <+> ppLKind unicode kind) ppHsTyVarBndr unicode (KindedTyVar _ InferredSpec (L _ name) kind) = - braces (ppDocName name) <+> dcolon unicode <+> ppLKind unicode kind + braces (ppDocName name <+> dcolon unicode <+> ppLKind unicode kind) ppLKind :: Bool -> LHsKind DocNameI -> LaTeX ppLKind unicode y = ppKind unicode (unLoc y)