Author: David C Ellis <ducks...@gmail.com> Branch: py3.6 Changeset: r95164:8feed387bf12 Date: 2018-09-24 14:19 +0100 http://bitbucket.org/pypy/pypy/changeset/8feed387bf12/
Log: Warning should be raised even if it's a float subclass 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 @@ -219,16 +219,17 @@ w_value = w_x # 'x' is the keyword argument name in CPython if space.lookup(w_value, "__float__") is not None: w_obj = space.float(w_value) + w_obj_type = space.type(w_obj) + if not space.is_w(w_obj_type, space.w_float): + space.warn(space.newtext( + "%s.__float__ returned non-float (type %s). " + "The ability to return an instance of a strict subclass " + "of float is deprecated, and may be removed " + "in a future version of Python." % + (space.type(w_value).name, w_obj_type.name)), + space.w_DeprecationWarning) if space.is_w(w_floattype, space.w_float): - w_obj_type = space.type(w_obj) if not space.is_w(w_obj_type, space.w_float): - space.warn(space.newtext( - "%s.__float__ returned non-float (type %s). " - "The ability to return an instance of a strict subclass " - "of float is deprecated, and may be removed " - "in a future version of Python." % - (space.type(w_value).name, w_obj_type.name)), - space.w_DeprecationWarning) if isinstance(w_obj, W_FloatObject): # Convert to a non-subclass float value = w_obj.floatval _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit