fix(runtime): expose core intrinsic Symbol.toStringTag descriptors - #10998
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 (4)
Included review availability: Your plan provides up to 8 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe runtime now assigns ChangesCore Symbol.toStringTag support
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Sequence Diagram(s)sequenceDiagram
participant Instance
participant SymbolResolver
participant BuiltinPrototype
Instance->>SymbolResolver: Read Symbol.toStringTag
SymbolResolver->>BuiltinPrototype: Resolve actual prototype
BuiltinPrototype-->>SymbolResolver: Return intrinsic tag
SymbolResolver-->>Instance: Return tag value
Merge Risk: ⚪ Minimal · up to The runtime adds standard Symbol.toStringTag behavior for core built-ins, with no identified merge-blocking impact. Mergeable with normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
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 main in merge train 258 (#11078, v0.5.1641), main Carried at head This train was bisect-verified: after an earlier 35-PR assembly hit five gap regressions, the lowering-touching PRs were split into probes, and this set (#11070) came back with all six gap shards clean while the other half reproduced all five. Trains rebase-merge, so commits get new SHAs and GitHub cannot mark this merged. Closed as landed. |
Fixes #10633.
Map, Set, WeakMap, WeakSet, Promise, ArrayBuffer, and DataView now define the standard own
Symbol.toStringTagdata property on their prototypes with the expected descriptor flags. Native instances also resolve the inherited property through their actual prototype.Validation:
cargo build --profile perry-dev -p perry -p perry-runtime-static -p perry-stdlib-staticcargo fmt --all -- --checkscripts/check_file_size.sh./run_parity_tests.sh --filter test_gap_10633_core_tostringtag(prebuilt compiler/runtime; 1/1 pass)./run_parity_tests.sh --filter test_gap_10555_symbol_tostringtag_web_builtins(prebuilt compiler/runtime; 1/1 pass)Summary by CodeRabbit
Bug Fixes
Symbol.toStringTagbehavior forMap,Set,WeakMap,WeakSet,Promise,ArrayBuffer, andDataViewinstances.Maptag.Tests