#15941: Pretty-printing of invisible arguments to (->) -------------------------------------+------------------------------------- Reporter: monoidal | Owner: RyanGlScott Type: bug | Status: patch 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): Phab:D5375 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ryan Scott <ryan.gl.scott@…>): In [changeset:"984b75de7082689ebcc6e9d17b37f2c9b3702f71/ghc" 984b75de/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="984b75de7082689ebcc6e9d17b37f2c9b3702f71" Fix #15941 by only special-casing visible infix applications Summary: The iface pretty-printer had a special case for an application of an infix type constructor to two arguments. But this didn't take the visibilities of the arguments into account, which could lead to strange output like `@{LiftedRep} -> @{LiftedRep}` when `-fprint-explicit-kinds` was enabled (#15941). The fix is relatively straightforward: simply plumb through the visibilities of each argument, and only trigger the special case for infix applications if both arguments are visible (i.e., required). Test Plan: make test TEST=T15941 Reviewers: goldfire, bgamari, monoidal Reviewed By: goldfire, monoidal Subscribers: simonpj, rwbarton, carter GHC Trac Issues: #15941 Differential Revision: https://phabricator.haskell.org/D5375 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15941#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler