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().
This commit is contained in:
Victor Stinner 2022-01-21 17:53:13 +01:00 committed by GitHub
parent fda8886498
commit a1bf329bca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 3 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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 */