fix(runtime): honor RegExp subclass accessors before builtins - #10999
proggeramlug wants to merge 3 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 (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe runtime now resolves accessors declared on RegExp subclass prototypes before inherited builtin accessors. The change roots the property key, preserves own data-property shadowing, and adds regression coverage for ChangesRegExp subclass accessor resolution
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~15 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to RegExp subclass flags and source reads now honor subclass accessors while preserving own-property shadowing, with regression coverage for the changed behavior. The change is merge-ready. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 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 #10700.
Reflect.getnow includes accessors declared on a class prototype while walking toward inherited builtins. A RegExp subclass'sflagsandsourcegetters run with the original instance asthis; an own data property still shadows the class getter.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_10700_regexp_subclass_getter(1/1 pass with prebuilt compiler/runtime)./run_parity_tests.sh --filter test_gap_regexp_flags_2829_2828(1/1 pass)./run_parity_tests.sh --filter test_gap_10179_regexp_cache(1/1 pass)Summary by CodeRabbit
RegExpsubclass behavior so class-definedflagsandsourcegetters take precedence over inherited built-in accessors.