summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core/TyCon.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Core/TyCon.hs')
-rw-r--r--compiler/GHC/Core/TyCon.hs14
1 files changed, 9 insertions, 5 deletions
diff --git a/compiler/GHC/Core/TyCon.hs b/compiler/GHC/Core/TyCon.hs
index 2088de341f..2a26363c7b 100644
--- a/compiler/GHC/Core/TyCon.hs
+++ b/compiler/GHC/Core/TyCon.hs
@@ -2907,11 +2907,15 @@ tcFlavourIsOpen TypeSynonymFlavour = False
pprPromotionQuote :: TyCon -> SDoc
-- Promoted data constructors already have a tick in their OccName
-pprPromotionQuote tc
- -- Always quote promoted DataCons in types, unless they come
- -- from "type data" declarations.
- | isDataKindsPromotedDataCon tc = char '\''
- | otherwise = empty
+pprPromotionQuote tc =
+ getPprStyle $ \sty ->
+ let
+ name = getOccName tc
+ ticked = isDataKindsPromotedDataCon tc && promTick sty (PromotedItemDataCon name)
+ in
+ if ticked
+ then char '\''
+ else empty
instance NamedThing TyCon where
getName = tyConName