March 29, 2013
10:29 p.m.
Barry A. Warsaw added the comment: You also end up with this nice bit of inconsistency:
x = myint(7) from operator import index range(10)[6:x] range(6, 7) range(10)[6:x.__index__()] range(6, 8) range(10)[6:index(x)] range(6, 7)
Granted, it's insane to have __index__() return a different value like this, but in my specific use case, it's the type of object returned from operator.index() that's the problem. operator.index() returns the subclass instance while obj.__index__() returns the int. (The use case is the IntEnum of PEP 435.) ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue17576> _______________________________________