Feature or enhancement
Proposal:
I'd like to add a quick way to maybe get a str hash, so that advanced users don't need to reach into the undocumented-but-public PyASCIIObject->hash.
Py_hash_t PyUnstable_Unicode_GET_CACHED_HASH(PyObject *str)
If the hash of str, as returned by PyObject_Hash, has been cached and is immediately available, return it.
Otherwise, return -1 without setting an exception.
If str is not a string (that is, if PyUnicode_Check(obj) is false), the behavior is undefined.
This function never fails with an exception.
Note that there are no guarantees on when a object's hash is cached, and the (non-)existence of a cached hash does not imply that the string has any other properties.
Has this already been discussed elsewhere?
I have already discussed this feature proposal on Discourse
Links to previous discussion of this feature:
https://discuss.python.org/t/82543
Linked PRs
Feature or enhancement
Proposal:
I'd like to add a quick way to maybe get a
strhash, so that advanced users don't need to reach into the undocumented-but-publicPyASCIIObject->hash.If the hash of str, as returned by
PyObject_Hash, has been cached and is immediately available, return it.Otherwise, return
-1without setting an exception.If str is not a string (that is, if
PyUnicode_Check(obj)is false), the behavior is undefined.This function never fails with an exception.
Note that there are no guarantees on when a object's hash is cached, and the (non-)existence of a cached hash does not imply that the string has any other properties.
Has this already been discussed elsewhere?
I have already discussed this feature proposal on Discourse
Links to previous discussion of this feature:
https://discuss.python.org/t/82543
Linked PRs