cpython/Objects
Eric Snow dd4c8aca61
[3.12] gh-117482: Simplify the Fix For Builtin Types Slot Wrappers (gh-122241)
In gh-121602, I applied a fix to a builtin types initialization bug.
That fix made sense in the context of some broader future changes,
but introduced a little bit of extra complexity.  For earlier versions
those future changes are not relevant; we can avoid the extra complexity.
Thus we can revert that earlier change and replace it with this one,
which is more focused and conceptually simpler.  This is essentially
the implementation of an idea that @markshannon pointed out to me.

Note that this change would be much smaller if we didn't have to deal
with repr compatibility for builtin types that explicitly inherit tp slots
(see expect_manually_inherited()).  The alternative is to stop
*explicitly* inheriting tp slots in static PyTypeObject values,
which is churn that we can do separately.

(cherry picked from commit 716c6771fc, AKA gh-121932)
2024-07-24 19:07:32 +00:00
..
clinic [3.12] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122013) 2024-07-19 09:08:33 +00:00
stringlib
abstract.c
boolobject.c GH-103906: Remove immortal refcounting in the interpreter (GH-103909) 2023-05-16 14:36:02 -07:00
bytearrayobject.c [3.12] gh-112625: Protect bytearray from being freed by misbehaving iterator inside bytearray.join (GH-112626) (GH-112693) 2023-12-04 08:46:40 +00:00
bytes_methods.c gh-84436: Implement Immortal Objects (gh-19474) 2023-04-22 13:39:37 -06:00
bytesobject.c [3.12] gh-105235: Prevent reading outside buffer during mmap.find() (GH-105252) (#106708) 2023-07-14 22:15:14 -04:00
call.c GH-103899: Provide a hint when accidentally calling a module (GH-103900) 2023-05-04 15:07:42 -07:00
capsule.c
cellobject.c
classobject.c [3.12] GH-106895: Raise a ValueError when attempting to disable events that cannot be disabled. (GH-107337) (GH-107351) 2023-07-28 10:53:33 +01:00
codeobject.c [3.12] GH-109052: Use the base opcode when comparing code objects (GH-112329) 2023-11-23 10:18:17 -08:00
complexobject.c [3.12] gh-109218: Improve documentation for the complex() constructor (GH-119687) (ПР-119805) 2024-05-30 20:52:44 +00:00
descrobject.c [3.12] bpo-24766: doc= argument to subclasses of property not handled correctly (GH-2487) (GH-120312) 2024-06-10 10:32:45 +00:00
dictnotes.txt
dictobject.c gh-104717: Add comment about manual loop unrolling (gh-104718) 2023-05-21 21:08:28 +09:00
enumobject.c
exception_handling_notes.txt
exceptions.c [3.12] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122013) 2024-07-19 09:08:33 +00:00
fileobject.c
floatobject.c [3.12] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122013) 2024-07-19 09:08:33 +00:00
frame_layout.md
frameobject.c [3.12] GH-94438: Restore ability to jump over None tests (GH-111243) 2023-10-24 06:39:26 +00:00
funcobject.c [3.12] gh-106033: Get rid of PyDict_GetItem in _PyFunction_FromConstructor (GH-106044) (GH-106228) 2023-06-29 13:45:39 +03:00
genericaliasobject.c [3.12] gh-121660: Fix ga_getitem by explicitly checking for NULL result (GH-121661) (#121762) 2024-07-14 11:37:00 +00:00
genobject.c [3.12] gh-119897: Revert buggy optimization which was removed in 3.13 (#120467) 2024-06-18 10:45:40 +01:00
interpreteridobject.c [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258) (gh-107303) 2023-07-27 13:15:47 -06:00
iterobject.c
listobject.c [3.12] gh-120384: Fix array-out-of-bounds crash in list_ass_subscript (GH-120442) (#120825) 2024-06-21 11:08:22 +00:00
listsort.txt
lnotab_notes.txt [3.12] Document the co_lines method on code objects (#113682) (#113686) 2024-01-03 20:09:15 +00:00
locations.md
longobject.c [3.12] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122013) 2024-07-19 09:08:33 +00:00
memoryobject.c [3.12] gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228) (#120240) 2024-06-07 16:26:03 +00:00
methodobject.c
moduleobject.c [3.12] gh-106719: Fix __annotations__ getter and setter in the type and module types (GH-106720) (GH-106848) 2023-07-18 10:01:22 +03:00
namespaceobject.c
object.c [3.12] gh-112125: Fix None.__ne__(None) returning NotImplemented instead of … (#112827) 2023-12-07 13:41:00 +00:00
object_layout.md [3.12] gh-106293: Fix typos in Objects/object_layout.md (GH-106294) (#114158) 2024-01-16 23:35:20 +00:00
object_layout_312.gv
object_layout_312.png
object_layout_full_312.gv
object_layout_full_312.png
obmalloc.c [3.12] gh-100227: Lock Around Modification of the Global Allocators State (gh-105516) (gh-105532) 2023-06-08 22:35:53 +00:00
odictobject.c
picklebufobject.c
rangeobject.c
README
setobject.c [3.12] gh-113560: Improve docstrings for set.issubset() and set.issuperset() (GH-113562) (GH-114644) 2024-01-27 11:29:26 +00:00
sliceobject.c gh-84436: Implement Immortal Objects (gh-19474) 2023-04-22 13:39:37 -06:00
structseq.c gh-94673: More Per-Interpreter Fields for Builtin Static Types (gh-103912) 2023-05-02 21:30:03 -06:00
tupleobject.c [3.12] GH-121439: Allow PyTupleObjects with an ob_size of 20 in the free_list to be reused (gh-121428) (#121566) 2024-07-10 08:06:41 +00:00
typeobject.c [3.12] gh-117482: Simplify the Fix For Builtin Types Slot Wrappers (gh-122241) 2024-07-24 19:07:32 +00:00
typeslots.inc
typeslots.py
typevarobject.c [3.12] gh-110782: Fix crash when TypeVar is constructed with keyword args (GH-110784) (#110787) 2023-10-12 23:24:37 +00:00
unicodectype.c
unicodeobject.c [3.12] gh-113964: Don't prevent new threads until all non-daemon threads exit (GH-116677) (#117029) 2024-03-19 15:22:42 -04:00
unicodetype_db.h
unionobject.c gh-104549: Set __module__ on TypeAliasType (#104550) 2023-05-18 15:56:15 -07:00
weakrefobject.c gh-94673: Properly Initialize and Finalize Static Builtin Types for Each Interpreter (gh-104072) 2023-05-01 19:36:00 -06:00

Source files for various builtin objects