[Python-Dev] Negative times behaviour in itertools.repeat for Python maintenance releases (2.7, 3.3 and maybe 3.4) (original) (raw)

Larry Hastings larry at hastings.org
Wed Jan 29 03:50:50 CET 2014


On 01/28/2014 06:18 AM, Ethan Furman wrote:

On 01/28/2014 04:37 AM, Steven D'Aprano wrote:

On Mon, Jan 27, 2014 at 10:06:57PM -0800, Larry Hastings wrote:

.. note: if "times" is specified using a keyword argument, and provided with a negative value, repeat yields the object forever. This is a bug, its use is unsupported, and this behavior may be removed in a future version of Python.

How about changing "may be removed" to "will be removed", he asks hopefully? :-) +1

See the recent discussion "Deprecation policy" right here in python-dev for a cogent discussion on this issue. I agree with Raymond's view, posted on 1/25:

* A good use for deprecations is for features that were flat-out
misdesigned
and prone to error.  For those, there is nothing wrong with
deprecating them
right away.  Once deprecated though, there doesn't need to be a rush to
actually remove it -- that just makes it harder for people with
currently
working code to upgrade to newer versions of Python.

* When I became a core developer well over a decade ago, I was a little
deprecation happy (old stuff must go, keep everything nice and
clean, etc).
What I learned though is that deprecations are very hard on users
and that
the purported benefits usually aren't really important.

I think the "times behaves differently when passed by name versus passed by position" behavior falls exactly into this category, and its advice on how to handle it is sound.

Cheers,

//arry/ -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20140128/5aa08894/attachment.html>



More information about the Python-Dev mailing list