What
cargo-tarpaulin = "0.29" is listed as a [dev-dependencies] entry in the root Cargo.toml (line 38). cargo-tarpaulin is a CLI tool, not a library crate. Listing it as a dev-dependency means it is compiled as part of the workspace dependency tree on every cargo build and cargo test.
Why
Every CI run and local build compiles an unnecessary CLI tool. The coverage.sh script already checks if cargo-tarpaulin is installed and provides installation instructions. It should be installed separately via cargo install cargo-tarpaulin, not as a workspace dependency.
Scope
- Remove
cargo-tarpaulin = "0.29" from [dev-dependencies] in the root Cargo.toml
- Update
coverage.sh if needed to handle the absence gracefully (it already does)
Acceptance Criteria
cargo-tarpaulin is not in [dev-dependencies]
cargo build and cargo test no longer compile cargo-tarpaulin
coverage.sh still works correctly
Technical Context
Cargo.toml:36-38 — the dev-dependency entry
scripts/coverage.sh:6-10 — already checks for installation
What
cargo-tarpaulin = "0.29"is listed as a[dev-dependencies]entry in the rootCargo.toml(line 38).cargo-tarpaulinis a CLI tool, not a library crate. Listing it as a dev-dependency means it is compiled as part of the workspace dependency tree on everycargo buildandcargo test.Why
Every CI run and local build compiles an unnecessary CLI tool. The
coverage.shscript already checks ifcargo-tarpaulinis installed and provides installation instructions. It should be installed separately viacargo install cargo-tarpaulin, not as a workspace dependency.Scope
cargo-tarpaulin = "0.29"from[dev-dependencies]in the rootCargo.tomlcoverage.shif needed to handle the absence gracefully (it already does)Acceptance Criteria
cargo-tarpaulinis not in[dev-dependencies]cargo buildandcargo testno longer compile cargo-tarpaulincoverage.shstill works correctlyTechnical Context
Cargo.toml:36-38— the dev-dependency entryscripts/coverage.sh:6-10— already checks for installation