There was an error fetching the commit references. Please try again later.
Numerous small changes to the constraint solver
The main thing is that we now keep unsolved Derived constraints in the wc_flats of a WantedConstraints, rather than discarding them each time. This actually fixes a poential (admittedly obscure) bug, when we currently discard a superclass constraint, and may never re-generate it, and may thereby miss a functional dependency. Instead, reportErrors filters out Derived constraints that we don't want to report. The other changes are all small refactorings following our walk-through. MERGED from commit 9c0a6bbb on HEAD
Showing
- compiler/typecheck/TcErrors.lhs 52 additions, 1 deletioncompiler/typecheck/TcErrors.lhs
- compiler/typecheck/TcHsSyn.lhs 18 additions, 32 deletionscompiler/typecheck/TcHsSyn.lhs
- compiler/typecheck/TcInteract.lhs 68 additions, 124 deletionscompiler/typecheck/TcInteract.lhs
- compiler/typecheck/TcRnTypes.lhs 21 additions, 21 deletionscompiler/typecheck/TcRnTypes.lhs
- compiler/typecheck/TcSMonad.lhs 64 additions, 73 deletionscompiler/typecheck/TcSMonad.lhs
- compiler/typecheck/TcSimplify.lhs 5 additions, 81 deletionscompiler/typecheck/TcSimplify.lhs
Loading
Please register or sign in to comment