• Simon Peyton Jones's avatar
    tcCheckSatisfiability: less aggressive superclass expansion · ff752a1a
    Simon Peyton Jones authored
    In the pattern-match check we are looking for a proof of
    *unsatisfiablity* among a bunch of givens.  The unsat-ness might be
    hidden in the superclasses, so we must expand them.  But in the common
    case where the constraints are satisfiable, we don't want to expand
    a recursive superclass forever.
    
    This is all a bit arbitrary, but then the whole question is
    undecidable anyway.
    
    The bug in Trac #10592 comment:12 was that I expanded superclasses
    forever.  This patch fixes it.
    ff752a1a
TcSimplify.hs 85 KB