Skip to content
  • Simon Peyton Jones's avatar
    Fix the constraint simplifier (Trac #7967) · 262cab0f
    Simon Peyton Jones authored
    Richard's bug report showed up a couple of subtleties in the constraint solver
    
    * We can strengthen the kind invariants on CTyEqCan and CFunEqCan
        See Note [Kind orientation for CTyEqCan]
        and Note [Kind orientation for CFunEqCan] in TcRnTypes
      There are some changes to reOrient and checkKind in TcCanonical
      to support these stronger invarants.
    
    * In TcSimplify we must make sure that we re-simplify if defaultTyVar
      does anything.  See Note [Must simplify after defaulting] in TcSimplify.
    
    The usual round of refactoring follows!
    262cab0f