Fix #16299 by deleting incorrect code from IfaceSyn
authorRyan Scott <ryan.gl.scott@gmail.com>
Sun, 10 Feb 2019 16:21:12 +0000 (11:21 -0500)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Tue, 12 Feb 2019 08:02:14 +0000 (03:02 -0500)
commit8b476d822e97cfe4cebe6e74924d9a79148d608c
tree56564304492798b0905f9ae05ce69da5e0859ca9
parent4a4ae70f09009c5d32696445a06eacb273f364b5
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.
compiler/iface/IfaceSyn.hs
testsuite/tests/ghci/scripts/T7627.stdout