Author: Philip Jenvey <pjen...@underboss.org> Branch: py3k Changeset: r87683:9f40d9cc4ac8 Date: 2016-10-09 19:30 -0700 http://bitbucket.org/pypy/pypy/changeset/9f40d9cc4ac8/
Log: adapt a2d8b4680ef9 to py3 diff --git a/pypy/objspace/std/intobject.py b/pypy/objspace/std/intobject.py --- a/pypy/objspace/std/intobject.py +++ b/pypy/objspace/std/intobject.py @@ -864,9 +864,12 @@ return w_value return newbigint(space, w_inttype, space.bigint_w(w_value)) elif space.lookup(w_value, '__int__') is not None: - return _from_intlike(space, w_inttype, w_value) + return _from_intlike(space, w_inttype, space.int(w_value)) elif space.lookup(w_value, '__trunc__') is not None: - return _from_intlike(space, w_inttype, space.trunc(w_value)) + w_obj = space.trunc(w_value) + if not space.isinstance_w(w_obj, space.w_int): + w_obj = space.int(w_obj) + return _from_intlike(space, w_inttype, w_obj) elif space.isinstance_w(w_value, space.w_unicode): from pypy.objspace.std.unicodeobject import unicode_to_decimal_w b = unicode_to_decimal_w(space, w_value, allow_surrogates=True) @@ -910,11 +913,10 @@ def _from_intlike(space, w_inttype, w_intlike): - w_obj = space.int(w_intlike) if space.is_w(w_inttype, space.w_int): - return w_obj + return w_intlike from pypy.objspace.std.longobject import newbigint - return newbigint(space, w_inttype, space.bigint_w(w_obj)) + return newbigint(space, w_inttype, space.bigint_w(w_intlike)) W_AbstractIntObject.typedef = TypeDef("int", _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit