Add uniqSetAny and uniqSetAll and use them
authorBartosz Nitka <niteria@gmail.com>
Thu, 28 Apr 2016 20:32:39 +0000 (13:32 -0700)
committerBartosz Nitka <niteria@gmail.com>
Thu, 28 Apr 2016 20:32:58 +0000 (13:32 -0700)
commit3c426b0552dffa82f1663f2eca19188afe247865
tree32d68542a516fa67661a6ed285115b9d9d16f3d0
parentb0569e881f66c3e987bc1108ad771a706399f5ff
Add uniqSetAny and uniqSetAll and use them

There are couple of places where we do `foldUniqSet` just to
compute `any` or `all`. `foldUniqSet` is non-deterministic in the
general case and `any` and `all` also read nicer.

Test Plan: ./validate

Reviewers: simonmar, goldfire, simonpj, bgamari, austin

Reviewed By: simonpj

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2156

GHC Trac Issues: #4012
compiler/basicTypes/NameSet.hs
compiler/basicTypes/VarSet.hs
compiler/rename/RnSource.hs
compiler/specialise/Rules.hs
compiler/typecheck/TcBinds.hs
compiler/typecheck/TcErrors.hs
compiler/types/Unify.hs
compiler/utils/UniqFM.hs
compiler/utils/UniqSet.hs