diff -r 43f664bf2e1e -r 61ecabeeadb3 mercurial/revset.py --- a/mercurial/revset.py Fri Oct 03 20:43:48 2014 -0700 +++ b/mercurial/revset.py Fri Oct 03 20:48:28 2014 -0700 @@ -2626,10 +2626,10 @@ self._finished = False if iterasc is not None: if iterasc: - self.fastasc = self.__iter__ + self.fastasc = self._iterator self.__contains__ = self._asccontains else: - self.fastdesc = self.__iter__ + self.fastdesc = self._iterator self.__contains__ = self._desccontains def __nonzero__(self): @@ -2680,6 +2680,9 @@ return False def __iter__(self): + return self._iterator() + + def _iterator(self): if self._finished: return iter(self._genlist)