test(gc): assert the sparse cache is old-gen before the containment branch (#7546 follow-up) - #7549
Merged
Merged
Conversation
added 2 commits
August 6, 2026 22:09
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe sparse-cache external-edge test now verifies old-generation allocation before checking remembered-set behavior. The workspace version, documented version, and changelog update to reflect the change. ChangesGC test and release update
Estimated code review effort: 2 (Simple) | ~10 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#7546's external-edge test asserts the lazy array's sparse cache and its header land on different pages, but never that the cache block is old-gen.
slot_is_external_toshort-circuits totrueon generation before reaching the containment test. So if an allocator change ever moved a 32 KiB sparse cache into the nursery, the containment branch the test exists to cover would quietly stop running — and the test would still pass.That is CLAUDE.md's "a gate must assert its subject was live" hazard applied to a test written to close a coverage hole of exactly that kind: #7500's
test_dirty_lazy_array_external_cache_scan_marks_bitmap_selected_childwas green for its entire life because no producer ever wrote a real entry, so it only ever exercised a hand-planted one.Adds the missing precondition. Raised by CodeRabbit on #7546; applied here because that agent's worktree was removed before it could — my cleanup, not its error.
33 callback-scanner tests green,
cargo fmt --checkclean.Summary by CodeRabbit
Release
Bug Fixes
Tests
Documentation