
#15941: Pretty-printing of invisible arguments to (->) -------------------------------------+------------------------------------- Reporter: monoidal | Owner: RyanGlScott Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.6.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * version: 8.7 => 8.6.2 Comment: I set the version of this ticket to 8.7, mistakenly thinking that this was a regression introduced in commit f5d2083807a03c57f194fcc3a7baf82e34aad524. But as it turns out, this bug has been lurking even before that! In GHC 8.6.2, you get this: {{{
:i T type T = 'GHC.Types.LiftedRep -> 'GHC.Types.LiftedRep :: * -> * -> * -- Defined at <interactive>:3:1 }}}
Another observation: this is not unique to `(->)` (which is what I originally thought, since there are many special cases for function arrows throughout the codebase). Any infix type constructor with two invisible arguments will do, as the following GHCi session shows: {{{
import GHC.Generics type T2 = (:.:) :i T2 type T2 = * :.: * :: (* -> *) -> (* -> *) -> * -> * -- Defined at <interactive>:11:1 }}}
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15941#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler