[Bug]: dead_code warnings for peer-host session turn drain helpers with no production callers
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 231
- Avg merge
- 2h 49m
- Merged PRs (30d)
- 589
Description
Summary
The upstream CI logs for main report three dead-code warnings in the peer host turn tracker. Evidence from GitHub Actions run 33035362609 (reproduced across runs 33050974141 and 33047041028):
warning: method drain_session_turns is never used-->src/apps/cli/src/peer_host/state.rs:426:19warning: function session_tree_keys is never used-->src/apps/cli/src/peer_host/state.rs:662:4warning: function remove_completed_background_sources_for_session is never used-->src/apps/cli/src/peer_host/state.rs:737:4
Cross-checking the crate: PeerTurnTracker::drain_session_turns has zero non-test references, and session_tree_keys / remove_completed_background_sources_for_session are called only by drain_session_turns itself and by tests that exclusively exercise it. Four unit tests exist solely to exercise drain_session_turns.
Root Cause Analysis
- After the upstream transactional session rollback rework, session-level turn cleanup moved into the Agent Runtime rollback path. The old session-scoped drain entry point on
PeerTurnTrackerlost all production callers, and its two private helpers plus the four tests that only exercise it became dead weight. - rustc therefore reports all three symbols as dead code on every full CI run of
main(runs 33035362609 / 33050974141 / 33047041028).
Proposed Fix
Delete the three dead symbols (drain_session_turns, session_tree_keys, remove_completed_background_sources_for_session) together with the four tests that exclusively exercise drain_session_turns:
draining_a_parent_session_after_root_completion_returns_the_active_child_onlydraining_a_child_session_releases_its_early_follow_up_reservationdraining_a_sibling_child_does_not_release_another_childs_reservationexplicit_drains_quarantine_removed_turn_ids
Live peer-turn functionality (PeerTurnDrain, interrupt_event_stream, drain_peer_turns, peer_turns_for_cancellation, and the remaining 70+ peer_host tests) is untouched. No #[allow(dead_code)] suppression is involved.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/apps/cli/src/peer_host/state.rs at the three reported symbols and inspect the four named tests that exclusively exercise drain_session_turns. Verify the remaining peer-turn tests still cover live functionality, then run the peer_host test suite and a full build or CI-equivalent check. Done means the obsolete symbols and tests are removed without dead-code warnings or regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, tooling
- Issue type
- Refactor
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 86/100