From a819a19d5956bd9712bc044b42ac64a1c437b7d2 Mon Sep 17 00:00:00 2001 From: "Dr. ERDI Gergo" <gergo@erdi.hu> Date: Fri, 14 Mar 2014 19:50:15 +0800 Subject: [PATCH] Honor Op_PrintExplicitForalls setting in pprIfaceForAllPart --- compiler/iface/IfaceType.lhs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/iface/IfaceType.lhs b/compiler/iface/IfaceType.lhs index 8c1791a16abe..e4a789f0f5ec 100644 --- a/compiler/iface/IfaceType.lhs +++ b/compiler/iface/IfaceType.lhs @@ -31,6 +31,8 @@ module IfaceType ( ) where import Coercion +import TcType +import DynFlags import TypeRep hiding( maybeParen ) import Unique( hasKey ) import TyCon @@ -248,7 +250,7 @@ ppr_ty ctxt_prec ty@(IfaceForAllTy _ _) where (tvs, theta, tau) = splitIfaceSigmaTy ty - ------------------- +------------------- -- needs to handle type contexts and coercion contexts, hence the -- generality pprIfaceForAllPart :: Outputable a => [IfaceTvBndr] -> [a] -> SDoc -> SDoc @@ -256,7 +258,10 @@ pprIfaceForAllPart tvs ctxt doc = sep [ppr_tvs, pprIfaceContextArr ctxt, doc] where ppr_tvs | null tvs = empty - | otherwise = ptext (sLit "forall") <+> pprIfaceTvBndrs tvs <> dot + | otherwise = sdocWithDynFlags $ \ dflags -> + if gopt Opt_PrintExplicitForalls dflags + then ptext (sLit "forall") <+> pprIfaceTvBndrs tvs <> dot + else empty ------------------- ppr_tc_app :: (Int -> a -> SDoc) -> Int -> IfaceTyCon -> [a] -> SDoc -- GitLab