-
-
Notifications
You must be signed in to change notification settings - Fork 182
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
python 3.11.0b1 changes codeobject args #480
Comments
I'd generally ignore alpha release behavior if it changes in the beta, and 3.11 is not yet explicitly supported by |
Roping @leogama into this too since he was looking into the code object and the confusing nature of its save/create code. Unfortunately, this means that |
But yes, I agree that alpha builds don't need support, only the releases and nightly. |
Looks like they decided in Here's some data to consider for whether the 3.11 alpha behavior needs to be supported: 3.11 has at most ~50 dill users per day, and is less than 10 starting a month ago. With the release of 0.3.5.1 that may have a significant increase, because to use dill with 3.11 previously, you'd have to use GitHub master. I'm thinking that the best course of action is to convert as soon as possible to the beta behavior, drop the alpha behavior, and release again soon afterward (e.g. after also dropping 2.7). |
This is bad, but not super bad. The only use for I did a quick test in Python 3.11a defining a function |
Trust me. You definitely want to make sure that every case is accounted for and that nothing unpredicted (like the -1 line number thing) happens, or people will notice and it will come back to bite (#478). I am actually planning on reading over the Python data model to have a mental model of what is in the Python interpreter. Maybe the Code objects section of it can shed some light on how to fix the -1 issue you are having. |
Specifically, the change is from this (in 3.11.0a7):
to this (in 3.11.0b1):
So... it appears that two arguments have been dropped, and not one being renamed.
|
Note that Edit: and |
I think we |
that's probably a good idea... |
I guess I was wrong about not being able to tell what was present in the code object, but using the actual attribute names would increase readability. |
again... you are probably right. I, however, was just finishing up the testing for it as is |
I agree that it is the best idea for now. Sometimes it is best to follow the adage "if it ain't broke, don't fix it." |
Oh, BTW, when fixing this, I also fixed a bug (it's in 0.3.5.1) that will show up in the wild from people converting pickled objects between 3.11.0a* and earlier versions of code objects that don't have |
in 3.11.0b1:
c.co_endlinetable
is renamedc.co_linetable
, andc.co_columntable
seems to be removed. Potentially more. This will impact the already condition-heavy_create_code
. Potentially should ignore support for 3.11.0a1 - 3.11.0a7... however, it's implicitly in releaseddill-0.3.5.1
.The text was updated successfully, but these errors were encountered: