mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
[3.10] bpo-45056: Remove trailing unused constants from co_consts (GH-28109) (GH-28125)
(cherry picked from commit 55c4a92fc1)
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
This commit is contained in:
parent
7538fe34d7
commit
d41abe8970
7 changed files with 4672 additions and 4634 deletions
|
|
@ -648,6 +648,17 @@ def test_merge_code_attrs(self):
|
|||
self.assertIs(f1.__code__.co_linetable, f2.__code__.co_linetable)
|
||||
self.assertIs(f1.__code__.co_code, f2.__code__.co_code)
|
||||
|
||||
# Stripping unused constants is not a strict requirement for the
|
||||
# Python semantics, it's a more an implementation detail.
|
||||
@support.cpython_only
|
||||
def test_strip_unused_consts(self):
|
||||
# Python 3.10rc1 appended None to co_consts when None is not used
|
||||
# at all. See bpo-45056.
|
||||
def f1():
|
||||
"docstring"
|
||||
return 42
|
||||
self.assertEqual(f1.__code__.co_consts, ("docstring", 42))
|
||||
|
||||
# This is a regression test for a CPython specific peephole optimizer
|
||||
# implementation bug present in a few releases. It's assertion verifies
|
||||
# that peephole optimization was actually done though that isn't an
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue