[commit: ghc] wip/ghc-8.0-det: Kill varSetElemsWellScoped in quantifyTyVars (f775c44)
git at git.haskell.org
git at git.haskell.org
Mon Jul 25 14:58:17 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/ghc-8.0-det
Link : http://ghc.haskell.org/trac/ghc/changeset/f775c44ac6f22c828ed7afa60a14be08943bdef9/ghc
>---------------------------------------------------------------
commit f775c44ac6f22c828ed7afa60a14be08943bdef9
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
(cherry picked from commit c9bcaf3165586ac214fa694e61c55eb45eb131ab)
>---------------------------------------------------------------
f775c44ac6f22c828ed7afa60a14be08943bdef9
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 | 16 ++++-
compiler/utils/UniqDSet.hs | 8 ++-
compiler/utils/UniqFM.hs | 5 +-
.../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/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 +-
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 +--
56 files changed, 345 insertions(+), 247 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 f775c44ac6f22c828ed7afa60a14be08943bdef9
More information about the ghc-commits
mailing list