[commit: ghc] ghc-8.4: Prioritise equalities when solving, incl deriveds (77cdf60)
git at git.haskell.org
git at git.haskell.org
Thu Feb 1 04:51:46 UTC 2018
Repository : ssh://git@git.haskell.org/ghc
On branch : ghc-8.4
Link : http://ghc.haskell.org/trac/ghc/changeset/77cdf60c8a68d2208cd8109d82b5f83b17bf0e91/ghc
>---------------------------------------------------------------
commit 77cdf60c8a68d2208cd8109d82b5f83b17bf0e91
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.
(cherry picked from commit efba054640d3418d7477316ae0c1e992d0aa0f22)
>---------------------------------------------------------------
77cdf60c8a68d2208cd8109d82b5f83b17bf0e91
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 77cdf60c8a68d2208cd8109d82b5f83b17bf0e91
More information about the ghc-commits
mailing list