Repository navigation
Align Template and Interpolation controls - #9709
Conversation
Assisted-by: OpenAI Codex:model version not exposed
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 11 minutes. View limit details
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. |
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. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Align Template and Interpolation controls with Python 3.15 in two native Rust files (+86/-137).
The former format_spec call resolved the inherent PyStr repr and bypassed subclass overrides. This corrects protocol dispatch; it is not presented as a demonstrated panic fix.
Validation
Compared against CPython d220409a13b77de7a6c30abe16ea90db01528edc interpolationobject.c, templateobject.c and generated Clinic binding.
58 external CPython 3.15 assertions passed, including identity/hash callback non-invocation, named arguments, validation precedence, subtype preservation, repr callbacks/errors/surrogates, temporary-result cleanup and qualified diagnostics. Independent source/lifetime review passed. Corrected type metadata matches CPython's lack of an Interpolation type text signature; new keeps the shared generic wrapper.
Threaded cargo check passed (1m29s), all-target Clippy passed (3m27s) with exactly the 12 unchanged baseline diagnostics, and normal commit hooks passed. Native RustPython execution remains unperformed because its required safety guard is not verified. No repository tests, markers, Lib files or workflows are changed; hosted runtime CI remains necessary.
Limits and integration