Skip to content
  • Ben Gamari's avatar
    Simplify uniqAway · 78b67ad0
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    This does two things:
    
     * Eliminate all uses of Unique.deriveUnique, which was quite easy to
       mis-use and extremely subtle.
    
     * Rename the previous "derived unique" notion to "local unique". This
       is possible because the only places where `uniqAway` can be safely
       used are those where local uniqueness (with respect to some
       InScopeSet) is sufficient.
    
     * Rework the implementation of VarEnv.uniqAway, as discussed in #17462.
       This should make the operation significantly more efficient than its
       previous iterative implementation..
    
    Metric Decrease:
        T9872c
        T12227
        T9233
        T14683
        T5030
        T12545
        hie002
    
    Metric Increase:
        T9961
    78b67ad0