Skip to content

fix(cli): add io-std to workspace tokio features#407

Open
namesreallyblank wants to merge 1 commit intoruvnet:mainfrom
namesreallyblank:fix/workspace-tokio-io-std
Open

fix(cli): add io-std to workspace tokio features#407
namesreallyblank wants to merge 1 commit intoruvnet:mainfrom
namesreallyblank:fix/workspace-tokio-io-std

Conversation

@namesreallyblank
Copy link
Copy Markdown

Summary

Adds io-std to the workspace tokio features in the root Cargo.toml. The ruvector-cli MCP transport (crates/ruvector-cli/src/mcp/transport.rs, lines 30-31) calls tokio::io::stdin() and tokio::io::stdout(), but the workspace tokio dependency omits the io-std feature. Because ruvector-cli inherits tokio via workspace = true, the binary cannot be built from a clean workspace:

cargo build --release -p ruvector-cli --bin ruvector-mcp
error[E0425]: cannot find function `stdin` in module `tokio::io`
error[E0425]: cannot find function `stdout` in module `tokio::io`

Why workspace-level

Adding io-std at the workspace tier resolves the regression for every consumer at once with no per-crate overrides. This is the scope @ruvnet recommended in the review of #406.

Verification

cargo build --release -p ruvector-cli --bin ruvector-mcp now finishes cleanly on macOS aarch64 (release profile).

Context

This is the standalone io-std fix per @ruvnet's request to split #406. The release-workflow rework from that PR will land separately as a follow-up.

The ruvector-cli MCP transport (crates/ruvector-cli/src/mcp/transport.rs)
calls tokio::io::stdin() and tokio::io::stdout() at lines 30-31, but the
workspace tokio dependency in the root Cargo.toml omits the `io-std`
feature. Because ruvector-cli inherits tokio via `workspace = true`, the
binary cannot be built from a clean workspace:

    cargo build --release -p ruvector-cli --bin ruvector-mcp
    error[E0425]: cannot find function `stdin` in module `tokio::io`
    error[E0425]: cannot find function `stdout` in module `tokio::io`

Adding `io-std` to the workspace tokio features resolves the regression
for every consumer at once (no per-crate overrides needed).

Verified: `cargo build --release -p ruvector-cli --bin ruvector-mcp`
now finishes cleanly on macOS aarch64 (release profile).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant