Ethan Furman added the comment:
I'm not trying to rub salt in the wound, but it's a good idea (for all of us)
to test our programs with "-W always" to see if any thing pops up:
$ python3.4 -W always -c "'%x' % 3.14"
sys:1: DeprecationWarning: automatic int conversions have been deprecated
SilentGhost added the comment:
I'm not suggesting your reviewing code, I've referenced issue where this change
was discussed and implemented so that you can familiarize yourself with the
arguments. Your code worked by accident, the workaround seems trivial.
If you wish to advance further
Peter Tomcsanyi added the comment:
So it is even worse, it is an "intentional break".
I will need to review a few thousands lines of code because of this.
I think that breaking others' code by redefining a "built-in" operator is
acceptable when changing major versions (like 2 to 3), not minor
SilentGhost added the comment:
It's not an accidental change (so it's not "broken" by any definition), see
issue 19995 for details.
--
nosy: +SilentGhost
resolution: -> wont fix
stage: -> resolved
status: open -> closed
___
Python tracker
New submission from Peter Tomcsanyi:
In Python 3.4.4 (64-bit) and in many previous versions it worked like this:
>>> "%02x" % 12.99
'0c'
Now in Python 3.5.2 (64-bit) it shows an error:
>>> "%02x" % 12.99
Traceback (most recent call last):
File "", line 1, in
"%02x" % 12.99