Repository navigation
Call descriptor __get__ attributes without pre-binding - #9043
Conversation
Extract the Python 3.14-compatible descriptor slot dispatch from RustPython#8954. Call the raw type attribute with descriptor, instance and owner, preserving ownership and recursion handling. Extend the existing Python snippet for staticmethod, classmethod, callable-object and ordinary __get__ replacements. Assisted-by: OpenAI Codex:model identifier unavailable
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to No actionable merge-blocking issue is identified. Merge after the pending CI checks complete. Pre-merge checks |
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7b6fb08229
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # The descriptor slot calls the raw __get__ attribute without binding it first. | ||
| class RawGetDescriptor: |
There was a problem hiding this comment.
Remove the disallowed test-file additions
This block adds new classes, assertions, and test logic to extra_tests/snippets/builtin_object.py, but the repository marks its test-edit restrictions as critical and permits only removing expected-failure/TODO markers or adding expected-failure decorators. Because this is neither allowed form, remove the snippet-file changes and keep this patch to the Rust implementation.
AGENTS.md reference: AGENTS.md:L273-L279
Useful? React with 👍 / 👎.
Summary
Extract the Python 3.14-compatible descriptor
__get__dispatch fix from #8954. The slot calls the raw type attribute with descriptor, instance and owner instead of binding it first. Existing recursion handling and owned references are preserved.Extend the existing object snippet for staticmethod, classmethod, callable-object and ordinary-function replacements. No canonical assertions, implementation guards or README changes.
Validation
Implementation extraction, regression and validation were AI-assisted with OpenAI Codex. Draft for cross-platform CI and review.
Summary by CodeRabbit
__get__with the descriptor, the optional instance, and the optional owning class. Descriptors without__get__remain unchanged.