[commit: ghc] master: Implement the final change to INCOHERENT from Trac #9242 (dff0623)

git at git.haskell.org git at git.haskell.org
Fri Aug 8 08:04:44 UTC 2014


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

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

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

commit dff0623d5ab13222c06b3ff6b32793e05b417970
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Fri Aug 8 08:35:14 2014 +0100

    Implement the final change to INCOHERENT from Trac #9242
    
    The change here is to make INCOHERENT slightly more permissive:
    
      if the selected candidate is incoherent
      then ignore all unifying candidates
    
    This allows us to move the {-# INCOHERENT #-} pragma from
      from   instance Typeable (f a)
      to     Typeable (n:Nat) and Typable (s:Symbol)
    where it belongs, and where Trac #9242 said it should be.
    
    I don't think this will affect anyone.
    
    I've updated the user manual.


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

dff0623d5ab13222c06b3ff6b32793e05b417970
 compiler/types/InstEnv.lhs                         | 83 +++++++++++---------
 docs/users_guide/glasgow_exts.xml                  | 88 +++++++++++-----------
 libraries/base/Data/Typeable/Internal.hs           | 37 +++++----
 .../tests/typecheck/should_fail/Tcfail218_Help.hs  |  7 --
 testsuite/tests/typecheck/should_fail/all.T        |  5 +-
 testsuite/tests/typecheck/should_fail/tcfail218.hs | 24 ++++--
 .../tests/typecheck/should_fail/tcfail218.stderr   | 10 +--
 7 files changed, 132 insertions(+), 122 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 dff0623d5ab13222c06b3ff6b32793e05b417970


More information about the ghc-commits mailing list