fix(runtime): transition shapes when integrity flags change - #11015
proggeramlug wants to merge 2 commits into
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 8 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe runtime now uses a shared helper to set integrity flags and transition object shape semantics when flags change. Freeze, seal, and preventExtensions use this helper. Tests cover keyless objects, sibling shapes, and repeated calls. ChangesIntegrity flag shape transitions
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to Integrity operations now update shape stamps when flags change, with coverage for the keyless-object case; no concrete merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Description checkExplanation The description provides a useful summary, issue reference, and verification commands, but it omits the required Changes, Related issue, Test plan, Screenshots / output, and Checklist sections. The verification content also uses a non-template heading. Resolution Add the required template sections. Move the concrete modifications into Changes, place “Closes
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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 |
|
Landed on Cherry-picked from this PR's head Nothing needed from you. Thanks. |
Summary
Object.preventExtensions,Object.seal, orObject.freezeadds an integrity flag to a shaped object.Closes #10870.
Verification
RUST_TEST_THREADS=1 cargo test --profile perry-dev -p perry-runtime --lib object::shape_rules_tests -- --test-threads=1(17 passed)cargo fmt --all -- --checkbash scripts/check_file_size.shgit diff --checkSummary by CodeRabbit
Bug Fixes
Object.preventExtensions,Object.seal, andObject.freezenow correctly update an object’s shape when its integrity state changes.Tests