mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
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.
This commit is contained in:
parent
173062cab9
commit
153a1c94b7
@ -871,7 +871,10 @@ class generatorset(abstractsmartset):
|
||||
if i < _len(genlist):
|
||||
yield genlist[i]
|
||||
else:
|
||||
try:
|
||||
yield _next(nextgen)
|
||||
except StopIteration:
|
||||
return
|
||||
i += 1
|
||||
return gen()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user