Skip to content

build: raise MSRV to Rust 1.98 and resolve new clippy lints - #6748

Merged
bug-ops merged 2 commits into
mainfrom
fix/6746-msrv-1.98
Aug 25, 2026
Merged

build: raise MSRV to Rust 1.98 and resolve new clippy lints#6748
bug-ops merged 2 commits into
mainfrom
fix/6746-msrv-1.98

Conversation

@bug-ops

@bug-ops bug-ops commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fixes every clippy::unused_async_trait_impl and clippy::chunks_exact_to_as_chunks violation surfaced by Rust 1.98's clippy across the workspace (~120 sites), which had been blocking the MSRV bump documented in ci.yml's toolchain-pin rationale comment.
  • Side-effect-free async fn bodies convert to fn -> impl Future<Output = T> + Send { std::future::ready(body) }.
  • Bodies with an observable side effect (mutation, panic!, process-global calls) stay genuine async fn with #[allow(clippy::unused_async_trait_impl)]std::future::ready evaluates eagerly at construction time rather than at first poll, and would otherwise fire the side effect even when a losing tokio::select! arm is dropped unpolled. The Channel trait now documents this contract explicitly, with BenchmarkChannel::recv (the site of a confirmed regression caught during review) as the precedent comment.
  • Bumps rust-version to "1.98" in Cargo.toml and updates all 12 CI toolchain: pins in ci.yml accordingly (ci-non-linux.yml/release.yml/codeql.yml already use rolling stable, left untouched). Updates MSRV references in README, AGENTS.md, per-crate READMEs, and specs.

Test plan

  • cargo +nightly fmt --check
  • cargo clippy --profile ci --workspace --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warnings
  • cargo nextest run --config-file .github/nextest.toml --workspace --features "desktop,ide,server,chat,pdf,scheduler" --lib --bins (15402 passed, 0 failed, 42 skipped)
  • RUSTFLAGS="-D warnings" RUSTDOCFLAGS="--deny rustdoc::broken_intra_doc_links" cargo doc --no-deps --workspace --features "desktop,ide,server,chat,pdf,scheduler"
  • Rebased onto latest main, all gates re-run and green post-rebase

Closes #6746

Rust 1.98's clippy introduced clippy::unused_async_trait_impl and
clippy::chunks_exact_to_as_chunks, which fired on ~120 pre-existing
call sites across the workspace and blocked the MSRV bump documented
in ci.yml's toolchain-pin rationale comment.

Side-effect-free async fn bodies are converted to
fn -> impl Future<Output = T> + Send { std::future::ready(body) }.
Side-effecting bodies (mutation, panic!, process-global calls) stay
genuine async fn with #[allow(clippy::unused_async_trait_impl)], since
std::future::ready evaluates eagerly at construction time rather than
at first poll and would otherwise fire even when a tokio::select! arm
loses its race and is dropped unpolled. The Channel trait now documents
this contract explicitly.

Bumps rust-version to "1.98" in Cargo.toml and updates all CI
toolchain pins accordingly.

Closes #6746
@github-actions github-actions Bot added build Build system or external dependencies size/XL Extra large PR (500+ lines) documentation Improvements or additions to documentation llm zeph-llm crate (Ollama, Claude) labels Aug 25, 2026
@github-actions github-actions Bot added skills zeph-skills crate memory zeph-memory crate (SQLite) channels zeph-channels crate (Telegram) rust Rust code changes core zeph-core crate tests Test-related changes dependencies Dependency updates ci CI/CD configuration labels Aug 25, 2026
@bug-ops
bug-ops enabled auto-merge (squash) August 25, 2026 02:33
@bug-ops
bug-ops merged commit 6d85aaa into main Aug 25, 2026
58 checks passed
@bug-ops
bug-ops deleted the fix/6746-msrv-1.98 branch August 25, 2026 02:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build system or external dependencies channels zeph-channels crate (Telegram) ci CI/CD configuration core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation llm zeph-llm crate (Ollama, Claude) memory zeph-memory crate (SQLite) rust Rust code changes size/XL Extra large PR (500+ lines) skills zeph-skills crate tests Test-related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

clean up 105 clippy::unused_async_trait_impl / useless_format sites surfaced by Rust 1.98.0

1 participant