Author: David C Ellis <[email protected]>
Branch: py3.6
Changeset: r95162:b7814a6b95eb
Date: 2018-09-19 19:31 +0100
http://bitbucket.org/pypy/pypy/changeset/b7814a6b95eb/
Log: Coerce float subclasses returned by __float__ to float class
First working version
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,6 +229,10 @@
"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)
return w_obj
value = space.float_w(w_obj)
elif space.isinstance_w(w_value, space.w_unicode):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit