Skip to content

Drop the legacy abi3-only PyCFunction_Call export - #9059

Merged
youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:drop-legacy-pycfunction-call
Oct 10, 2026
Merged

youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:drop-legacy-pycfunction-call

Conversation

@youknowdot

Copy link
Copy Markdown
Contributor

Summary

Remove only the ten lines added by #9055, following the ABI-scope review: #9055 (review).

RustPython targets RustPython-abi3t-3.15, with free-threaded ABI configuration. PyCFunction_Call is a legacy ABI-only symbol, absent from the supported public header surface for this target. The local fixture for #9055 established call behavior, but did not establish that RustPython needed this export. That distinction was missed in the original extraction.

This is an exact inverse of #9055's production change, with no other C API changes. PyCFunction_New and PyObject_Call remain exported. CPython still physically exports the legacy symbol; this change concerns RustPython's supported ABI surface, rather than claiming the symbol cannot be called anywhere.

Sources:

Validation

  • Normal commit hooks passed.
  • Independent review verified the patch is the exact inverse of Export the stable ABI PyCFunction_Call shim #9055: one file, zero additions, ten deletions.
  • cargo build --locked --offline --features capi -j1 --bin rustpython passed.
  • Dynamic-export inspection confirmed PyCFunction_Call absent and PyCFunction_New / PyObject_Call present.
  • From crates/capi: cargo clippy --offline --tests -j1 -- -D warnings passed.

The full workspace test suite was not run locally; hosted CI will supply broader coverage. No Python behavior or test assertions change.

Follow up on RustPython#9055: RustPython targets abi3t, which does not require this legacy binary-compatibility entry point.

Assisted-by: OpenAI Codex:model identifier unavailable
@coderabbitai

coderabbitai Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

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: 72dd7001-dc2e-446c-8854-f1640a49d616

📥 Commits

Reviewing files that changed from the base of the PR and between 082a48a and 3edde98.


📒 Files selected for processing (1)
  • crates/capi/src/methodobject.rs

 ________________________________________
< My other transformer is Optimus Prime. >
 ----------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

  • 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.

@youknowone
youknowone marked this pull request as ready for review October 10, 2026 11:57
@youknowone
youknowone merged commit d674ea1 into RustPython:main Oct 10, 2026
9 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T12:03:18.988855Z 3edde98 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants