GCWing / GCWing/OpenBitFun

[Bug]: unused import / dead method warnings in CLI startup.rs, runtime/mod.rs and external_editor.rs

オープン 初心者向け
#2,568 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。