[commit: ghc] master: Prioritise equalities when solving, incl deriveds (efba054)
git at git.haskell.org
git at git.haskell.org
Wed Jan 31 13:24:46 UTC 2018
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/efba054640d3418d7477316ae0c1e992d0aa0f22/ghc
>---------------------------------------------------------------
commit efba054640d3418d7477316ae0c1e992d0aa0f22
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Wed Jan 31 13:05:13 2018 +0000
Prioritise equalities when solving, incl deriveds
We already prioritise equalities when solving, but
Trac #14723 showed that we were not doing so consistently
enough, and as a result the type checker could go into a loop.
Yikes.
See Note [Prioritise equalities] in TcSMonad.
Fixng this bug changed the solve order enough to demonstrate
a problem with fundeps: Trac #14745.
>---------------------------------------------------------------
efba054640d3418d7477316ae0c1e992d0aa0f22
compiler/typecheck/TcSMonad.hs | 93 +++++++++++++++++-----
testsuite/tests/polykinds/T14723.hs | 70 ++++++++++++++++
testsuite/tests/polykinds/all.T | 1 +
testsuite/tests/typecheck/should_compile/T13651.hs | 21 +++++
.../tests/typecheck/should_compile/T13651.stderr | 16 ++++
.../should_compile/{T13651.hs => T13651a.hs} | 4 +-
testsuite/tests/typecheck/should_compile/all.T | 3 +-
7 files changed, 184 insertions(+), 24 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 efba054640d3418d7477316ae0c1e992d0aa0f22
More information about the ghc-commits
mailing list