• Simon Peyton Jones's avatar
    Numerous small changes to the constraint solver · 9c0a6bbb
    Simon Peyton Jones authored
    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.
    9c0a6bbb
TcRnTypes.lhs 56.3 KB