]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-106529: Fix subtle Tier 2 edge case with list iterator (#106756)
authorGuido van Rossum <guido@python.org>
Sat, 15 Jul 2023 00:22:06 +0000 (17:22 -0700)
committerGitHub <noreply@github.com>
Sat, 15 Jul 2023 00:22:06 +0000 (17:22 -0700)
commit0db85eeba762e72f9f3c027e432cdebc627aac6c
treec69c2bdbb1a9986cfc5a454a1e4995f89241a51e
parent03185f0c150ebc52d41dd5ea6f369c7b5ba9fc16
gh-106529: Fix subtle Tier 2 edge case with list iterator (#106756)

The Tier 2 opcode _IS_ITER_EXHAUSTED_LIST (and _TUPLE)
didn't set it->it_seq to NULL, causing a subtle bug
that resulted in test_exhausted_iterator in list_tests.py
to fail when running all tests with -Xuops.

The bug was introduced in gh-106696.

Added this as an explicit test.

Also fixed the dependencies for ceval.o -- it depends on executor_cases.c.h.
Lib/test/test_capi/test_misc.py
Makefile.pre.in
Python/bytecodes.c
Python/executor_cases.c.h