On 01/31/2014 07:23 PM, Larry Hastings wrote:
On 01/28/2014 09:18 PM, Ethan Furman wrote:
On 01/28/2014 06:50 PM, Larry Hastings wrote:
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.
I don't agree with this. This is a bug. Somebody going through (for example)
a code review and making minor changes
so the code is more readable shouldn't have to be afraid that [inserting |
removing] the keyword in the function call
is going to *drastically* [1] change the behavior. I understand the need for a
cycle of deprecation [2], but not
fixing it in 3.5 is folly.
It's a bug. But it's also a longstanding bug, having been a part of Python
since 2.7.
Python is the language that cares about backwards-compatibility--bugs and all.
If your code runs on version X.Y, it
should run without modification on version X.(Y+Z) where Z is a positive
integer.
So we only fix bugs that don't work at all? By which I mean, if the
interpreter doesn't crash, we don't fix it?
Therefore it would be inappropriate to remove the "times=-1 when passed by keyword
repeats indefinitely" behavior
without at /least/ a full deprecation cycle. Personally I'd prefer to leave
the behavior in, undocumented and
deprecated, until Python 4.0.
Well, at least we are agreed on a deprecation cycle. :)
--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com