[commit: ghc] master: Remove wc_insol from WantedConstraints (f20cf98)

git at git.haskell.org git at git.haskell.org
Wed Oct 11 12:30:27 UTC 2017


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

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

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

commit f20cf982f126aea968ed6a482551550ffb6650cf
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Mon Oct 9 13:16:59 2017 +0100

    Remove wc_insol from WantedConstraints
    
    This patch is a pure refactoring, which I've wanted to do for
    some time.  The main payload is
    
    * Remove the wc_insol field from WantedConstraints;
      instead put all the insolubles in wc_simple
    
    * Remove inert_insols from InertCans
      Instead put all the insolubles in inert_irreds
    
    * Add a cc_insol flag to CIrredCan, to record that
      the constraint is definitely insoluble
    
    Reasons
    
    * Quite a bit of code gets slightly simpler
    * Fewer concepts to keep separate
    * Insolubles don't happen at all in production code that is
      just being recompiled, so previously there was a lot of
      moving-about of empty sets
    
    A couple of error messages acutally improved.


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

f20cf982f126aea968ed6a482551550ffb6650cf
 compiler/typecheck/TcCanonical.hs                  |  46 +++--
 compiler/typecheck/TcErrors.hs                     |  13 +-
 compiler/typecheck/TcInteract.hs                   |  25 +--
 compiler/typecheck/TcMType.hs                      |  18 +-
 compiler/typecheck/TcRnMonad.hs                    |  11 ++
 compiler/typecheck/TcRnTypes.hs                    | 186 ++++++++++++---------
 compiler/typecheck/TcRules.hs                      |  23 +--
 compiler/typecheck/TcSMonad.hs                     |  84 +++++-----
 compiler/typecheck/TcSimplify.hs                   |  44 ++---
 compiler/typecheck/TcType.hs                       |  17 +-
 testsuite/tests/deriving/should_fail/T3621.stderr  |  16 +-
 testsuite/tests/indexed-types/should_fail/T8518.hs |   0
 .../tests/typecheck/should_compile/tc211.stderr    |  20 +--
 .../tests/typecheck/should_fail/T12589.stderr      |   4 +-
 .../tests/typecheck/should_fail/T13311.stderr      |   4 +-
 testsuite/tests/typecheck/should_fail/T7851.stderr |   4 +-
 testsuite/tests/typecheck/should_fail/T8603.stderr |   7 +-
 .../tests/typecheck/should_fail/tcfail122.stderr   |   2 +-
 .../warnings/should_fail/CaretDiagnostics1.stderr  |   4 +-
 19 files changed, 280 insertions(+), 248 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 f20cf982f126aea968ed6a482551550ffb6650cf


More information about the ghc-commits mailing list