make hashes always the size of pointers; introduce Py_hash_t #9778
diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst
index 7efc0d2..8410934 100644
--- a/Doc/c-api/object.rst
+++ b/Doc/c-api/object.rst
@@ -247,15 +247,20 @@
*NULL* on failure.
-.. c:function:: long PyObject_Hash(PyObject *o)
+.. c:function:: Py_hash_t PyObject_Hash(PyObject *o)
.. index:: builtin: hash
Compute and return the hash value of an object *o*. On failure, return ``-1``.
This is the equivalent of the Python expression ``hash(o)``.
+ .. versionchanged:: 3.2
-.. c:function:: long PyObject_HashNotImplemented(PyObject *o)
+ The return type is now Py_hash_t. This is a signed integer the same size
+ as Py_ssize_t.
+
+
+.. c:function:: Py_hash_t PyObject_HashNotImplemented(PyObject *o)
Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and return ``-1``.
This function receives special treatment when stored in a ``tp_hash`` slot,