mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
bpo-43908: Make heap types converted during 3.10 alpha immutable (GH-26351)
* Make functools types immutable * Multibyte codec types are now immutable * pyexpat.xmlparser is now immutable * array.arrayiterator is now immutable * _thread types are now immutable * _csv types are now immutable * _queue.SimpleQueue is now immutable * mmap.mmap is now immutable * unicodedata.UCD is now immutable * sqlite3 types are now immutable * _lsprof.Profiler is now immutable * _overlapped.Overlapped is now immutable * _operator types are now immutable * winapi__overlapped.Overlapped is now immutable * _lzma types are now immutable * _bz2 types are now immutable * _dbm.dbm and _gdbm.gdbm are now immutable
This commit is contained in:
parent
c544393b89
commit
00710e6346
22 changed files with 61 additions and 38 deletions
|
|
@ -491,7 +491,8 @@ static PyType_Spec partial_type_spec = {
|
|||
.name = "functools.partial",
|
||||
.basicsize = sizeof(partialobject),
|
||||
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
|
||||
Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_VECTORCALL,
|
||||
Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_VECTORCALL |
|
||||
Py_TPFLAGS_IMMUTABLETYPE,
|
||||
.slots = partial_type_slots
|
||||
};
|
||||
|
||||
|
|
@ -559,7 +560,7 @@ static PyType_Spec keyobject_type_spec = {
|
|||
.name = "functools.KeyWrapper",
|
||||
.basicsize = sizeof(keyobject),
|
||||
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
|
||||
Py_TPFLAGS_HAVE_GC),
|
||||
Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_IMMUTABLETYPE),
|
||||
.slots = keyobject_type_slots
|
||||
};
|
||||
|
||||
|
|
@ -781,7 +782,8 @@ static PyType_Slot lru_list_elem_type_slots[] = {
|
|||
static PyType_Spec lru_list_elem_type_spec = {
|
||||
.name = "functools._lru_list_elem",
|
||||
.basicsize = sizeof(lru_list_elem),
|
||||
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
|
||||
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
|
||||
Py_TPFLAGS_IMMUTABLETYPE,
|
||||
.slots = lru_list_elem_type_slots
|
||||
};
|
||||
|
||||
|
|
@ -1417,7 +1419,7 @@ static PyType_Spec lru_cache_type_spec = {
|
|||
.name = "functools._lru_cache_wrapper",
|
||||
.basicsize = sizeof(lru_cache_object),
|
||||
.flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
|
||||
Py_TPFLAGS_METHOD_DESCRIPTOR,
|
||||
Py_TPFLAGS_METHOD_DESCRIPTOR | Py_TPFLAGS_IMMUTABLETYPE,
|
||||
.slots = lru_cache_type_slots
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue