GCWing / GCWing/OpenBitFun

[Bug]: dead_code warnings for peer-host session turn drain helpers with no production callers

Ouverte Adaptée aux débutants
#2,569 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
2.3k
Forks
231
Merge moyen
2 h 46 min
PR mergées (30 j)
577

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](https://github.com/GCWing/BitFun/actions/runs/33035362609) (reproduced across runs 33050974141 and 33047041028):

- `warning: method drain_session_turns is never used` --> `src/apps/cli/src/peer_host/state.rs:426:19`
- `warning: function session_tree_keys is never used` --> `src/apps/cli/src/peer_host/state.rs:662:4`
- `warning: 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 `PeerTurnTracker` lost 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_only`
- `draining_a_child_session_releases_its_early_follow_up_reservation`
- `draining_a_sibling_child_does_not_release_another_childs_reservation`
- `explicit_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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
cli, tooling
Type d'issue
Refactorisation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
86/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.