GeezerVison is showing github.com — Fix update_lib marker preservation for inline classes by youknowdot · Pull Request #9131 · RustPython/RustPython
Conversation
youknowdot
commented
Oct 15, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Summary
Fix scripts/update_lib preserving an inherited test marker when CPython defines the destination class with an inline suite, such as class TestCDecode(TestDecode, CTest): pass. The previous output appended an indented method after that complete statement and produced invalid Python.
- Expand the existing inline suite before inserting retained inherited overrides, preserving original statements and comments.
- Parse the generated source before returning it.
- Cover simple/commented suites, semicolon statements, multiline headers, conditional classes, and UTF-8 class names while asserting preservation of the original class-body AST.
- Adjust the existing CI change detection and update_lib step conditions. Tool-only changes run 39 focused CPython tests in the existing Linux job; Rust changes retain the existing full RustPython discovery command. No new workflow or job is added, and the Rust build gates remain unchanged.
No Lib/ files are changed. The affected canonical JSON migration stays with the separate Python 3.15 integration work.
Validation
- 39 focused tests passed:
PYTHONPATH=scripts python3 -m unittest update_lib.tests.test_patch_spec update_lib.tests.test_migrate -v.
- Normal commit hooks passed.
- Existing
ci.yaml offline zizmor comparison: no new findings relative to main (all 15 existing diagnostic signatures unchanged).
- Independent source review of the tool repair and separate workflow review completed.
The existing Linux job uses .python-version for the focused tool-only path; that path does not claim coverage of unrelated update_lib commands. Because this PR itself changes ci.yaml, its existing workflow-change filter naturally runs the Rust matrix once. Future tool-only edits do not enable Rust builds. No local Rust build was needed for this Python-tool repair.
AI assistance: OpenAI Codex (model version unavailable); reviewed by the contributing maintainer's assistant.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Expand canonical inline class suites before appending retained inherited overrides, and validate generated syntax. Run focused migration-tool tests in a path-filtered Python-only CI job.
Assisted-by: OpenAI Codex:model version unavailable
coderabbitai
Bot
commented
Oct 15, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|

Note Currently processing new changes in this PR. This may take a few minutes, please wait...
⚙️ Run configuration
-
- Configuration used: Repository: RustPython/RustPython/.coderabbit.yml
- Review profile: CHILL
- Plan: Advanced
- Run ID:
93992446-ac24-4553-a0a0-b0251c903e09
📥 Commits
-
Reviewing files that changed from the base of the PR and between 3ab5c0c and ad6ed9b.
📒 Files selected for processing: 3
-
.github/workflows/ci.yaml
scripts/update_lib/patch_spec.py
scripts/update_lib/tests/test_patch_spec.py
+--------------------------------------------------------------------------------------------------------------------------------------+
| DRY - Don't Repeat Yourself. Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. |
+--------------------------------------------------------------------------------------------------------------------------------------+
\
\ (\__/)
(•ㅅ•)
/ づ
✨ Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❤️ Share
-
Comment @coderabbitai help to get the list of available commands.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Keep Rust build gates unchanged and run focused Python migration tests on Linux for tool-only changes. Remove the separate workflow.
Assisted-by: OpenAI Codex:model version unavailable
youknowdot
added a commit
to youknowdot/RustPython
that referenced
this pull request
Oct 15, 2026
Rebase the remaining integration onto current main while retaining merged compiler and runtime fixes. Import canonical CPython v3.15.0 library sources through update_lib with preserved RustPython markers and explicit migration deferrals.
Include the published dependency-report fix from PR RustPython#8958, partial slot correction from PR RustPython#9127, and update_lib repair with existing-workflow coverage from PR RustPython#9131.
Assisted-by: OpenAI Codex:model version unavailable
Uh oh!
There was an error while loading. Please reload this page.
Codex Review Summary
This comment shows the latest Codex review activity on this pull request.
| Review |
Status |
Commit |
Review trigger |
| 📝 Code Review |
⚠️ Failed 2026-10-15T04:54:42.989927Z |
ad6ed9b |
Draft marked ready |
ℹ️ 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" or "@codex security review".
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
youknowdot
added a commit
to youknowdot/RustPython
that referenced
this pull request
Oct 15, 2026
Rebase the remaining integration onto current main while retaining merged compiler and runtime fixes. Import canonical CPython v3.15.0 library sources through update_lib with preserved RustPython markers and explicit migration deferrals.
Include the published dependency-report fix from PR RustPython#8958, partial slot correction from PR RustPython#9127, and update_lib repair with existing-workflow coverage from PR RustPython#9131.
Assisted-by: OpenAI Codex:model version unavailable
youknowdot
added a commit
to youknowdot/RustPython
that referenced
this pull request
Oct 18, 2026
Rebase the remaining integration onto current main while retaining merged compiler and runtime fixes. Import canonical CPython v3.15.0 library sources through update_lib with preserved RustPython markers and explicit migration deferrals.
Include the published dependency-report fix from PR RustPython#8958, partial slot correction from PR RustPython#9127, and update_lib repair with existing-workflow coverage from PR RustPython#9131.
Assisted-by: OpenAI Codex:model version unavailable
youknowdot
added a commit
to youknowdot/RustPython
that referenced
this pull request
Oct 18, 2026
Rebase the remaining integration onto current main while retaining merged compiler and runtime fixes. Import canonical CPython v3.15.0 library sources through update_lib with preserved RustPython markers and explicit migration deferrals.
Include the published dependency-report fix from PR RustPython#8958, partial slot correction from PR RustPython#9127, and update_lib repair with existing-workflow coverage from PR RustPython#9131.
Assisted-by: OpenAI Codex:model version unavailable
youknowdot
added a commit
to youknowdot/RustPython
that referenced
this pull request
Oct 18, 2026
Rebase the remaining integration onto current main while retaining merged compiler and runtime fixes. Import canonical CPython v3.15.0 library sources through update_lib with preserved RustPython markers and explicit migration deferrals.
Include the published dependency-report fix from PR RustPython#8958, partial slot correction from PR RustPython#9127, and update_lib repair with existing-workflow coverage from PR RustPython#9131.
Assisted-by: OpenAI Codex:model version unavailable
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|