GCWing / GCWing/OpenBitFun

[Bug]: dead_code/unused_imports warnings for unix-only CLI dispatch and daemon symbols on Windows builds

Đang mở Phù hợp với người mới
#2,579 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
2.3k
Fork
231
Merge trung bình
2 giờ 46 phút
Pull request đã merge (30 ngày)
577

Mô tả

Three Windows `cargo check` warnings in the CLI crate point at symbols whose only production consumers are already unix-only, while the symbols themselves are compiled unconditionally.

**Symptom**

- `src/apps/cli/src/dispatch/runner.rs:2` — `unused_imports`: `std::time::Duration` is consumed only inside `#[cfg(unix)]` code paths (the unix process-group wait in `wait_for_process_group_exit` and a unix-only test case), so on Windows the import dangles.
- `src/apps/cli/src/dispatch/runner.rs:337` — `dead_code`: `arguments_match_action` is called from the `target_os = "linux"` and `target_os = "macos"` service paths (both of which imply unix) and from the platform-agnostic unit tests, but never on Windows.
- `src/apps/cli/src/daemon/service.rs:88` — `dead_code`: `run_command` is only called from the macOS launchd and the systemd service management paths, all of which are unix-only.

**Root cause**

The definitions are unconditional while every consumer is gated behind unix cfgs, so Windows builds carry symbols with no reachable caller.

**Proposed fix**

Mirror the real consumer surfaces with precise cfg gates: `#[cfg(unix)]` on the import and on `run_command`, and `#[cfg(any(unix, test))]` on `arguments_match_action` so the platform-agnostic unit tests keep compiling on every platform. No behavior changes, no test removals, no assertions weakened; Linux and macOS builds keep every symbol exactly as before.

**Verification**

- `cargo check --locked -p bitfun-cli` on Windows: 0 errors, and the three warnings no longer appear.
- `cargo test --locked -p bitfun-cli dispatch::runner`: 7 passed, 0 failed (the cfg(any(unix, test)) gate keeps the runner tests compiling on Windows).
- The unix-side compilation surface is confirmed by the repository CI platform matrix (ubuntu/macos jobs).

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start with src/apps/cli/src/dispatch/runner.rs and src/apps/cli/src/daemon/service.rs, focusing on the symbols and lines identified in the issue. Compare each definition with its unix-only consumers and preserve the platform-agnostic runner tests. Verify with cargo check --locked -p bitfun-cli on Windows and cargo test --locked -p bitfun-cli dispatch::runner, with no warnings from the three reported symbols.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
cli
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
88/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.