[Python-checkins] cpython (merge 3.5 -> default): Issue 24017: Drop getawaitablefunc and friends in favor of unaryfunc.

yury.selivanov python-checkins at python.org
Thu May 28 17:22:52 CEST 2015


https://hg.python.org/cpython/rev/99dcca3466d3
changeset:   96333:99dcca3466d3
parent:      96331:9c0a00247021
parent:      96332:dfa0288c91fd
user:        Yury Selivanov <yselivanov at sprymix.com>
date:        Thu May 28 11:22:41 2015 -0400
summary:
  Issue 24017: Drop getawaitablefunc and friends in favor of unaryfunc.

files:
  Doc/c-api/typeobj.rst     |  12 ++++++------
  Include/object.h          |   9 +++------
  Modules/_testcapimodule.c |   2 +-
  Objects/genobject.c       |   2 +-
  Python/ceval.c            |   4 ++--
  5 files changed, 13 insertions(+), 16 deletions(-)


diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -1357,12 +1357,12 @@
    Here is the structure definition::
 
         typedef struct {
-            getawaitablefunc am_await;
-            getaiterfunc am_aiter;
-            aiternextfunc am_anext;
+            unaryfunc am_await;
+            unaryfunc am_aiter;
+            unaryfunc am_anext;
         } PyAsyncMethods;
 
-.. c:member:: getawaitablefunc PyAsyncMethods.am_await
+.. c:member:: unaryfunc PyAsyncMethods.am_await
 
    The signature of this function is::
 
@@ -1373,7 +1373,7 @@
 
    This slot may be set to *NULL* if an object is not an :term:`awaitable`.
 
-.. c:member:: getaiterfunc PyAsyncMethods.am_aiter
+.. c:member:: unaryfunc PyAsyncMethods.am_aiter
 
    The signature of this function is::
 
@@ -1384,7 +1384,7 @@
    This slot may be set to *NULL* if an object does not implement
    asynchronous iteration protocol.
 
-.. c:member:: aiternextfunc PyAsyncMethods.am_anext
+.. c:member:: unaryfunc PyAsyncMethods.am_anext
 
    The signature of this function is::
 
diff --git a/Include/object.h b/Include/object.h
--- a/Include/object.h
+++ b/Include/object.h
@@ -173,9 +173,6 @@
 typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
 typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
 typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
-typedef PyObject *(*getawaitablefunc) (PyObject *);
-typedef PyObject *(*getaiterfunc) (PyObject *);
-typedef PyObject *(*aiternextfunc) (PyObject *);
 
 #ifndef Py_LIMITED_API
 /* buffer interface */
@@ -305,9 +302,9 @@
 } PyMappingMethods;
 
 typedef struct {
-    getawaitablefunc am_await;
-    getaiterfunc am_aiter;
-    aiternextfunc am_anext;
+    unaryfunc am_await;
+    unaryfunc am_aiter;
+    unaryfunc am_anext;
 } PyAsyncMethods;
 
 typedef struct {
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -3987,7 +3987,7 @@
 }
 
 static PyAsyncMethods awaitType_as_async = {
-    (getawaitablefunc)awaitObject_await,    /* am_await */
+    (unaryfunc)awaitObject_await,           /* am_await */
     0,                                      /* am_aiter */
     0                                       /* am_anext */
 };
diff --git a/Objects/genobject.c b/Objects/genobject.c
--- a/Objects/genobject.c
+++ b/Objects/genobject.c
@@ -708,7 +708,7 @@
 PyObject *
 _PyGen_GetAwaitableIter(PyObject *o)
 {
-    getawaitablefunc getter = NULL;
+    unaryfunc getter = NULL;
     PyTypeObject *ot;
 
     if (PyGen_CheckCoroutineExact(o)) {
diff --git a/Python/ceval.c b/Python/ceval.c
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1927,7 +1927,7 @@
         }
 
         TARGET(GET_AITER) {
-            getaiterfunc getter = NULL;
+            unaryfunc getter = NULL;
             PyObject *iter = NULL;
             PyObject *awaitable = NULL;
             PyObject *obj = TOP();
@@ -1974,7 +1974,7 @@
         }
 
         TARGET(GET_ANEXT) {
-            aiternextfunc getter = NULL;
+            unaryfunc getter = NULL;
             PyObject *next_iter = NULL;
             PyObject *awaitable = NULL;
             PyObject *aiter = TOP();

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list