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 <rep...@bugs.python.org> <http://bugs.python.org/issue17576> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com