New submission from David MacIver: Converting a list to a tuple appears to have an optimisation that is wrong in the presence of subclassing to override __iter__. It ignores the user defined iter and uses the normal list one. I've attached a file with a test case to demonstrate this.
I've verified this on both python 2.7 and python 3.4. It's presumably also the case on everything in between. This was found because it caused a bug with a type that pytz uses, which lazily populates the list on iteration: https://bugs.launchpad.net/pytz/+bug/1435617 ---------- components: Library (Lib) files: listwithiter.py messages: 239098 nosy: David MacIver priority: normal severity: normal status: open title: tuple function gives wrong answer when called on list subclass with custom __iter__ versions: Python 2.7, Python 3.4 Added file: http://bugs.python.org/file38663/listwithiter.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23757> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com