Mark Dickinson <dicki...@gmail.com> added the comment: I think that's expected behaviour. Note that int vs float behaves in the same way as float vs complex:
>>> class xint(int): ... def __radd__(self, other): ... print "__radd__" ... return 42 ... >>> 3 + xint(5) __radd__ 42 >>> 3.0 + xint(5) # xint.__radd__ not called. 8.0 As with your example, the float.__add__ method is happy to deal with an int or an instance of any subclass of int. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5211> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com