fix(hir): scope class-expression capture refreshes per evaluation (#6654) - #7087
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (22)
📝 WalkthroughWalkthroughClass-expression capture refreshes are now scoped to each evaluated class object. HIR tracks per-evaluation owners, codegen lowers refresh expressions, runtime helpers update and read object capture arrays, and parity tests cover parameter defaults, factories, arrows, accessors, and blocks. ChangesClass capture refresh
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Summary
Closes #6654
Tests
cargo check -p perry-hir -p perry-codegen -p perry-runtimecargo test -p perry-hir --libcargo test -p perry-codegen --libPERRY=$PWD/target/debug/perry tests/test_class_expr_capture_refresh_6654.shtests/test_class_expr_capture_refresh_6604.shshellcheck tests/test_class_expr_capture_refresh_6654.shFull
cargo test -p perry-runtime --libis currently interrupted by the unrelated existing GC testgc::tests::shadow_stack_ops::out_of_range_frame_pop_is_ignoredaborting the process.Summary by CodeRabbit
Bug Fixes
Tests