[Python-checkins] bpo-46417: Add missing types of _PyTypes_InitTypes() (GH-30749)
vstinner
webhook-mailer at python.org
Fri Jan 21 11:53:20 EST 2022
https://github.com/python/cpython/commit/a1bf329bca80a0259da454c936075e11e6af710f
commit: a1bf329bca80a0259da454c936075e11e6af710f
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2022-01-21T17:53:13+01:00
summary:
bpo-46417: Add missing types of _PyTypes_InitTypes() (GH-30749)
Add types removed by mistake by the commit adding
_PyTypes_FiniTypes().
Move also PyBool_Type at the end, since it depends on PyLong_Type.
PyBytes_Type and PyUnicode_Type no longer depend explicitly on
PyBaseObject_Type: it's the default of PyType_Ready().
files:
M Objects/bytesobject.c
M Objects/object.c
M Objects/unicodeobject.c
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 85d6912ca751fc..b6edfb9acb2dbb 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -2904,7 +2904,7 @@ PyTypeObject PyBytes_Type = {
bytes_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
- &PyBaseObject_Type, /* tp_base */
+ 0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
diff --git a/Objects/object.c b/Objects/object.c
index dc2cba2ebccec0..a5ee8eef4a3b49 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -1841,9 +1841,10 @@ _PyTypes_InitState(PyInterpreterState *interp)
static PyTypeObject* static_types[] = {
// base types
&PyAsyncGen_Type,
- &PyBool_Type,
&PyByteArrayIter_Type,
&PyByteArray_Type,
+ &PyBytesIter_Type,
+ &PyBytes_Type,
&PyCFunction_Type,
&PyCallIter_Type,
&PyCapsule_Type,
@@ -1866,6 +1867,7 @@ static PyTypeObject* static_types[] = {
&PyDict_Type,
&PyEllipsis_Type,
&PyEnum_Type,
+ &PyFloat_Type,
&PyFrame_Type,
&PyFrozenSet_Type,
&PyFunction_Type,
@@ -1876,6 +1878,7 @@ static PyTypeObject* static_types[] = {
&PyListRevIter_Type,
&PyList_Type,
&PyLongRangeIter_Type,
+ &PyLong_Type,
&PyMemberDescr_Type,
&PyMemoryView_Type,
&PyMethodDescr_Type,
@@ -1897,6 +1900,10 @@ static PyTypeObject* static_types[] = {
&PyStdPrinter_Type,
&PySuper_Type,
&PyTraceBack_Type,
+ &PyTupleIter_Type,
+ &PyTuple_Type,
+ &PyUnicodeIter_Type,
+ &PyUnicode_Type,
&PyWrapperDescr_Type,
&Py_GenericAliasType,
&_PyAnextAwaitable_Type,
@@ -1917,6 +1924,7 @@ static PyTypeObject* static_types[] = {
// subclasses: _PyTypes_FiniTypes() deallocates them before their base
// class
+ &PyBool_Type, // base=&PyLong_Type
&PyCMethod_Type, // base=&PyCFunction_Type
&PyODictItems_Type, // base=&PyDictItems_Type
&PyODictKeys_Type, // base=&PyDictKeys_Type
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 31b8710defbea6..2e1f8a6ac4e565 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -15511,7 +15511,7 @@ PyTypeObject PyUnicode_Type = {
unicode_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
- &PyBaseObject_Type, /* tp_base */
+ 0, /* tp_base */
0, /* tp_dict */
0, /* tp_descr_get */
0, /* tp_descr_set */
More information about the Python-checkins
mailing list