[commit: ghc] ghc-8.4: Fix SigTvs at the kind level (40a31b3)

git at git.haskell.org git at git.haskell.org
Sun Jan 14 22:07:44 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.4
Link       : http://ghc.haskell.org/trac/ghc/changeset/40a31b386a893f06667229e5ecf985de6cf87633/ghc

>---------------------------------------------------------------

commit 40a31b386a893f06667229e5ecf985de6cf87633
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Mon Dec 11 15:53:32 2017 +0000

    Fix SigTvs at the kind level
    
    This patch fixes two bugs in the treatment of SigTvs at the
    kind level:
    
    - We should always generalise them, never default them
      (Trac #14555, #14563)
    
    - We should check if they get unified with each other
      (Trac #11203)
    
    Both are described in TcHsType
       Note [Kind generalisation and SigTvs]
    
    (cherry picked from commit 8361b2c5a9f7a00f0024f44a43b851998ae41e33)


>---------------------------------------------------------------

40a31b386a893f06667229e5ecf985de6cf87633
 compiler/typecheck/TcBinds.hs                      | 20 +++---
 compiler/typecheck/TcHsType.hs                     | 76 +++++++++++++++++-----
 compiler/typecheck/TcMType.hs                      | 30 ++++++---
 compiler/typecheck/TcSimplify.hs                   |  3 +
 compiler/typecheck/TcTyClsDecls.hs                 | 76 ++++++++++++++++++----
 compiler/typecheck/TcType.hs                       | 18 ++++-
 compiler/types/TyCon.hs                            | 56 ++--------------
 .../tests/polykinds/{SigTvKinds2.hs => T11203.hs}  |  4 +-
 testsuite/tests/polykinds/T11203.stderr            |  4 ++
 testsuite/tests/polykinds/T11821a.stderr           |  4 ++
 testsuite/tests/polykinds/T14555.hs                | 12 ++++
 testsuite/tests/polykinds/T14555.stderr            |  6 ++
 testsuite/tests/polykinds/T14563.hs                |  9 +++
 testsuite/tests/polykinds/T14563.stderr            |  7 ++
 testsuite/tests/polykinds/all.T                    |  6 +-
 15 files changed, 228 insertions(+), 103 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 40a31b386a893f06667229e5ecf985de6cf87633


More information about the ghc-commits mailing list