[issue16791] itertools.chain.from_iterable doesn't stop
Mark Dickinson
report at bugs.python.org
Fri Dec 28 17:52:10 CET 2012
Mark Dickinson added the comment:
It looks to me as though this has nothing to do with itertools In CPython 2.7:
Python 2.7.3 |EPD 7.3-1 (32-bit)| (default, Apr 12 2012, 11:28:34)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "credits", "demo" or "enthought" for more information.
>>> b = [1]
>>> b += (x for x in b) # runs until Ctrl-C
^CTraceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <genexpr>
KeyboardInterrupt
In PyPy:
Python 2.7.2 (341e1e3821fff77db3bb5cdb7a4851626298c44e, Jun 09 2012, 14:24:15)
[PyPy 1.9.0] on darwin
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``the world doesn't want us to
know''
>>>> b = [1]
>>>> b += (x for x in b) # Returns immediately.
>>>> b
[1, 1]
So it seems that PyPy is building the RHS before appending it to b. That looks like a bug in PyPy to me.
----------
nosy: +mark.dickinson
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16791>
_______________________________________
More information about the Python-bugs-list
mailing list