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
Title: PyType_Spec.name must remain valid after PyType_FromSpec
Type: behavior Stage: resolved
Components: Documentation Versions: Python 3.10
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.
History
Date User Action Args
2022-04-11 14:59:53adminsetgithub: 90141
2021-12-04 16:45:18ronaldoussorensetstatus: open -> closed
superseder: `PyType_FromSpec` does not copy the name
messages: + msg407677

resolution: duplicate
stage: resolved
2021-12-04 16:32:04ronaldoussorencreate