
#11786: Need -fno-print-explicit-runtime-reps to work on IfaceType, else RuntimeRep leaks -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.3 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- After #11549, we are suppose not to show `RuntimeRep` to users, when `-fno-print-explicit-runtime-reps` is on. But we do: {{{ :info ($) Prelude> :i ($) ($) :: forall (r :: GHC.Types.RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b -- Defined in ‘GHC.Base’ }}} This happens because the runtime-rep-suppression happens on `Type`, but for `:info` we use `pprInfo` which uses `tyThingToIfaceDecl` and then prints it. And `tyThingToIfaceDecl` doesn't know about the `-fprint- explicit-runtime-reps` flag; and I'd like to keep it that way. We want to change `pprType` to convert to `IfaceType` and then print anyway. I suppose that this means that the pretty-printer for `IfaceType` needs to know about this runtime-rep suppression. That's a bit tiresome, but not impossible, especially since there is no shadowing to worry about. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11786 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler