Skip to content

fix(ci): build clean under Rust 1.99's clippy - #1517

Merged
dekobon merged 1 commit into
mainfrom
fix/clippy-1.99-assert-empty
Oct 6, 2026
Merged

dekobon merged 1 commit into
mainfrom
fix/clippy-1.99-assert-empty

Conversation

@dekobon

@dekobon dekobon commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Why

CI installs floating stable, which became Rust 1.99.0 on 2026-09-28.
Two diagnostics new in that release turn every -D warnings job red —
clippy, the three test legs, coverage, chain audit, the whole
features matrix and lint — on main and on every PR against it.
The 21 failing checks on the seven most recent Dependabot PRs were this,
not the dependency bumps.

What

  • clippy::assert_is_empty (pedantic, so at warn via
    [workspace.lints]): 27 test assertions across 17 files move from
    assert!(x.is_empty()) to assert_eq! / assert_ne! against a typed
    empty array, so a failure prints the offending contents. Where a
    serde_json::Value was being unwrapped to an array first, the pair
    collapses to one assert_eq!(v[..], json!([])), which also prints the
    value when it is not an array at all.
  • semicolon_in_expressions_from_non_local_macros (future-incompat,
    -D warnings promotes it): fires on every closure-position
    insta::assert_json_snapshot! because insta 1.48's macro ends in a
    stray ;. insta 1.49.0 drops it. Cargo.lock takes 1.49.0 and both
    dev-dependency floors move 1.29.0 → 1.49.0, so a fresh resolve
    cannot pick the old macro back up.
  • CHANGELOG.md entry under Unreleased / Fixed.

Test code, a dev-dependency and the changelog only; nothing in the
published library changes.

Verification

  • make pre-commit → BCA_GATE: pass (gate=pre-commit) on Rust 1.99.0.
  • cargo clippy --workspace --all-targets -- -D warnings clean with and
    without --all-features; the workspace-excluded enums, fuzz and
    xtask crates were already clean.
  • cargo metadata --locked resolves on stable 1.99 and nightly.

Two diagnostics new in 1.99 turned every `-D warnings` job red once
CI's floating stable toolchain picked it up:

- `clippy::assert_is_empty` (pedantic): 27 test assertions across 17
  files now use `assert_eq!` / `assert_ne!` against a typed empty
  array, so a failure prints the offending contents instead of a bare
  boolean.
- `semicolon_in_expressions_from_non_local_macros` fired on every
  closure-position `insta::assert_json_snapshot!`, because insta
  1.48's macro ended in a stray `;`. insta 1.49.0 drops it, so both
  dev-dependency floors move from 1.29.0 to 1.49.0 and a fresh
  resolve cannot pick the old macro back up.

Test code, a dev-dependency and the changelog only; nothing in the
published library changes.
@codecov

codecov Bot commented Oct 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.02%. Comparing base (0efc41a) to head (6d102cd).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##              main    #1517      +/-   ##
===========================================
- Coverage   100.00%   98.02%   -1.98%     
===========================================
  Files            5      359     +354     
  Lines          441    96210   +95769     
  Branches        10    95779   +95769     
===========================================
+ Hits           441    94312   +93871     
- Misses           0     1214    +1214     
- Partials         0      684     +684     
Flag Coverage Δ
python 100.00% <ø> (ø)
rust 98.01% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
big-code-analysis-ast/src/langs.rs 95.26% <100.00%> (ø)
big-code-analysis-cli/src/check_format.rs 95.89% <100.00%> (ø)
src/output/sarif.rs 98.79% <100.00%> (ø)
src/suppression.rs 96.87% <100.00%> (ø)

... and 350 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dekobon
dekobon merged commit 6fb881a into main Oct 6, 2026
64 checks passed
@dekobon
dekobon deleted the fix/clippy-1.99-assert-empty branch October 6, 2026 06:48
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