Skip to content

Remove obsolete _symtable APIs#8309

Merged
youknowone merged 1 commit into
RustPython:mainfrom
YangSiJun528:remove-obsolete-symtable-apis
Jul 18, 2026
Merged

Remove obsolete _symtable APIs#8309
youknowone merged 1 commit into
RustPython:mainfrom
YangSiJun528:remove-obsolete-symtable-apis

Conversation

@YangSiJun528

@YangSiJun528 YangSiJun528 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove the unused native _symtable.Symbol implementation.
  • Remove the unused identifiers getter from symbol table entries.
  • Keep _symtable limited to the low-level interface consumed by Lib/symtable.py.

RustPython originally implemented the public symtable API in Rust. After #6048 added CPython's Lib/symtable.py, the public Symbol implementation moved to Python and the native PySymbol became unreachable.

CPython similarly implements the public symtable.Symbol class in Lib/symtable.py, rather than exposing it from _symtable.

Testing

  • cargo run --release -- -m test test_symtable
  • cargo test -p rustpython-vm
  • prek run --all-files

AI assistance

Codex (GPT‑5.6 Sol) was used to investigate and implement this change.
I reviewed and validated all AI-assisted work.

Summary by CodeRabbit

  • Breaking Changes
    • Removed the Symbol class from the symbol table API.
    • Removed the identifiers accessor from symbol table entries.
  • API Changes
    • Symbol table entries now expose symbol names and their flag values through the symbols mapping.

stdlib/_symtable.rs previously provided the public Symbol API. When
7f1fc36 imported Lib/symtable.py, responsibility for the public Symbol
implementation moved to Python, but the native implementation remained.

Remove it along with the unused identifiers getter.

Assisted-by: Codex:gpt-5.6-sol
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 2d9040de-b10b-459c-a7bf-8f69708a49e6

📥 Commits

Reviewing files that changed from the base of the PR and between 1205fd2 and d486b22.

📒 Files selected for processing (1)
  • crates/vm/src/stdlib/_symtable.rs

📝 Walkthrough

Walkthrough

The symtable module removes the identifiers getter and the Python-exposed Symbol class, along with its symbol-property and namespace accessors. The unused Symbol import is also removed.

Changes

Symtable API reduction

Layer / File(s) Summary
Remove obsolete symtable APIs
crates/vm/src/stdlib/_symtable.rs
Removes the unused Symbol import, the identifiers getter, and the PySymbol class with its symbol and namespace accessors.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: shaharnaveh

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: removing obsolete _symtable APIs.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@ShaharNaveh ShaharNaveh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, tysm!

@fanninpm
fanninpm requested a review from youknowone July 17, 2026 20:35
@moreal moreal added the z-ca-2026 Tag to track Contribution Academy 2026 label Jul 18, 2026

@youknowone youknowone left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point, thanks!

@youknowone
youknowone merged commit 0bc109d into RustPython:main Jul 18, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

z-ca-2026 Tag to track Contribution Academy 2026

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants