diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-09-11 22:31:33 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-09-11 22:31:33 (GMT) |
commit | 69c2de3ad69219d60c53827670856deee6f4241c (patch) | |
tree | db2d77467381516fef3efe9c2e52cb2879530659 /Lib/test/test_descr.py | |
parent | 0280cf79a71cf2bf710d57e921d61184aa1b2dfd (diff) | |
download | cpython-69c2de3ad69219d60c53827670856deee6f4241c.zip cpython-69c2de3ad69219d60c53827670856deee6f4241c.tar.gz cpython-69c2de3ad69219d60c53827670856deee6f4241c.tar.bz2 |
More bug 460020. Disable a number of long optimizations for long subclasses.
Diffstat (limited to 'Lib/test/test_descr.py')
-rw-r--r-- | Lib/test/test_descr.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index a50785f..11a3a5d 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -1389,6 +1389,30 @@ def inherits(): a = octlong(12345) verify(long(a) == 12345L) verify(long(a).__class__ is long) + verify((+a).__class__ is long) + verify((-a).__class__ is long) + verify((-octlong(0)).__class__ is long) + verify((a >> 0).__class__ is long) + verify((a << 0).__class__ is long) + verify((a - 0).__class__ is long) + verify((a * 1).__class__ is long) + verify((a ** 1).__class__ is long) + verify((a // 1).__class__ is long) + verify((1 * a).__class__ is long) + verify((a | 0).__class__ is long) + verify((a ^ 0).__class__ is long) + verify((a & -1L).__class__ is long) + verify((octlong(0) << 12).__class__ is long) + verify((octlong(0) >> 12).__class__ is long) + verify(abs(octlong(0)).__class__ is long) + + # Because octlong overrides __add__, we can't check the absence of +0 + # optimizations using octlong. + class longclone(long): + pass + a = longclone(1) + verify((a + 0).__class__ is long) + verify((0 + a).__class__ is long) class precfloat(float): __slots__ = ['prec'] |