[GHC] #16299: :info pretty-prints data types with non-Type return kinds oddly
GHC
ghc-devs at haskell.org
Mon Mar 4 18:51:01 UTC 2019
#16299: :info pretty-prints data types with non-Type return kinds oddly
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone: 8.10.1
Component: Compiler | Version: 8.6.3
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| ghci/scripts/T7627
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: | https://gitlab.haskell.org/ghc/ghc/merge_requests/343
-------------------------------------+-------------------------------------
Comment (by Marge Bot <ben+marge-bot@…>):
In [changeset:"8b476d822e97cfe4cebe6e74924d9a79148d608c/ghc"
8b476d82/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="8b476d822e97cfe4cebe6e74924d9a79148d608c"
Fix #16299 by deleting incorrect code from IfaceSyn
GHCi's `:info` command was pretty-printing Haskell98-style data types
with explicit return kinds if the return kind wasn't `Type`. This
leads to bizarre output like this:
```
λ> :i (##)
data (##) :: TYPE ('GHC.Types.TupleRep '[]) = (##)
-- Defined in ‘GHC.Prim’
```
Or, with unlifted newtypes:
```
λ> newtype T = MkT Int#
λ> :i T
newtype T :: TYPE 'IntRep = MkT Int#
-- Defined at <interactive>:5:1
```
The solution is simple: just delete one part from `IfaceSyn` where
GHC mistakenly pretty-prints the return kinds for non-GADTs.
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16299#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list