GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||
GeezerVison is showing github.com — bpo-1635741: In pickle module, inject module state from class methods by koubaa · Pull Request #23304 · python/cpython Conversation
|
|
@vstinner @corona10 @shihai1991 please review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
PickleState is not used here, but is added as an argument to avoid complicating the macro/switch case in
static PyObject *
load(UnpicklerObject *self, PickleState *st)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Most modules are using |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
@tiran I did that in my initial draft here. The reason I didn't do it here is because there are local variables named state in some functions (see for example line 3949 in save_reduce. Do you have a suggestion on what to change those names to? I don't understand exactly what those variables represent |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
The reason I didn't do it here is because there are local variables named state in some functions (see for example line 3949 in save_reduce.
the state would be more exact. If there have other arguments have own this name, keep st unchanged is not a big probleam.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
when switching to heap types, the clinic can be used to get the module state therte
d7cad26 to
eea5c35
Compare
|
@shihai1991 @vstinner I addressed these comments |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
This PR is huge :) . About adding parenthesis, I will update it when those code have relation with the bpo.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
https://bugs.python.org/issue1635741 is closed. What is the status of this PR? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The change is still relevant, but should use a new issue number. Moreover, the SC asked to put the conversion of static types to heap types on hold. @encukou and @erlend-aasland wrote https://peps.python.org/pep-0687/ which may unblock the situation but it's still a draft. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
FYI, PEP 687 was accepted. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Pickle module state was isolated in #102982. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
It did; PR #102982 was based off of Mohamed's work in #23188 (IIRC, I cherry-picked the commits from |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.