gh-92678: Fix tp_dictoffset inheritance.#95596
Conversation
…re their dictionary at the end of the struct.
encukou
left a comment
There was a problem hiding this comment.
I can't check there aren't more edge cases, but this is an improvement, and should address the pybind11 issue.
Any ideas? I'd be very happy to add more tests |
ericsnowcurrently
left a comment
There was a problem hiding this comment.
mostly LGTM
The new test seems fine, but I didn't look at it thoroughly. I left one comment (about a second case for weaklistoffset) that should definitely be address one way or another.
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
|
Thanks @markshannon for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
|
Sorry, @markshannon, I could not cleanly backport this to |
* Add test for inheriting explicit __dict__ and weakref. * Restore 3.10 behavior for multiple inheritance of C extension classes that store their dictionary at the end of the struct.
|
I cannot review the implementation, but thanks for adding tests! #92678 looked complicated and serious. Thanks for fixing it ;-) |
|
PR #95604 is merged 3.11 backport. |
Restores the 3.10 behavior for inheriting
tp_dictoffsetinvolving multiple inheritance of C extension classes.