Don't print roles for data instances
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 17 Jan 2014 14:06:02 +0000 (14:06 +0000)
committerSimon Peyton Jones <simonpj@microsoft.com>
Fri, 17 Jan 2014 14:06:27 +0000 (14:06 +0000)
See Trac #8672

compiler/main/PprTyThing.hs
testsuite/tests/ghci/scripts/T5417.stdout

index c83552b..38b28e9 100644 (file)
@@ -209,7 +209,9 @@ pprTyCon ss tyCon
     pp_roles suppress_if
       = sdocWithDynFlags $ \dflags ->
         let roles = suppressKinds dflags (tyConKind tyCon) (tyConRoles tyCon)
-        in ppUnless (all suppress_if roles) $
+        in ppUnless (isFamInstTyCon tyCon || all suppress_if roles) $
+             -- Don't display roles for data family instances (yet)
+             -- See discussion on Trac #8672.
            ptext (sLit "type role") <+> ppr tyCon <+> hsep (map ppr roles)
 
     pp_tc_with_kind = vcat [ pp_roles (const True)
index 2cf0826..73d1de9 100644 (file)
@@ -1,5 +1,4 @@
 data B1 a = B1 a
-type role T5417.R:FB1 nominal
 data instance C.F (B1 a) = B2 a
 type role D nominal
 data family D a