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.

Author vstinner
Recipients eric.snow, ncoghlan, petr.viktorin, shihai1991, vstinner
Date 2020-01-30.11:41:22
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1580384482.44.0.78457456313.issue39465@roundup.psfhosted.org>
In-reply-to
Content
> Both https://github.com/python/cpython/pull/18066 (collections module) and https://github.com/python/cpython/pull/18032 (asyncio module) ran into the problem where porting them to multi-phase initialisation involves replacing their usage of the `_Py_IDENTIFIER` macro with some other mechanism.

What is the problem between _Py_IDENTIFIER and multi-phase initialisation modules?

If both are incompatible, we may need a different but similar API: values would be stored in a hash table per module object. The hash table can be stored in the module object directly, or it can be store in a second hash table (module => hash table).

If we want a unified API, maybe we can use module=NULL (or any other marker) for "global" identifiers (not specific to a module).
History
Date User Action Args
2020-01-30 11:41:22vstinnersetrecipients: + vstinner, ncoghlan, petr.viktorin, eric.snow, shihai1991
2020-01-30 11:41:22vstinnersetmessageid: <1580384482.44.0.78457456313.issue39465@roundup.psfhosted.org>
2020-01-30 11:41:22vstinnerlinkissue39465 messages
2020-01-30 11:41:22vstinnercreate