[commit: ghc] master: Complete work on new OVERLAPPABLE/OVERLAPPING pragmas (Trac #9242) (1ae5fa4)

git at git.haskell.org git at git.haskell.org
Thu Jul 31 14:50:09 UTC 2014


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

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

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

commit 1ae5fa451f4f554e0d652d55f9312a585188ce13
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Thu Jul 31 15:49:14 2014 +0100

    Complete work on new OVERLAPPABLE/OVERLAPPING pragmas (Trac #9242)
    
    * Deprecate -XOverlappingInstances
    
    * Update test suite.  Several tests even had entirely unnecessary
      uses of -XOverlappingInstances
    
    * Update user manual with a careful description of the instance
      resolution story
    
    * Fix an outright bug in the handling of duplidate instances in GHCi,
      which are meant to silently overwrite the earlier duplicate. The
      logic was right for family instances but was both more complicated,
      and plain wrong, for class instances.  (If you are interested, the
      bug was that we were eliminating the duplicate from the InstEnv, but
      not from the [ClsInst] held in tcg_insts.)  Test is ghci044a.


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

1ae5fa451f4f554e0d652d55f9312a585188ce13
 compiler/basicTypes/BasicTypes.lhs                 |  76 ++++++++-------
 compiler/main/DynFlags.hs                          |   4 +-
 compiler/main/HscTypes.lhs                         |  15 +--
 compiler/typecheck/Inst.lhs                        |  69 ++++++--------
 compiler/typecheck/TcRnTypes.lhs                   |   3 +
 compiler/types/FamInstEnv.lhs                      |  31 +++---
 compiler/types/InstEnv.lhs                         | 106 ++++++++++++++-------
 docs/users_guide/glasgow_exts.xml                  |  57 ++++++-----
 testsuite/tests/deriving/should_compile/T4966.hs   |   5 +-
 .../tests/deriving/should_compile/T4966.stderr     |   2 +-
 testsuite/tests/generics/Uniplate/GUniplate.hs     |   6 +-
 .../tests/ghci.debugger/scripts/print019.stderr    |   4 +-
 testsuite/tests/ghci/prog007/C.hs                  |   2 -
 testsuite/tests/ghci/scripts/all.T                 |   1 +
 testsuite/tests/ghci/scripts/ghci044.script        |  19 ++--
 testsuite/tests/ghci/scripts/ghci044.stderr        |  17 ++--
 testsuite/tests/ghci/scripts/ghci044a.hs           |   9 ++
 testsuite/tests/ghci/scripts/ghci044a.script       |   9 ++
 testsuite/tests/ghci/scripts/ghci044a.stdout       |   2 +
 testsuite/tests/ghci/scripts/ghci047.script        |   6 +-
 .../tests/indexed-types/should_compile/Gentle.hs   |   2 +-
 .../should_compile/IndTypesPerfMerge.hs            |   2 +-
 .../indexed-types/should_compile/NonLinearLHS.hs   |   2 +-
 testsuite/tests/indexed-types/should_fail/T4246.hs |   6 +-
 testsuite/tests/indexed-types/should_fail/T4485.hs |   9 +-
 .../tests/indexed-types/should_fail/T4485.stderr   |  19 ++--
 testsuite/tests/indexed-types/should_fail/T5439.hs |   1 -
 .../tests/indexed-types/should_fail/T5439.stderr   |  12 +--
 testsuite/tests/perf/compiler/T5321FD.hs           |   2 +-
 testsuite/tests/perf/compiler/T5321Fun.hs          |   2 +-
 testsuite/tests/roles/should_compile/T8958.stderr  |   2 +-
 testsuite/tests/safeHaskell/ghci/p13.script        |   3 +-
 testsuite/tests/safeHaskell/ghci/p13.stderr        |   9 +-
 .../safeHaskell/safeInfered/UnsafeInfered08_A.hs   |   1 +
 .../safeHaskell/safeLanguage/SafeLang10.stderr     |   4 +-
 .../tests/safeHaskell/safeLanguage/SafeLang10_B.hs |   5 +-
 testsuite/tests/simplCore/should_compile/T5359b.hs |   1 -
 .../tests/simplCore/should_compile/T5359b.stderr   |   2 +-
 .../tests/simplCore/should_compile/simpl007.hs     |   4 +-
 testsuite/tests/th/T4135a.hs                       |   2 +-
 testsuite/tests/typecheck/should_compile/FD4.hs    |   1 -
 .../typecheck/should_compile/LoopOfTheDay3.hs      |   2 +-
 testsuite/tests/typecheck/should_compile/Makefile  |   4 +-
 testsuite/tests/typecheck/should_compile/T1470.hs  |  10 +-
 testsuite/tests/typecheck/should_compile/T3018.hs  |   2 +-
 testsuite/tests/typecheck/should_compile/T3108.hs  |  14 +--
 testsuite/tests/typecheck/should_compile/Tc173a.hs |   5 +-
 testsuite/tests/typecheck/should_compile/Tc173b.hs |   1 +
 testsuite/tests/typecheck/should_compile/tc176.hs  |   6 +-
 testsuite/tests/typecheck/should_compile/tc179.hs  |   7 +-
 .../typecheck/should_fail/LongWayOverlapping.hs    |   1 -
 .../should_fail/LongWayOverlapping.stderr          |   2 +-
 testsuite/tests/typecheck/should_fail/T2307.hs     |   2 +-
 testsuite/tests/typecheck/should_fail/T5051.hs     |   4 +-
 testsuite/tests/typecheck/should_fail/T5051.stderr |   2 +-
 testsuite/tests/typecheck/should_fail/T5095.hs     |   4 +-
 testsuite/tests/typecheck/should_fail/T5095.stderr |   2 +-
 testsuite/tests/typecheck/should_fail/tcfail121.hs |   6 +-
 .../tests/typecheck/should_fail/tcfail121.stderr   |   6 +-
 testsuite/tests/typecheck/should_fail/tcfail202.hs |   2 +-
 60 files changed, 332 insertions(+), 284 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 1ae5fa451f4f554e0d652d55f9312a585188ce13


More information about the ghc-commits mailing list