[commit: ghc] ghc-8.2: Fix #13337. (109a242)

git at git.haskell.org git at git.haskell.org
Wed Mar 15 15:43:58 UTC 2017


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

On branch  : ghc-8.2
Link       : http://ghc.haskell.org/trac/ghc/changeset/109a2429493c2a2d5481b67f5b0c1086a959813e/ghc

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

commit 109a2429493c2a2d5481b67f5b0c1086a959813e
Author: Richard Eisenberg <rae at cs.brynmawr.edu>
Date:   Tue Mar 14 13:32:00 2017 -0400

    Fix #13337.
    
    The big change is the introduction of solveSomeEqualities. This
    is just like solveEqualities, but it doesn't fail if there are unsolved
    equalities when it's all done. Anything unsolved is re-emitted. This
    is appropriate if we are not kind-generalizing, so this new form
    is used when decideKindGeneralizationPlan says not to.
    
    We initially thought that any use of solveEqualities would be tied
    to kind generalization, but this isn't true. For example, we need
    to solveEqualities a bunch in the "tc" pass in TcTyClsDecls (which
    is really desugaring). These equalities are all surely going to be
    soluble (if they weren't the "kc" pass would fail), but we still
    need to solve them again. Perhaps if the "kc" pass produced type-
    checked output that is then desugared, solveEqualities really would
    be tied only to kind generalization.
    
    Updates haddock submodule.
    
    Test Plan: ./validate, typecheck/should_compile/T13337
    
    Reviewers: simonpj, bgamari, austin
    
    Reviewed By: simonpj
    
    Subscribers: RyanGlScott, rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3315
    
    (cherry picked from commit e0c433c81182c934ee4c4cc5c6cf25a1b6fb8d83)


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

109a2429493c2a2d5481b67f5b0c1086a959813e
 compiler/hsSyn/Convert.hs                          |  2 +-
 compiler/hsSyn/HsDecls.hs                          |  2 +-
 compiler/hsSyn/HsTypes.hs                          | 15 ++--
 compiler/rename/RnSource.hs                        |  3 +-
 compiler/rename/RnTypes.hs                         | 14 +++-
 compiler/typecheck/TcBinds.hs                      |  3 +-
 compiler/typecheck/TcForeign.hs                    |  2 +-
 compiler/typecheck/TcHsType.hs                     | 79 +++++++++++++---------
 compiler/typecheck/TcSimplify.hs                   | 62 ++++++++++++++++-
 compiler/typecheck/TcTyClsDecls.hs                 |  3 +-
 .../parser/should_compile/DumpParsedAst.stderr     |  6 +-
 .../parser/should_compile/DumpRenamedAst.stderr    |  6 +-
 .../tests/partial-sigs/should_fail/T11976.stderr   |  7 ++
 .../tests/partial-sigs/should_fail/T12634.stderr   |  9 ++-
 testsuite/tests/typecheck/should_compile/T13337.hs | 16 +++++
 testsuite/tests/typecheck/should_compile/all.T     |  1 +
 utils/haddock                                      |  2 +-
 17 files changed, 177 insertions(+), 55 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 109a2429493c2a2d5481b67f5b0c1086a959813e


More information about the ghc-commits mailing list