diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2020-12-31 17:01:46 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-01-22 15:00:07 -0500 |
commit | 34950fb84b85d964e30ae9eca995b84fbf4fd165 (patch) | |
tree | 06a51660ddfe8a9504d4483f167e1de451ad86f6 /hadrian/build-stack-nix | |
parent | a255b4e38918065ac028789872e53239ac30ae1a (diff) | |
download | haskell-34950fb84b85d964e30ae9eca995b84fbf4fd165.tar.gz |
Fix error recovery in solveEqualities
As #19142 showed, with -fdefer-type-errors we were allowing
compilation to proceed despite a fatal kind error. This patch
fixes it, as described in the new note in GHC.Tc.Solver,
Note [Wrapping failing kind equalities]
Also fixes #19158
Also when checking
default( ty1, ty2, ... )
only consider a possible default (C ty2) if ty2 is kind-compatible
with C. Previously we could form kind-incompatible constraints, with
who knows what kind of chaos resulting. (Actually, no chaos results,
but that's only by accident. It's plain wrong to form the constraint
(Num Either) for example.) I just happened to notice
this during fixing #19142.
Diffstat (limited to 'hadrian/build-stack-nix')
0 files changed, 0 insertions, 0 deletions