Author: Brian Kearns <[email protected]>
Branch:
Changeset: r68422:050a624fe426
Date: 2013-12-13 15:53 -0500
http://bitbucket.org/pypy/pypy/changeset/050a624fe426/
Log: use the float method which has builtin type check
diff --git a/pypy/objspace/std/floattype.py b/pypy/objspace/std/floattype.py
--- a/pypy/objspace/std/floattype.py
+++ b/pypy/objspace/std/floattype.py
@@ -27,12 +27,8 @@
def descr__new__(space, w_floattype, w_x):
from pypy.objspace.std.floatobject import W_FloatObject
w_value = w_x # 'x' is the keyword argument name in CPython
- w_special = space.lookup(w_value, "__float__")
- if w_special is not None:
- w_obj = space.get_and_call_function(w_special, w_value)
- if not space.isinstance_w(w_obj, space.w_float):
- raise OperationError(space.w_TypeError,
- space.wrap("__float__ returned non-float"))
+ if space.lookup(w_value, "__float__") is not None:
+ w_obj = space.float(w_value)
if space.is_w(w_floattype, space.w_float):
return w_obj
value = space.float_w(w_obj)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit