Author: David C Ellis <ducks...@gmail.com>
Branch: py3.6
Changeset: r95163:fec283ea730d
Date: 2018-09-20 00:56 +0100
http://bitbucket.org/pypy/pypy/changeset/fec283ea730d/

Log:    Check isinstance so rpython translates.

diff --git a/pypy/objspace/std/floatobject.py b/pypy/objspace/std/floatobject.py
--- a/pypy/objspace/std/floatobject.py
+++ b/pypy/objspace/std/floatobject.py
@@ -229,10 +229,11 @@
                         "in a future version of Python." %
                             (space.type(w_value).name, w_obj_type.name)),
                         space.w_DeprecationWarning)
-                    # Convert to a non-subclass float
-                    value = w_obj.floatval
-                    w_obj = space.allocate_instance(W_FloatObject, w_floattype)
-                    W_FloatObject.__init__(w_obj, value)
+                    if isinstance(w_obj, W_FloatObject):
+                        # Convert to a non-subclass float
+                        value = w_obj.floatval
+                        w_obj = space.allocate_instance(W_FloatObject, 
w_floattype)
+                        W_FloatObject.__init__(w_obj, value)
                 return w_obj
             value = space.float_w(w_obj)
         elif space.isinstance_w(w_value, space.w_unicode):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to