Skip to content

PEP 687: amendments after feedback #2521

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 16, 2022
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions pep-0687.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ All stdlib extension modules will be *isolated*. That is:
Conversion to heap types
------------------------

Static types that do not need module state access, and have no other reason to
be converted, should stay static.

Comment on lines +70 to +72
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gvanrossum: Does this change, together with the sentence below, add enough emphasis for you?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another option would be to put the above sentence in a note. That would definitely highlight it.

Types whose methods need access to their module instance will be converted
to heap types following :pep:`630`, with the following considerations:

Expand Down Expand Up @@ -97,9 +100,6 @@ If another kind of issue is found, the module in question should be unchanged
until a solution is found and added to the Devguide, and already
converted modules are checked and fixed.

Static types that do not need module state access, and have no other reason to
be converted, should stay static.


Process
-------
Expand Down Expand Up @@ -137,7 +137,7 @@ smaller modules.
3. Add relevant global variables to the module state ``struct``, and modify code
that accesses the global state to use the module state helpers instead. This
step may be broken into several PR's.
4. Where necessary, convert heap types to static types.
4. Where necessary, convert static types to heap types.
5. Convert the global module state struct to true module state.
6. Implement multi-phase initialisation.

Expand Down