• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

cgevans / equiconc / 24932686026
92%

Build:
DEFAULT BRANCH: main
Ran 25 Apr 2026 02:07PM UTC
Jobs 1
Files 3
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Apr 2026 02:06PM UTC coverage: 92.435% (-0.8%) from 93.28%
24932686026

push

github

cgevans
Clean up clippy lints and wire clippy into the lint CI gate

`cargo clippy --all-features --all-targets -- -D warnings` now passes
and is enforced in the existing `lint` job alongside fmt and rustdoc.

Mechanical rewrites:
- derive `Default` on `SolverObjective` (drop the manual impl).
- `field_reassign_with_default` in `SolverOptions::validate` tests:
  collapse `let mut o = X::default(); o.f = v` into struct literals.
- `iter_cloned_collect` in proptest specs: `iter().copied().collect()`
  → `to_vec()`.
- `neg_cmp_op_on_partial_ord` in `evaluate_into` / `evaluate_log_into`
  guards: rewrite `!(f > 0.0) || !f.is_finite()` as
  `f <= 0.0 || !f.is_finite()`. NaN-equivalent (rejected via the
  existing `!is_finite` clause), clippy-clean.
- `collapsible_if` in coffee_cli_compat: nested `if let`s → Rust 2024
  let-chain.
- `needless_range_loop` in vs_coffee_large bench: `for i in 0..n` →
  `for (i, row) in rows.iter().take(n).enumerate()`.
- `doc_lazy_continuation` / `doc_overindented_list_items` in benches:
  reflow doc comments so a `+` mid-sentence isn't read as a markdown
  list marker, and drop excess list indentation.

Type aliases (real readability win, not just clippy-silencing):
- `ComplexSpec = (String, Vec<(String, usize)>, f64)` for `SystemBuilder`
  and the proptest specs.
- `PyComplexSpec = (String, Vec<(String, usize)>, EnergySpec)` for
  `PySystem`. Aliases must precede the doc-commented item they replace
  so the surrounding docstring stays attached to its struct.

`#[allow(...)]` with one-line rationale where the lint can't tell the
code is intentional:
- `clippy::neg_cmp_op_on_partial_ord` on `SolverOptions::validate`:
  the `!(shrink_rho < grow_rho)` form is NaN-safe rejection; rewriting
  as `shrink >= grow` would let NaN through and the rho fields aren't
  separately finite-checked.
- `clippy::too_many_arguments` on `evaluate_into` (9 args) and
  `evaluate_log_into` (10 args): hot-path inner functions taking
  pre-allocated buffer re... (continued)

32 of 32 new or added lines in 1 file covered. (100.0%)

162 existing lines in 2 files now uncovered.

2505 of 2710 relevant lines covered (92.44%)

6024.77 hits per line

Coverage Regressions

Lines Coverage ∆ File
113
93.52
0.29% src/lib.rs
49
85.6
-7.93% src/python.rs
Jobs
ID Job ID Ran Files Coverage
1 24932686026.1 25 Apr 2026 02:07PM UTC 4
85.19
GitHub Action Run
Source Files on build 24932686026
  • Tree
  • List 3
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24932686026
  • 8a02861c on github
  • Prev Build on main (#24932247170)
  • Next Build on main (#24932826914)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc