[pypy-commit] pypy default: Test and fix
arigo
noreply at buildbot.pypy.org
Tue Feb 4 00:12:16 CET 2014
Author: Armin Rigo <arigo at 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}
More information about the pypy-commit
mailing list