Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
11326 commits behind the upstream repository.
user avatar
Simon Peyton Jones authored
This patch establishes invariant (GivenInv) from GHC.Tc.Utils.TcType
Note [TcLevel invariants].  (GivenInv) says that unification variables
from level 'n' should not appear in the Givens for level 'n'.  See
Note [GivenInv] in teh same module.

This invariant was already very nearly true, but a dark corner of
partial type signatures made it false.  The patch re-jigs partial type
signatures a bit to avoid the problem, and documents the invariant
much more thorughly

Fixes #18646 along the way: see Note [Extra-constraints wildcards]
in GHC.Tc.Gen.Bind

I also simplified the interface to tcSimplifyInfer slightly, so that
it /emits/ the residual constraint, rather than /returning/ it.
5650c79e
History
Code owners
Assign users and groups as approvers for specific file changes. Learn more.