Skip to content
  • Sebastian Graf's avatar
    Arity: Record arity types for non-recursive lets · 6b3eb06a
    Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
    In #18793, we saw a compelling example which requires us to look at
    non-recursive let-bindings during arity analysis and unleash their arity
    types at use sites.
    
    After the refactoring in the previous patch, the needed change is quite
    simple and very local to `arityType`'s defn for non-recurisve `Let`.
    
    Apart from that, we had to get rid of the second item of
    `Note [Dealing with bottoms]`, which was entirely a safety measure and
    hindered optimistic fixed-point iteration.
    
    Fixes #18793.
    
    The following metric increases are all caused by this commit and a
    result of the fact that we just do more work now:
    
    Metric Increase:
        T3294
        T12545
        T12707
    6b3eb06a