Skip to content

base red: clippy in read_paths.rs scoped list test (from #32177) - #32272

Closed
lawrencecchen wants to merge 1 commit into
feat-cmux-nextfrom
fix/base-red-read-paths-clippy
Closed

lawrencecchen wants to merge 1 commit into
feat-cmux-nextfrom
fix/base-red-read-paths-clippy

Conversation

@lawrencecchen

Copy link
Copy Markdown
Contributor

Summary

Base red on feat-cmux-next: clippy -D warnings fails to compile cmux-tui-core's lib tests (could not compile cmux-tui-core (lib test)), so every cmux-tui PR's clippy is red. Found by run 594f4757 of another PR (https://github.com/manaflow-ai/cmuxterm-hq/actions/runs/41445234507), which does not touch the file.

Culprit: #32177 (mine, merged as cfae5ba). Its test scoped_pane_and_tab_lists_read_only_their_workspace in cmux-tui/crates/cmux-tui-core/src/mux/tests/read_paths.rs has:

  • unnecessary qualification at 201:25 (crate::SplitDir), 244:21 and 249:13 (crate::workspace_registry::WorkspaceRegistry): both names are in scope through use super::*;
  • a redundant clone at 237 (panes.clone(), the last use of panes).

Fix: only those lines. No behavior change; the test asserts the same.

My error: I ran the test and the suite for #32177 on the fleet, but not clippy.

Changelog

none

Testing

  • cmux-ci run --class isolated --script scripts/ci/cmux-tui-rust-check.sh --ref 44c991780f9 --os linux --arg clippy: CLIPPY_RESULT
  • ... --arg test --arg scoped_pane_and_tab_lists_read_only: TEST_RESULT

Observed / Not run

Observed: the two steps above. Not run: the full suite (test-only lines).

@lawrencecchen lawrencecchen added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 44c9917: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr32272 -f ref=fix/base-red-read-paths-clippy -f platform=macos -f backend_mode=local

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Review (subagent, correctness first): SHIP at 44c9917

Findings (read code and git only; no local compile or test):

  1. Name resolution is unchanged. read_paths.rs has use super::*; (parent mux/tests.rs), and mux/tests.rs has use super::*; (parent mux.rs, which declares #[cfg(test)] mod tests;). mux.rs imports use crate::{..., SplitDir, ...} (line 452) and use crate::workspace_registry::{..., WorkspaceRegistry} (line 443). The glob chain therefore brings in crate::SplitDir (lib.rs:220) and crate::workspace_registry::WorkspaceRegistry (workspace_registry.rs:803), the same items. Nothing in tests.rs or read_paths.rs declares another SplitDir or WorkspaceRegistry that could shadow them. tests.rs:526 already uses bare SplitDir, which confirms the glob path.
  2. Dropping panes.clone() is valid. pane_ids collects owned Strings from panes.iter(), so it holds no borrow. panes is moved into cases at line 237 and is not read after that line.
  3. Scope: one commit, one file (cmux-tui/crates/cmux-tui-core/src/mux/tests/read_paths.rs), 4 lines changed, only the three spots named. The merge-base aec02d0f15c9 and the current origin/feat-cmux-next have the same content for read_paths.rs, mux.rs and mux/tests.rs.
  4. No other clippy error is visible in this file. The only other crate:: paths are crate::resource_router::handle_resource_message (line 21) and crate::workspace_registry::new_uuid_v4 (line 107). Neither name is imported into mux.rs or tests.rs, so unused_qualifications does not apply to them (tests.rs uses the same qualified forms at lines 115 and 493). Fleet job c8d4332b0005855754191788 ran scripts/ci/cmux-tui-rust-check.sh clippy (cargo clippy --workspace --exclude cmux-holder-v3 --all-targets --locked -- -D warnings) at ref 44c991780f9f: state done, exit 0. Its log tail has only the controller lines, so I took the green result from the job record, not from the clippy output.

Note (not a blocker): #32282 (opened 12:53Z, head e30549c) has the same diff with the same result blob 1867ab9d617f. Only one of the two must land. Close the other one after this one merges.

Observed / Not run

  • Observed: the diff, the import chain in mux.rs, mux/tests.rs and read_paths.rs, [workspace.lints] in cmux-tui/Cargo.toml (unused_qualifications, redundant_clone = warn), the fleet job record (exit 0 at the head).
  • Not run: no local clippy, build or test (repo rule). I did not read the full clippy output of the fleet job.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Duplicate of #32282 (same diff, same file blob 1867ab9d617f; both have a SHIP at their exact head). #32282 already carries ready-to-land, so this one closes to avoid a double landing. Evidence here for the record: clippy step c8d4332b0005855754191788 green at 44c9917, review SHIP #32272 (comment).

This branch was previously deployed

3 inactive deployments
ci-routing-agent — 44c99178 Deployed Nov 2, 2026 by github-actions[bot] via cmux-next macOS placement #62873
artifacts — 44c99178 Deployed Nov 2, 2026 by lawrencecchen via publish tree-addressed cmux-tui #101253
sentry-dsyms — 44c99178 Deployed Nov 2, 2026 by lawrencecchen via upload cmux-tui dSYMs to Sentry #101253
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant