[commit: ghc] master: Kill varSetElemsWellScoped in quantifyTyVars (c9bcaf3)

git at git.haskell.org git at git.haskell.org
Tue Apr 26 13:37:42 UTC 2016


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

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

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

commit c9bcaf3165586ac214fa694e61c55eb45eb131ab
Author: Bartosz Nitka <niteria at gmail.com>
Date:   Tue Apr 26 05:58:24 2016 -0700

    Kill varSetElemsWellScoped in quantifyTyVars
    
    varSetElemsWellScoped introduces unnecessary non-determinism in
    inferred type signatures.
    Removing this instance required changing the representation of
    TcDepVars to use deterministic sets.
    This is the last occurence of varSetElemsWellScoped, allowing me to
    finally remove it.
    
    Test Plan:
    ./validate
    I will update the expected outputs when commiting, some reordering
    of type variables in types is expected.
    
    Reviewers: goldfire, simonpj, austin, bgamari
    
    Reviewed By: simonpj
    
    Subscribers: thomie, simonmar
    
    Differential Revision: https://phabricator.haskell.org/D2135
    
    GHC Trac Issues: #4012


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

c9bcaf3165586ac214fa694e61c55eb45eb131ab
 compiler/basicTypes/VarSet.hs                      | 11 +++-
 compiler/typecheck/TcHsType.hs                     |  2 +-
 compiler/typecheck/TcMType.hs                      | 44 +++++++++----
 compiler/typecheck/TcSimplify.hs                   | 39 ++++++++++--
 compiler/typecheck/TcType.hs                       | 46 +++++++++-----
 compiler/types/Type.hs                             | 13 ++--
 compiler/types/Type.hs-boot                        |  4 +-
 compiler/utils/UniqDFM.hs                          | 12 +++-
 compiler/utils/UniqDSet.hs                         |  8 ++-
 compiler/utils/UniqFM.hs                           |  5 +-
 testsuite/tests/ado/ado004.stderr                  | 16 ++---
 .../tests/dependent/should_fail/T11334b.stderr     |  6 +-
 testsuite/tests/driver/werror.stderr               |  2 +-
 testsuite/tests/gadt/gadt13.stderr                 | 12 ++--
 testsuite/tests/gadt/gadt7.stderr                  | 18 +++---
 .../tests/ghci.debugger/scripts/break026.stdout    | 20 +++---
 testsuite/tests/ghci/scripts/T11524a.stdout        |  2 +-
 testsuite/tests/ghci/scripts/T6018ghcifail.stderr  |  6 +-
 testsuite/tests/ghci/scripts/T7587.stdout          |  2 +-
 testsuite/tests/ghci/scripts/T7730.stdout          |  4 +-
 testsuite/tests/ghci/scripts/T7939.stdout          |  4 +-
 testsuite/tests/ghci/scripts/T8776.stdout          |  2 +-
 .../indexed-types/should_compile/T3017.stderr      |  2 +-
 .../indexed-types/should_compile/T8889.stderr      |  2 +-
 .../tests/indexed-types/should_fail/T7354.stderr   |  8 +--
 .../tests/indexed-types/should_fail/T8518.stderr   |  8 +--
 testsuite/tests/module/mod71.stderr                | 10 +--
 testsuite/tests/module/mod72.stderr                |  2 +-
 .../tests/parser/should_compile/read014.stderr     |  2 +-
 .../tests/parser/should_fail/readFail003.stderr    |  6 +-
 .../should_compile/ExtraConstraints3.stderr        | 72 +++++++++++-----------
 .../partial-sigs/should_compile/NamedTyVar.stderr  |  4 +-
 .../partial-sigs/should_compile/SkipMany.stderr    |  2 +-
 .../partial-sigs/should_compile/T10438.stderr      |  4 +-
 .../should_compile/UncurryNamed.stderr             |  2 +-
 .../WarningWildcardInstantiations.stderr           | 30 ++++-----
 .../tests/partial-sigs/should_fail/T10045.stderr   | 12 ++--
 .../should_fail/WildcardInstantiations.stderr      | 28 ++++-----
 .../tests/patsyn/should_compile/T11213.stderr      |  2 +-
 testsuite/tests/polykinds/T7438.stderr             | 16 ++---
 testsuite/tests/polykinds/T7524.stderr             |  2 +-
 testsuite/tests/rename/should_fail/T2993.stderr    |  2 +-
 .../tests/typecheck/should_compile/T10971a.stderr  |  2 +-
 .../tests/typecheck/should_compile/tc141.stderr    |  6 +-
 .../tests/typecheck/should_compile/tc168.stderr    |  2 +-
 .../tests/typecheck/should_compile/tc231.stderr    |  2 +-
 testsuite/tests/typecheck/should_fail/T5853.stderr | 24 ++++----
 .../tests/typecheck/should_fail/T6018fail.stderr   |  6 +-
 .../typecheck/should_fail/T6018failclosed.stderr   |  6 +-
 testsuite/tests/typecheck/should_fail/T7453.stderr | 18 +++---
 testsuite/tests/typecheck/should_fail/T7734.stderr | 12 ++--
 testsuite/tests/typecheck/should_fail/T8142.stderr |  2 +-
 testsuite/tests/typecheck/should_fail/T9109.stderr | 12 ++--
 .../tests/typecheck/should_fail/tcfail004.stderr   |  6 +-
 .../tests/typecheck/should_fail/tcfail033.stderr   |  8 +--
 .../tests/typecheck/should_fail/tcfail049.stderr   |  2 +-
 .../tests/typecheck/should_fail/tcfail050.stderr   |  2 +-
 .../tests/typecheck/should_fail/tcfail140.stderr   |  4 +-
 .../tests/typecheck/should_fail/tcfail198.stderr   |  8 +--
 59 files changed, 355 insertions(+), 261 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 c9bcaf3165586ac214fa694e61c55eb45eb131ab


More information about the ghc-commits mailing list