Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Bug report
Bug description:
Defining an interator for a class in a separate class no longer works properly in 3.13. With the followingtest_iter.py:
classlist2(list):def__iter__(self):returnlist2iterator(self)classlist2iterator:def__init__(self,X):self._X=Xself._pointer=-1def__next__(self):self._pointer+=1ifself._pointer==len(self._X):self._pointer=-1raiseStopIterationreturnself._X[self._pointer]
With Python 3.13.1 one gets:
>>>fromtest_iterimportlist2>>>X=list2([1,2,3])>>> [xforxinX]Traceback (mostrecentcalllast):File"<python-input-2>",line1,in<module> [xforxinX]^TypeError:'list2iterator'objectisnotiterable
With Python 3.12.7 it works:
>>>fromtest_iterimportlist2>>>X=list2([1,2,3])>>> [xforxinX][1,2,3]
Bisected tobcc7227e
CPython versions tested on:
3.12, 3.13
Operating systems tested on:
Linux