From 88d34b3208b9e79253e8210c279988c834a69b7d Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 28 May 2026 08:36:44 -0600 Subject: [PATCH 1/2] Fix Py_UNICODE_TODECIMAL definition for PyPy --- pyo3-ffi/src/cpython/unicodeobject.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pyo3-ffi/src/cpython/unicodeobject.rs b/pyo3-ffi/src/cpython/unicodeobject.rs index bc256348c2b..b3226db75cd 100644 --- a/pyo3-ffi/src/cpython/unicodeobject.rs +++ b/pyo3-ffi/src/cpython/unicodeobject.rs @@ -866,9 +866,17 @@ extern_libpython! { // skipped Py_UNICODE_ISNUMERIC // skipped Py_UNICODE_ISPRINTABLE +#[cfg(not(PyPy))] pub unsafe extern "C" fn Py_UNICODE_TODECIMAL(ch: Py_UCS4) -> c_int { _PyUnicode_ToDecimalDigit(ch) } + +#[cfg(PyPy)] +extern_libpython! { + #[cfg_attr(PyPy, link_name = "PyPy_UNICODE_TODECIMAL")] + pub fn Py_UNICODE_TODECIMAL(ch: Py_UCS4) -> c_int; +} + // skipped Py_UNICODE_TODIGIT // skipped Py_UNICODE_TONUMERIC From a5b1cfc92c2f125c41245d1f120e987bd83f76dc Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 28 May 2026 12:31:25 -0600 Subject: [PATCH 2/2] Update unicodeobject.rs Co-authored-by: Bas Schoenmaeckers <7943856+bschoenmaeckers@users.noreply.github.com> --- pyo3-ffi/src/cpython/unicodeobject.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pyo3-ffi/src/cpython/unicodeobject.rs b/pyo3-ffi/src/cpython/unicodeobject.rs index b3226db75cd..2db3a897596 100644 --- a/pyo3-ffi/src/cpython/unicodeobject.rs +++ b/pyo3-ffi/src/cpython/unicodeobject.rs @@ -837,6 +837,7 @@ extern_libpython! { // skipped _PyUnicode_ToUppercase // skipped _PyUnicode_ToTitlecase + #[cfg(not(PyPy))] fn _PyUnicode_ToDecimalDigit(ch: Py_UCS4) -> c_int; // skipped _PyUnicode_ToDigit