Issue 45983: PyType_Spec.name must remain valid after PyType_FromSpec - Python tracker

This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
process
Status: closed Resolution: duplicate
Dependencies: Superseder: `PyType_FromSpec` does not copy the name
View: 45315
Assigned To: docs@python Nosy List: docs@python, ronaldoussoren
Priority: normal Keywords:

Created on 2021-12-04 16:32 by ronaldoussoren, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg407676 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2021-12-04 16:32
The documentation for PyType_Spec and the related functions is not clear about the required lifetime of fields of PyType_Spec. 

In particular, PyType_Spec.name must remain valid for the entire lifetime of types created with PyType_FromSpec*.  The documentation doesn't mention this.

I ran into this with code that calculates the name as needed an cleans up the memory used for the type spec after creating the type. The type appears to work fine when looking at it in Python scripts, but the tp_name slot is wrong.
msg407677 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2021-12-04 16:45
I just noticed this duplicates #45315, sorry about the noise.