This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients gumtree, mark.dickinson, meador.inge
Date 2010-11-26.13:12:33
SpamBayes Score 0.00016970516
Marked as misclassified No
Message-id <1290777155.61.0.573607722281.issue5211@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2010-11-26 13:12:35mark.dickinsonsetrecipients: + mark.dickinson, gumtree, meador.inge
2010-11-26 13:12:35mark.dickinsonsetmessageid: <1290777155.61.0.573607722281.issue5211@psf.upfronthosting.co.za>
2010-11-26 13:12:33mark.dickinsonlinkissue5211 messages
2010-11-26 13:12:33mark.dickinsoncreate