Hello guys,<br>
<br>On the latest code drop (43741) it seems that something is broken in subclasses of floats. <br>
<br>
class MyFloatType(float):<br>
&nbsp; def __new__(cls):<br>
&nbsp;&nbsp;&nbsp; return float.__new__(cls, 0.0)<br>
<br>
&nbsp; def __repr__(self):<br>
&nbsp;&nbsp;&nbsp; return &quot;MyFloat&quot;<br>
<br>
&nbsp; __str__ = __repr__<br>
<br>
&gt;&gt;&gt;MyFloat = MyFloatType()<br>
&gt;&gt;&gt;int(MyFloat)<br>
TypeError: expected int, got p<br>
<br>
This is one can be worked around by having an __int__ defined. However,<br>
<br>
&gt;&gt;&gt;str(MyFloat)<br>
&#39;0.0&#39;<br>
&gt;&gt;&gt;repr(MyFloat)<br>
&#39;MyFloat&#39;<br>
<br><br>
Subclassing longs and ints in a similar way has the correct behaviour.<br><br>
This is nasty and a blocker for us.<br><br>We&#39;ve raised this as Issue 19675<br><br><br><br>Glenn &amp; Orestis<br>