Skip to content

docs(gc): the copy-slot-hoists tests cover one hoist, not two (#10388) - #10402

Closed
proggeramlug wants to merge 1 commit into
PerryTS:mainfrom
proggeramlug:docs/10388-copy-slot-hoists-header
Closed

proggeramlug wants to merge 1 commit into
PerryTS:mainfrom
proggeramlug:docs/10388-copy-slot-hoists-header

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Addresses CodeRabbit's review comment on #10388, which landed before the comment was acted on.

gc/tests/copy_slot_hoists.rs opened by claiming the copying minor hoists two per-parent facts (weak holder and old generation), each pinned by a sabotaged twin. Only the weak-holder fact landed, and the file contains exactly one test pair for it. The old-generation hoist was deliberately left out of #10388 because no sabotage of it could be made to fail (sticky dirty-page coverage carries the old→young edge independently of the remembered-set re-insertion that fact controls).

A test header that claims coverage the file does not have is worse than no header: the next reader assumes the generation hoist is witnessed. This rewrites the header to describe the one hoist that is tested, and records why the other one is absent, so it is not re-added on the strength of a test that does not exist.

Comment-only change to a test module; no code, behaviour or generated output changes. skip-changelog per changelog.d/README.md.

Summary by CodeRabbit

  • Documentation
    • Clarified documentation for weak-holder fact hoisting.
    • Documented that old-generation facts are not hoisted and explained why no corresponding witness test is included.
    • Recorded separate coverage for sticky dirty-page behavior and its related issue reference.

…S#10388)

The module header claimed the copying minor hoists two per-parent facts,
each with a sabotaged twin. Only the weak-holder fact landed; the
old-generation fact was deliberately left out because no sabotage of it
could be made to fail. Say so instead of claiming coverage the file does
not have.
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: bafb270c-b2e1-4d9d-bf59-e9d7e3ce0c09

📥 Commits

Reviewing files that changed from the base of the PR and between e6dcb62 and ef58242.

📒 Files selected for processing (1)
  • crates/perry-runtime/src/gc/tests/copy_slot_hoists.rs

Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

The module documentation now describes only the weak-holder fact hoist. It explains the absence of an old-generation witness test and identifies independent sticky dirty-page coverage.

Changes

GC Documentation

Layer / File(s) Summary
Hoist behavior documentation
crates/perry-runtime/src/gc/tests/copy_slot_hoists.rs
The documentation removes the old-generation hoist claim, explains why no corresponding sabotage witness exists, and records independent sticky dirty-page coverage.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to ef582

This documentation-only update introduces no concrete production or test-execution risk and is mergeable.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the documentation change and accurately states that the tests cover one hoist, not two.
Description check ✅ Passed The description clearly explains the change, rationale, scope, related issue, and absence of behavior changes. It does not use the required section headings and does not provide the template's test-pl…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proggeramlug

Copy link
Copy Markdown
Contributor Author

Landed via merge train #10413 (v0.5.1588). All source commits preserve authorship; merged main matches the validated train exactly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant