[Bug]: unused import / dead method warnings in CLI startup.rs, runtime/mod.rs and external_editor.rs
- 主要言語
- Rust
- スター
- 2.3k
- フォーク
- 231
- 平均マージ
- 2時間 46分
- マージ済み PR(30日)
- 577
説明
## Summary
The upstream CI logs for `main` report three cross-platform unused-import/dead-code warnings in the CLI. Evidence from GitHub Actions run [33035362609](https://github.com/GCWing/BitFun/actions/runs/33035362609) (reproduced on ubuntu/macos/windows compilation units and across runs 33050974141 and 33047041028):
- `warning: unused import: bitfun_core_types::model::ModelMutation` --> `src/apps/cli/src/ui/startup.rs:33:5`
- `warning: method agent_event_source is never used` --> `src/apps/cli/src/runtime/mod.rs:121:19`
- `warning: unused import: OsStr` --> `src/apps/cli/src/modes/chat/external_editor.rs:1:16`
Cross-checking the crate:
- The `ModelMutation` import in `ui/startup.rs` has no consumer in that file; upstream mutation handling goes through the model selection module. It is pure refactoring leftover.
- `CliRuntimeContext::agent_event_source` has no caller left anywhere in the crate: its only historical consumer (the embedded app server) was removed upstream.
- In `external_editor.rs`, `OsStr` is consumed only by the Windows batch-quoting helper, while `OsString` is used unconditionally; the combined `use std::ffi::{OsStr, OsString};` therefore triggers `unused import: OsStr` on non-Windows builds.
## Root Cause Analysis
- One leftover import after a refactor, one accessor whose only consumer was removed upstream, and one combined import mixing a Windows-only symbol with a cross-platform symbol. Each of the three warnings is structural and reproduced by every full CI run of `main` (runs 33035362609 / 33050974141 / 33047041028).
## Proposed Fix
- Delete the unused `ModelMutation` import line in `ui/startup.rs`.
- Delete the unused `agent_event_source` method in `runtime/mod.rs` (keep the underscore-prefixed `_agent_event_queue_owner` field and the `AgentEventSource` import, which still have live consumers).
- Split the import in `external_editor.rs` into `#[cfg(windows)] use std::ffi::OsStr;` plus an unconditional `use std::ffi::OsString;`.
No `#[allow]` suppression is involved; the dead symbols are removed and the platform-scoped import is scoped precisely.
コントリビューションガイド
調査の方向性
Start with the three reported files: src/apps/cli/src/ui/startup.rs, src/apps/cli/src/runtime/mod.rs, and src/apps/cli/src/modes/chat/external_editor.rs. Run the CLI compilation or checks across platforms, then remove the unused symbols and scope OsStr to Windows as described. Done means the warnings no longer appear while the platform-specific helper still builds.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 活発
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 88/100