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 */ bytes_methods, /* tp_methods */
0, /* tp_members */ 0, /* tp_members */
0, /* tp_getset */ 0, /* tp_getset */
&PyBaseObject_Type, /* tp_base */ 0, /* tp_base */
0, /* tp_dict */ 0, /* tp_dict */
0, /* tp_descr_get */ 0, /* tp_descr_get */
0, /* tp_descr_set */ 0, /* tp_descr_set */

View File

@ -1841,9 +1841,10 @@ _PyTypes_InitState(PyInterpreterState *interp)
static PyTypeObject* static_types[] = { static PyTypeObject* static_types[] = {
// base types // base types
&PyAsyncGen_Type, &PyAsyncGen_Type,
&PyBool_Type,
&PyByteArrayIter_Type, &PyByteArrayIter_Type,
&PyByteArray_Type, &PyByteArray_Type,
&PyBytesIter_Type,
&PyBytes_Type,
&PyCFunction_Type, &PyCFunction_Type,
&PyCallIter_Type, &PyCallIter_Type,
&PyCapsule_Type, &PyCapsule_Type,
@ -1866,6 +1867,7 @@ static PyTypeObject* static_types[] = {
&PyDict_Type, &PyDict_Type,
&PyEllipsis_Type, &PyEllipsis_Type,
&PyEnum_Type, &PyEnum_Type,
&PyFloat_Type,
&PyFrame_Type, &PyFrame_Type,
&PyFrozenSet_Type, &PyFrozenSet_Type,
&PyFunction_Type, &PyFunction_Type,
@ -1876,6 +1878,7 @@ static PyTypeObject* static_types[] = {
&PyListRevIter_Type, &PyListRevIter_Type,
&PyList_Type, &PyList_Type,
&PyLongRangeIter_Type, &PyLongRangeIter_Type,
&PyLong_Type,
&PyMemberDescr_Type, &PyMemberDescr_Type,
&PyMemoryView_Type, &PyMemoryView_Type,
&PyMethodDescr_Type, &PyMethodDescr_Type,
@ -1897,6 +1900,10 @@ static PyTypeObject* static_types[] = {
&PyStdPrinter_Type, &PyStdPrinter_Type,
&PySuper_Type, &PySuper_Type,
&PyTraceBack_Type, &PyTraceBack_Type,
&PyTupleIter_Type,
&PyTuple_Type,
&PyUnicodeIter_Type,
&PyUnicode_Type,
&PyWrapperDescr_Type, &PyWrapperDescr_Type,
&Py_GenericAliasType, &Py_GenericAliasType,
&_PyAnextAwaitable_Type, &_PyAnextAwaitable_Type,
@ -1917,6 +1924,7 @@ static PyTypeObject* static_types[] = {
// subclasses: _PyTypes_FiniTypes() deallocates them before their base // subclasses: _PyTypes_FiniTypes() deallocates them before their base
// class // class
&PyBool_Type, // base=&PyLong_Type
&PyCMethod_Type, // base=&PyCFunction_Type &PyCMethod_Type, // base=&PyCFunction_Type
&PyODictItems_Type, // base=&PyDictItems_Type &PyODictItems_Type, // base=&PyDictItems_Type
&PyODictKeys_Type, // base=&PyDictKeys_Type &PyODictKeys_Type, // base=&PyDictKeys_Type

View File

@ -15511,7 +15511,7 @@ PyTypeObject PyUnicode_Type = {
unicode_methods, /* tp_methods */ unicode_methods, /* tp_methods */
0, /* tp_members */ 0, /* tp_members */
0, /* tp_getset */ 0, /* tp_getset */
&PyBaseObject_Type, /* tp_base */ 0, /* tp_base */
0, /* tp_dict */ 0, /* tp_dict */
0, /* tp_descr_get */ 0, /* tp_descr_get */
0, /* tp_descr_set */ 0, /* tp_descr_set */