10000 Add `PyUnstable_Unicode_GET_CACHED_HASH` · Issue #134891 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content
Add PyUnstable_Unicode_GET_CACHED_HASH #134891
Closed
Cl 7F58 osed
@encukou

Description

@encukou

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

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0