[pypy-commit] pypy list-strategies: Cast sequence to W_ListObject (translation fix)
l.diekmann
noreply at buildbot.pypy.org
Fri Sep 23 13:12:21 CEST 2011
Author: Lukas Diekmann <lukas.diekmann at uni-duesseldorf.de>
Branch: list-strategies
Changeset: r47463:eb7765a263ed
Date: 2011-03-15 14:47 +0100
http://bitbucket.org/pypy/pypy/changeset/eb7765a263ed/
Log: Cast sequence to W_ListObject (translation fix)
diff --git a/pypy/objspace/std/iterobject.py b/pypy/objspace/std/iterobject.py
--- a/pypy/objspace/std/iterobject.py
+++ b/pypy/objspace/std/iterobject.py
@@ -102,14 +102,16 @@
return w_seqiter
def next__FastListIter(space, w_seqiter):
- if w_seqiter.w_seq is None:
+ from pypy.objspace.std.listobject import W_ListObject
+ w_seq = w_seqiter.w_seq
+ if w_seq is None:
raise OperationError(space.w_StopIteration, space.w_None)
+ assert isinstance(w_seq, W_ListObject)
index = w_seqiter.index
try:
- w_item = w_seqiter.w_seq.getitem(index)
+ w_item = w_seq.getitem(index)
except IndexError:
w_seqiter.w_seq = None
- w_seqiter.w_seq = None
raise OperationError(space.w_StopIteration, space.w_None)
w_seqiter.index = index + 1
return w_item
More information about the pypy-commit
mailing list