Skip to content
  • Simon Peyton Jones's avatar
    Fix LiberateCase · ebd091d5
    Simon Peyton Jones authored
    	Merge to STABLE please
    
    Liberate case was being far too gung-ho about what to specialise. This
    bug only showed up when a recursive function 'f' has a nested recursive
    function 'g', where 'g' calls 'f' (as well as recursively calling 'g').
    This exact situation happens in GHC/IO.writeLines.
    
    This patch puts things right; see Note [When to specialise].  Result:
    much less code bloat.
    
    
    
    ebd091d5