From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 23 Jun 2025 10:41:39 +0000 (+0200) Subject: [3.14] gh-89488: Add warning about `Py_BuildValue("p")` needing exact `int` (GH-13561... X-Git-Tag: v3.14.0b4~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f0a330e5fbaebf24a1a1b9bcebf5e9be7084f241;p=thirdparty%2FPython%2Fcpython.git [3.14] gh-89488: Add warning about `Py_BuildValue("p")` needing exact `int` (GH-135610) (GH-135843) (cherry picked from commit 6aa0826ed7688e5f40742cdcaf57420b284e194f) Co-authored-by: Petr Viktorin --- diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst index 49dbc8d71cce..ab9f9c4539ae 100644 --- a/Doc/c-api/arg.rst +++ b/Doc/c-api/arg.rst @@ -686,6 +686,12 @@ Building values ``p`` (:class:`bool`) [int] Convert a C :c:expr:`int` to a Python :class:`bool` object. + Be aware that this format requires an ``int`` argument. + Unlike most other contexts in C, variadic arguments are not coerced to + a suitable type automatically. + You can convert another type (for example, a pointer or a float) to a + suitable ``int`` value using ``(x) ? 1 : 0`` or ``!!x``. + .. versionadded:: 3.14 ``c`` (:class:`bytes` of length 1) [char]