[PATCH] py3: catch StopIteration from next() in generatorset
Sean Farley
sean at farley.io
Tue Jun 20 21:53:40 UTC 2017
Martin von Zweigbergk via Mercurial-devel
<mercurial-devel at mercurial-scm.org> writes:
> # HG changeset patch
> # User Martin von Zweigbergk <martinvonz at google.com>
> # Date 1497992441 25200
> # Tue Jun 20 14:00:41 2017 -0700
> # Node ID f86d21c457209f5f5a139bcc808be33fbd930424
> # Parent 0906385672d754f13a512fe70759f0463a069f1e
> py3: catch StopIteration from next() in generatorset
>
> IIUC, letting the StopIteration through would not cause any bugs, but
> not doing it makes the test-py3-commands.t pass.
>
> I have also diligently gone through all uses of next() in our code
> base. They either:
>
> * are not called from a generator
> * pass a default value to next()
> * catch StopException
> * work on infinite iterators
> * request a fixed number of items that matches the generated number
> * are about batching in wireproto which I didn't quite follow
>
> I'd appreciate if Augie or someone else could take a look at the
> wireproto batching and convince themselves that the next(batchable)
> calls there will not raise a StopIteration.
I was just thinking of doing something like this. Shouldn't we just
'return None' in Mercurial instead of 'raise StopIteration'?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-devel/attachments/20170620/0a866381/attachment.asc>
More information about the Mercurial-devel
mailing list