diff options
author | Dong-hee Na <donghee.na@python.org> | 2022-05-21 14:52:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-21 14:52:45 (GMT) |
commit | dd923c57252ee90306a6fe7401ffc5a9cdc91485 (patch) | |
tree | c8fee21e08f8951a4947d359cb9cef6fa3626b1b /Lib/test/_testcppext.cpp | |
parent | d9a48d2b413194f36111aa54df331d60c5bfde3f (diff) | |
download | cpython-dd923c57252ee90306a6fe7401ffc5a9cdc91485.zip cpython-dd923c57252ee90306a6fe7401ffc5a9cdc91485.tar.gz cpython-dd923c57252ee90306a6fe7401ffc5a9cdc91485.tar.bz2 |
[3.11] GH-92898: Make _Py_Cast C++ version compatible with cast operator (gh-92951) (gh-93049)
Diffstat (limited to 'Lib/test/_testcppext.cpp')
-rw-r--r-- | Lib/test/_testcppext.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/_testcppext.cpp b/Lib/test/_testcppext.cpp index f38b487..f6049ee 100644 --- a/Lib/test/_testcppext.cpp +++ b/Lib/test/_testcppext.cpp @@ -40,6 +40,15 @@ test_api_casts(PyObject *Py_UNUSED(module), PyObject *Py_UNUSED(args)) PyTypeObject *type = Py_TYPE(const_obj); assert(Py_REFCNT(const_obj) >= 1); + struct PyObjectProxy { + PyObject* obj; + operator PyObject *() { return obj; } + } proxy_obj = { obj }; + Py_INCREF(proxy_obj); + Py_DECREF(proxy_obj); + assert(Py_REFCNT(proxy_obj) >= 1); + + assert(type == &PyTuple_Type); assert(PyTuple_GET_SIZE(const_obj) == 2); PyObject *one = PyTuple_GET_ITEM(const_obj, 0); |