[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