Skip to content

Fix #16299 by deleting incorrect code from IfaceSyn

Ryan Scott requested to merge RyanGlScott/ghc:wip/T16299 into master

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.

Edited by Ryan Scott

Merge request reports