diff -r ade5c488d622 -r d157e1f18e3f mercurial/revset.py --- a/mercurial/revset.py Sun Sep 20 19:27:53 2015 -0700 +++ b/mercurial/revset.py Sun Sep 20 16:53:42 2015 -0700 @@ -3225,7 +3225,12 @@ return lambda: self._iterfilter(it()) def __nonzero__(self): - for r in self: + it = self + fast = self.fastasc or self.fastdesc + if fast: + it = fast() + + for r in it: return True return False