[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