Closed
Description
Feature or enhancement
The _struct
module has a few small issues:
- The use of
PyDict_GetItemWithError
returns a borrowed reference (should usePyDict_GetItemRef
) - The
state->cache
is lazily created; we should instead create it during_structmodule_exec
- We want
state->cache
to be an immutable reference to a mutable dict. (Thedict
will be thread-safe.) UsePyDict_Clear
to empty the dict instead of clearing the reference.
See the commit from the nogil-3.12
fork for context: colesbury/nogil-3.12@ada9b73feb. Note that in CPython the relevant function is PyDict_GetItemRef
not PyDict_FetchItemWithError
.
Linked PRs
Metadata
Metadata
Assignees
Labels
bugs and security fixesbugs and security fixesC modules in the Modules dirC modules in the Modules dirA feature request or enhancementA feature request or enhancement