Implement setattr builtin function#67
Merged
davidhewitt merged 6 commits intomainfrom Apr 20, 2026
Merged
Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
dc91826 to
dab2920
Compare
Codecov Results 📊❌ Patch coverage is 32.14%. Project has 23856 uncovered lines. Files with missing lines (4)
Coverage diff@@ Coverage Diff @@
## main #PR +/-##
==========================================
- Coverage 64.41% 64.40% -0.01%
==========================================
Files 256 258 +2
Lines 66985 67009 +24
Branches 143181 143283 +102
==========================================
+ Hits 43144 43153 +9
- Misses 23841 23856 +15
- Partials 3236 3240 +4Generated by Codecov Action |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
4 tasks
ChengZhang-98
added a commit
to ChengZhang-98/monty
that referenced
this pull request
Apr 27, 2026
* docs(sync-fork): add 2026-04-26 merge plan Operational plan for absorbing 19 upstream commits since a4be566 (post-v0.0.14 → v0.0.17) into tiny-beaver-ext via a four-PR split (A: trivia + JS, B: self-contained fixes, C: internal refactors, D: public-API reshape) staged on cz/sync-fork/2026-04-26. Locks in two design decisions: - metadata is orthogonal to hash and equality - dict key metadata is preserved (already implemented in DictEntry) * uprev to v0.0.15 * uprev to v0.0.16 * uprev to 0.0.17 (pydantic#384) * monty-js: allows maxMemory, allocation, recursion depth, and gc interval limits above u32::MAX (pydantic#344) * skip some tests on WASI (pydantic#379) * switch `pre-commit` -> `prek` (pydantic#392) * docs(sync-fork): adjust 2026-04-26 plan after first PRs - Use dash-separated PR branch names (git won't allow `foo/bar` as a child of an existing `foo` ref). - Move 4dc46f2 (`prefix_code` -> `type_check_stubs` rename) from PR-B to PR-D — it modifies build.rs which is created by e777ebf in PR-D. * docs(sync-fork): document PR-C/PR-D stacking on PR-B * Implement `setattr` builtin function (pydantic#67) Co-authored-by: David Hewitt <mail@davidhewitt.dev> * stop empty tuple singleton contributing to memory limit (pydantic#363) * fix panics when overflowing negating i64::MIN (pydantic#368) * fixes GC interval ignored in ResourceTracker and Heap (pydantic#371) * docs(sync-fork): add 2026-04-26 merge completion notes Captures actual decisions vs. plan, conflict resolutions per PR, the two design decisions confirmed under test execution, real bugs caught by validation (5 — folded back into proper PRs via --autosquash), and the two known extension gaps (setattr and StoreSubscript both drop value metadata) now pinned by ext_tests for follow-up work. Validation: 1689 / 1708 / 1704 / 21 / 934 / 1100 / 38 tests passing across the various test targets. Lint clean. Both design-decision invariants hold. --------- Co-authored-by: Cheng Zhang <cheng98@fb.com> Co-authored-by: Samuel Colvin <s@muelcolvin.com> Co-authored-by: David Hewitt <mail@davidhewitt.dev> Co-authored-by: Sathish Thiyagarajan <sathish.thiyagarajan@earlham.ac.uk> Co-authored-by: Matthew Kim <38759997+friendlymatthew@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR implements the
setattrfunction for dynamic attribute modification on objects. The implementation uses the existingpy_set_attrinfrastructureNote: the docs state this method is the counterpart of #65