Skip to content
  • Simon Peyton Jones's avatar
    Revise the inert-set invariants again · 1d44261c
    Simon Peyton Jones authored
    In particular this patch
    
    - Accepts that rewriting with the inert CTyEqCans should be done recursively
      (hence removing the Bool result from flattenTyVarOuter)
    
    - Refines the kick-out criterion, in paticular to avoid kick-out of (a -f-> ty)
      when f cannot rewrite f.  This is true of Wanteds and hence reduces kick-outs
      of Wanteds, perhaps by a lot
    
    This stuff is not fully documented because the details are still settling, but
    it's looking good.
    
    (And it validates.)
    
    This patch includes the testsuite wibbles.  perf/compiler/T5030 and
    T5837 both improve in bytes-allocated (by 11% and 13% resp), which is
    good.  I'm not sure which of today's short series of patches is
    responsible, nor do I mind much.  (One could find out if necessary.)
    1d44261c