Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r69067:36ce13e8847d Date: 2014-02-04 00:11 +0100 http://bitbucket.org/pypy/pypy/changeset/36ce13e8847d/
Log: Test and fix diff --git a/pypy/objspace/std/specialisedtupleobject.py b/pypy/objspace/std/specialisedtupleobject.py --- a/pypy/objspace/std/specialisedtupleobject.py +++ b/pypy/objspace/std/specialisedtupleobject.py @@ -131,11 +131,11 @@ from pypy.objspace.std.floatobject import W_FloatObject if len(list_w) == 2: w_arg1, w_arg2 = list_w - if isinstance(w_arg1, W_IntObject): - if isinstance(w_arg2, W_IntObject): + if type(w_arg1) is W_IntObject: + if type(w_arg2) is W_IntObject: return Cls_ii(space, w_arg1, w_arg2) - elif isinstance(w_arg1, W_FloatObject): - if isinstance(w_arg2, W_FloatObject): + elif type(w_arg1) is W_FloatObject: + if type(w_arg2) is W_FloatObject: return Cls_ff(space, w_arg1, w_arg2) return Cls_oo(space, w_arg1, w_arg2) else: diff --git a/pypy/objspace/std/test/test_specialisedtupleobject.py b/pypy/objspace/std/test/test_specialisedtupleobject.py --- a/pypy/objspace/std/test/test_specialisedtupleobject.py +++ b/pypy/objspace/std/test/test_specialisedtupleobject.py @@ -214,6 +214,14 @@ assert a == (1, 2.2,) + b assert not a != (1, 2.2) + b + def test_subclasses(self): + class I(int): pass + class F(float): pass + t = (I(42), I(43)) + assert type(t[0]) is I + t = (F(42), F(43)) + assert type(t[0]) is F + class AppTestAll(test_tupleobject.AppTestW_TupleObject): spaceconfig = {"objspace.std.withspecialisedtuple": True} _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit