Skip to content
  • David Feuer's avatar
    Upgrade UniqSet to a newtype · cbe569a5
    David Feuer authored
    The fundamental problem with `type UniqSet = UniqFM` is that `UniqSet`
    has a key invariant `UniqFM` does not. For example, `fmap` over
    `UniqSet` will generally produce nonsense.
    
    * Upgrade `UniqSet` from a type synonym to a newtype.
    
    * Remove unused and shady `extendVarSet_C` and `addOneToUniqSet_C`.
    
    * Use cached unique in `tyConsOfType` by replacing
      `unitNameEnv (tyConName tc) tc` with `unitUniqSet tc`.
    
    Reviewers: austin, hvr, goldfire, simonmar, niteria, bgamari
    
    Reviewed By: niteria
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D3146
    cbe569a5