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

Reply via email to