[commit: ghc] master: Make Generic1 poly-kinded (b8e2565)

git at git.haskell.org git at git.haskell.org
Thu May 12 13:40:07 UTC 2016


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/b8e2565123de45f215277e3a92fbc7ace2b8fd71/ghc

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

commit b8e2565123de45f215277e3a92fbc7ace2b8fd71
Author: RyanGlScott <ryan.gl.scott at gmail.com>
Date:   Wed May 11 15:57:48 2016 +0200

    Make Generic1 poly-kinded
    
    This generalizes the `Generic1` typeclass to be of kind `k -> *`, and
    this also makes the relevant datatypes and typeclasses in `GHC.Generics`
    poly-kinded. If `PolyKinds` is enabled, `DeriveGeneric` derives
    `Generic1` instances such that they use the most general kind possible.
    Otherwise, deriving `Generic1` defaults to make an instance where the
    argument is of kind `* -> *` (the current behavior).
    
    Fixes #10604. Depends on D2117.
    
    Test Plan: ./validate
    
    Reviewers: kosmikus, dreixel, goldfire, austin, hvr, simonpj, bgamari
    
    Reviewed By: simonpj, bgamari
    
    Subscribers: thomie, ekmett
    
    Differential Revision: https://phabricator.haskell.org/D2168
    
    GHC Trac Issues: #10604


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

b8e2565123de45f215277e3a92fbc7ace2b8fd71
 compiler/typecheck/TcDeriv.hs                      |  90 ++--
 compiler/typecheck/TcGenGenerics.hs                | 114 +++--
 docs/users_guide/glasgow_exts.rst                  |  14 +-
 libraries/base/Data/Data.hs                        |   3 +-
 libraries/base/GHC/Generics.hs                     | 115 +++--
 libraries/base/changelog.md                        |   3 +
 .../should_compile => generics/T10604}/Makefile    |   0
 .../tests/generics/T10604/T10604_Authenticated.hs  |  41 ++
 .../T10604/T10604_bad_variable_occurrence.hs       |   8 +
 .../T10604/T10604_bad_variable_occurrence.stderr   |   6 +
 testsuite/tests/generics/T10604/T10604_deriving.hs |  22 +
 .../tests/generics/T10604/T10604_deriving.stderr   | 518 +++++++++++++++++++++
 .../tests/generics/T10604/T10604_no_PolyKinds.hs   |   7 +
 .../generics/T10604/T10604_no_PolyKinds.stderr     |   6 +
 testsuite/tests/generics/T10604/all.T              |   4 +
 testsuite/tests/perf/compiler/all.T                |   3 +-
 testsuite/tests/perf/haddock/all.T                 |   6 +-
 17 files changed, 837 insertions(+), 123 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 b8e2565123de45f215277e3a92fbc7ace2b8fd71


More information about the ghc-commits mailing list