From b98eba5bc2ffbe7a0ed49d540ebc4f756ae61985 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 8 Apr 2021 09:58:15 +0200 Subject: [PATCH] bpo-43770: _PyTypes_Init() inits _PyAnextAwaitable_Type (GH-25266) * Rename PyAnextAwaitable_Type to _PyAnextAwaitable_Type. * Expose the type in the internal C API. --- Include/iterobject.h | 3 +++ Objects/iterobject.c | 4 ++-- Objects/object.c | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Include/iterobject.h b/Include/iterobject.h index 51139bf1874..6454611aebe 100644 --- a/Include/iterobject.h +++ b/Include/iterobject.h @@ -7,6 +7,9 @@ extern "C" { PyAPI_DATA(PyTypeObject) PySeqIter_Type; PyAPI_DATA(PyTypeObject) PyCallIter_Type; +#ifdef Py_BUILD_CORE +extern PyTypeObject _PyAnextAwaitable_Type; +#endif #define PySeqIter_Check(op) Py_IS_TYPE(op, &PySeqIter_Type) diff --git a/Objects/iterobject.c b/Objects/iterobject.c index f0c6b799176..65af18abf79 100644 --- a/Objects/iterobject.c +++ b/Objects/iterobject.c @@ -333,7 +333,7 @@ static PyAsyncMethods anextawaitable_as_async = { 0, /* am_send */ }; -PyTypeObject PyAnextAwaitable_Type = { +PyTypeObject _PyAnextAwaitable_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "anext_awaitable", /* tp_name */ sizeof(anextawaitableobject), /* tp_basicsize */ @@ -369,7 +369,7 @@ PyObject * PyAnextAwaitable_New(PyObject *awaitable, PyObject *default_value) { anextawaitableobject *anext = PyObject_GC_New( - anextawaitableobject, &PyAnextAwaitable_Type); + anextawaitableobject, &_PyAnextAwaitable_Type); if (anext == NULL) { return NULL; } diff --git a/Objects/object.c b/Objects/object.c index ceb0990dbc4..1224160dd50 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -1833,6 +1833,7 @@ _PyTypes_Init(void) INIT_TYPE(PyUnicode_Type); INIT_TYPE(PyWrapperDescr_Type); INIT_TYPE(Py_GenericAliasType); + INIT_TYPE(_PyAnextAwaitable_Type); INIT_TYPE(_PyAsyncGenASend_Type); INIT_TYPE(_PyAsyncGenAThrow_Type); INIT_TYPE(_PyAsyncGenWrappedValue_Type);