Ethan Furman added the comment: > Eric V. Smith added the comment: > > For the format version, what gets called is: > > int_subclass.__format__('d'), which is int.__format__(int_subclass, > 'd'), which produces '1', assuming int(int_subclass) is 1.
Ah, I didn't realize. Thanks. > So, there's no "str" involved anywhere, except the one on which > .format() is called ('{:d}'), and it doesn't know about the types of any > arguments or what the format specifiers mean, so it can't make any > decisions. As far as format goes, I don't think there is a problem. It's behaving just like it should (which makes sense, since IntEnum is derived from int and is already using int's __format__ by default). The problem, then, is just with %-formatting, which is squarely a str (aka Objects/unicodeobject.c) issue. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue18738> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com