pyo3_ffi/compat/
py_3_14.rs

1compat_function!(
2    originally_defined_for(all(Py_3_14, not(Py_LIMITED_API)));
3
4    #[inline]
5    pub unsafe fn Py_HashBuffer(
6        ptr: *const std::ffi::c_void,
7        len: crate::Py_ssize_t,
8    ) -> crate::Py_hash_t {
9        #[cfg(not(any(Py_LIMITED_API, PyPy)))]
10        {
11            crate::_Py_HashBytes(ptr, len)
12        }
13
14        #[cfg(any(Py_LIMITED_API, PyPy))]
15        {
16            let bytes = crate::PyBytes_FromStringAndSize(ptr as *const std::os::raw::c_char, len);
17            if bytes.is_null() {
18                -1
19            } else {
20                let result = crate::PyObject_Hash(bytes);
21                crate::Py_DECREF(bytes);
22                result
23            }
24        }
25    }
26);
⚠️ Internal Docs ⚠️ Not Public API 👉 Official Docs Here