Skip to content

chore: minimize workspace dependencies#548

Open
pistomat wants to merge 2 commits intomainfrom
mp/minimize-deps
Open

chore: minimize workspace dependencies#548
pistomat wants to merge 2 commits intomainfrom
mp/minimize-deps

Conversation

@pistomat
Copy link
Copy Markdown
Contributor

@pistomat pistomat commented Mar 9, 2026

Summary

  • Remove unused crates (uuid, mini-moka, lazy_static, tempfile, tracing-appender, unicode-width) and move dialoguer to dev-dependencies
  • Replace lazy_static with std::sync::LazyLock (stable since Rust 1.80, MSRV is 1.91.0)
  • Disable chrono default features and narrow tokio workspace features from "full" to only what's used
  • Clean up tycho-test and tycho-integration-test Cargo.toml files (8 + 4 unused deps removed)

Motivation

The workspace had accumulated unused dependencies and overly broad feature flags over time. This adds unnecessary compile time and dependency surface area. A clean build comparison shows:

Metric Before After Delta
Dependencies (Cargo.lock) 751 736 -15
Compiled packages 415 406 -9
Clean build time 1m 07s 1m 00s -7s (~10%)

Removing lazy_static in favor of std::sync::LazyLock also eliminates a third-party dependency for functionality now in the standard library.

Test plan

  • cargo +nightly fmt --all --check
  • cargo clippy --workspace --lib --all-targets --all-features -- -D clippy::dbg-macro (RUSTFLAGS=-Dwarnings)
  • cargo check --no-default-features (RUSTFLAGS=-Dwarnings)
  • cargo nextest run --workspace --lib --all-targets --all-features — 595 passed

🤖 Generated with Claude Code

pistomat and others added 2 commits March 9, 2026 16:12
MSRV is 1.91.0 which stabilizes LazyLock, removing the need for the
lazy_static crate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove unused deps: uuid, mini-moka, lazy_static, tempfile,
  tracing-appender, unicode-width
- Move dialoguer to dev-dependencies (example-only)
- Disable chrono default features (no clock/tz needed)
- Narrow tokio workspace features from "full" to only what's used
- Clean up tycho-test: remove dotenv, futures, itertools, lru,
  num-traits, rand, tracing-subscriber, tycho-client
- Clean up tycho-integration-test: remove alloy-chains, colored,
  serde, serde_json; add tokio signal feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant