Skip to content

build: drop dependency declarations no crate uses - #632

Open
nicolasnoble wants to merge 1 commit into
mainfrom
nnoble/dead-deps
Open

build: drop dependency declarations no crate uses#632
nicolasnoble wants to merge 1 commit into
mainfrom
nnoble/dead-deps

Conversation

@nicolasnoble

@nicolasnoble nicolasnoble commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Eleven dependency declarations across four manifests were never referenced by the crate declaring them. Verified by removing them and building rather than by grep: cargo clippy --workspace --all-targets --all-features -D warnings is clean and the lib suites are unchanged at 35, 178 and 249 passing. --all-targets compiles the test and bench targets, so anything genuinely referenced would have failed to resolve.

Removed from dependencies: hf-hub, jiff, once_cell and toml in modelexpress_server, and prost in modelexpress_client. Removed from dev-dependencies: tokio-test in all four crates, tonic-build in the server and client, and mockall in common.

tonic-build is removed only from the server and client, where it sits in dev-dependencies and neither crate has a build.rs. The copy in common is a build-dependency that compiles the protos and is untouched. mockall is removed only from common, which pinned it directly at 0.13 while the workspace declares 0.14.0, so that crate was building a second major version of it; the server uses the workspace version and still needs it.

The lockfile sheds only mockall, mockall_derive, tokio-test and toml_writer, because most of the removed declarations named crates that other workspace members genuinely depend on. This changes what each manifest claims to use, not what the workspace pulls in.

Summary by CodeRabbit

  • Chores
    • Removed unused and test-only package dependencies across the client, common, server, and workspace test components.
    • Streamlined project configuration without changing exported functionality.

Eleven declarations across four manifests were never referenced by the crate
declaring them. Verified by removing them and building: cargo clippy --workspace
--all-targets --all-features -D warnings is clean and the lib suites are
unchanged at 35, 177 and 249 passing, and --all-targets compiles the test and
bench targets, so anything genuinely referenced would have failed to resolve.

- modelexpress_server dependencies: hf-hub, jiff, once_cell, toml
- modelexpress_client dependencies: prost
- dev-dependencies: tokio-test in all four crates, tonic-build in the server and
  client, mockall in common

tonic-build is removed only from the server and client, where it sits in
dev-dependencies and neither crate has a build.rs. The copy in common is a
build-dependency that compiles the protos and is untouched.

mockall is removed only from common, which pinned it directly at 0.13 while the
workspace declares 0.14.0, so that crate was building a second major version of
it. The server uses the workspace version and still needs it.

The lockfile sheds only mockall, mockall_derive, tokio-test and toml_writer,
because most of the removed declarations named crates that other members
genuinely depend on. This changes what each manifest claims to use, not what the
workspace pulls in.

Signed-off-by: Nicolas 'Pixel' Noble <nicolas@nobis-crew.org>
@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 950a735e-dc12-489a-8bfe-cc43507138a2

📥 Commits

Reviewing files that changed from the base of the PR and between 9abaf2d and e03f520.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • modelexpress_client/Cargo.toml
  • modelexpress_common/Cargo.toml
  • modelexpress_server/Cargo.toml
  • workspace-tests/Cargo.toml
💤 Files with no reviewable changes (4)
  • workspace-tests/Cargo.toml
  • modelexpress_common/Cargo.toml
  • modelexpress_server/Cargo.toml
  • modelexpress_client/Cargo.toml

Walkthrough

The pull request removes unused runtime and development dependencies from four Cargo manifests.

Changes

Workspace dependency cleanup

Layer / File(s) Summary
Remove unused manifest dependencies
modelexpress-client/Cargo.toml, modelexpress-common/Cargo.toml, modelexpress-server/Cargo.toml, workspace-tests/Cargo.toml
Removed unused runtime and development dependencies while retaining required workspace dependencies.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Mergeability Score: ⚪ Minimal · up to e03f5

This PR removes unused dependency declarations and corresponding lockfile entries without changing crate behavior; no actionable merge-blocking risk remains beyond normal checks and review.

Poem

Hop, hop, the manifests are light,
Fewer crates now fill the night.
Cargo checks each tidy page,
A rabbit cheers from the build-stage.
🐇✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the removal of unused dependency declarations across the workspace.

Comment @coderabbitai help to get the list of available commands.

@nicolasnoble
nicolasnoble requested a review from nv-hwoo August 13, 2026 20:49
@nicolasnoble nicolasnoble changed the title Drop dependency declarations no crate uses build: drop dependency declarations no crate uses Aug 13, 2026
@github-actions github-actions Bot added the build label Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants