Repository navigation
Implement PEP 814 frozendict - #8951
youknowdot wants to merge 5 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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. Comment |
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: [x] lib: cpython/Lib/collections dependencies:
dependent tests: (334 tests)
[x] test: cpython/Lib/test/test_dict.py (TODO: 1) dependencies: dependent tests: (no tests depend on dict) [ ] lib: cpython/Lib/copy.py dependencies:
dependent tests: (324 tests)
Legend:
|
Add dictionary-owned frozen mapping storage, shared views and cached hashing, read-only execution globals, type namespace support, and stable dictionary C-API coverage. Add differential regressions against CPython 3.15rc2. Assisted-by: Codex:model-version-unavailable
Use the dedicated immutable dictionary documentation from CPython v3.15.0 and check its exact public value in the existing dict snippet. The implementation and regression were AI-assisted. Assisted-by: OpenAI Codex:model version unavailable
Preserve all 58 regression cases while using the standard Python snippet runner and final CPython reference. Assisted-by: OpenAI Codex:model identifier unavailable
Assisted-by: OpenAI Codex:model identifier unavailable
Use one multiline doc attribute so per-attribute trimming retains CPython public documentation indentation. Assisted-by: OpenAI Codex:model identifier unavailable
b203807 to
af34ba0
Compare
Summary
Implement builtin
frozendictfrom PEP 814, using CPython 3.15.0 final as the comparison baseline.function.__globals__member layout; accept frozen type namespaces through a mutable class-namespace copyextra_tests/snippets/builtin_dict.pyrunner, without changing their assertionsThe C-API work follows this crate's abi3/abi3t scope. New non-limited CPython
PyFrozenDict_*exports and type statics remain outside its current ABI architecture.Current validation
Rebased onto main
f5b6526c49fc06d74d485faf7911d88fa2da2746.AI-assisted with OpenAI Codex: implementation, regression tests, review, and validation.