]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.12] gh-117482: Fix Builtin Types Slot Wrappers (gh-121632)
authorEric Snow <ericsnowcurrently@gmail.com>
Thu, 11 Jul 2024 21:20:08 +0000 (15:20 -0600)
committerGitHub <noreply@github.com>
Thu, 11 Jul 2024 21:20:08 +0000 (21:20 +0000)
commit0ec761a96a80f4b84b98aad5e784e4ac8f385c3f
tree7d873f5b50437443acaea7eb0712be17af8b1c09
parent5492f84c14bc0c93a24863349b6c998bdb18e93f
[3.12] gh-117482: Fix Builtin Types Slot Wrappers (gh-121632)

When builtin static types are initialized for a subinterpreter, various "tp" slots have already been inherited (for the main interpreter).  This was interfering with the logic in add_operators() (in Objects/typeobject.c), causing a wrapper to get created when it shouldn't.  This change fixes that by preserving the original data from the static type struct and checking that.

(cherry picked from commit 5250a031332eb9499d5fc190d7287642e5a144b9, AKA gh-121602)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Lib/test/test_types.py
Misc/NEWS.d/next/Core and Builtins/2024-07-10-15-43-54.gh-issue-117482.5WYaXR.rst [new file with mode: 0644]
Objects/typeobject.c
Tools/c-analyzer/cpython/globals-to-fix.tsv