On Sat, Feb 01, 2014 at 10:20:24PM +1000, Nick Coghlan wrote: > On 1 February 2014 16:04, Ethan Furman <et...@stoneleaf.us> wrote: > > 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? > > No, we make a judgment call based on the severity and likelihood of > encountering the bug, the consequences of encountering it, and the > difficulty of working around it after you *do* encounter it.
Nice summary Nick, however there is one slight error: > In this case: > > * Likelihood: low (using keyword arguments with simple APIs like this > is not a common idiom, and you have to specifically pass -1 to trigger > misbehaviour) It's not just -1, its any negative value: py> from itertools import repeat py> it = repeat('a', -17) # Correct. py> next(it) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration py> it = repeat('a', times=-17) # Bug, repeats forever. py> next(it) 'a' [...] > Conclusion: > > * add the new, supported feature that provides equivalent > functionality (accepting None) in 3.5 > > * deprecate the problematic behaviour in 3.5 and then start treating > it as equivalent to the positional argument handling in 3.6+ Seems reasonable to me. Thanks again for the nice summary. -- Steven _______________________________________________ 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