Skip to content

build(msrv)!: require Rust 1.97.0#183

Merged
acgetchell merged 1 commit into
mainfrom
build/174-rust-1-97-msrv
Jul 12, 2026
Merged

build(msrv)!: require Rust 1.97.0#183
acgetchell merged 1 commit into
mainfrom
build/174-rust-1-97-msrv

Conversation

@acgetchell

@acgetchell acgetchell commented Jul 12, 2026

Copy link
Copy Markdown
Owner
  • Align Cargo, the pinned toolchain, Clippy, dependency-audit triggers, and maintainer guidance with the new baseline.
  • Audit Rust 1.97 integer bit helpers against exact-arithmetic hot paths and retain existing operations where alternatives do not preserve performance.
  • Correct v0.4.3 citation metadata and document exact decomposition and solve scaling accurately.

BREAKING CHANGE: Rust versions earlier than 1.97.0 are no longer supported.

Closes #174

Summary by CodeRabbit

  • Compatibility

    • Updated the minimum supported and pinned Rust toolchain to 1.97.0 across builds, development environments, linting, and benchmarks.
    • Audit checks now also run when the Rust toolchain configuration changes.
  • Documentation

    • Updated contributor, release, roadmap, and reference guidance for Rust 1.97.0.
    • Clarified exact decomposition workflows and refreshed citation release information.
  • Tests

    • Added coverage for floating-point decomposition edge cases and determinant error-bound overflow handling.
    • Expanded stability checks for exact determinant-sign filtering.

- Align Cargo, the pinned toolchain, Clippy, dependency-audit triggers, and maintainer guidance with the new baseline.
- Audit Rust 1.97 integer bit helpers against exact-arithmetic hot paths and retain existing operations where alternatives do not preserve performance.
- Correct v0.4.3 citation metadata and document exact decomposition and solve scaling accurately.

BREAKING CHANGE: Rust versions earlier than 1.97.0 are no longer supported.

Closes #174
@acgetchell acgetchell self-assigned this Jul 12, 2026
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f3966f5f-d7f1-440b-ad92-4dfede2a8e9a

📥 Commits

Reviewing files that changed from the base of the PR and between 4303207 and 4033f1f.

📒 Files selected for processing (15)
  • .github/workflows/audit.yml
  • AGENTS.md
  • CITATION.cff
  • CONTRIBUTING.md
  • Cargo.toml
  • README.md
  • REFERENCES.md
  • clippy.toml
  • docs/RELEASING.md
  • docs/roadmap.md
  • rust-toolchain.toml
  • scripts/tests/test_archive_performance.py
  • src/exact.rs
  • src/matrix.rs
  • tests/exact_bench_config.rs

📝 Walkthrough

Walkthrough

The PR raises the Rust MSRV and pinned toolchain to 1.97.0 across configuration, documentation, CI, and benchmark fixtures. It also adds regression tests for exact f64 decomposition, determinant overflow classification, and exact-sign filter paths.

Changes

Rust 1.97 baseline and exactness validation

Layer / File(s) Summary
Rust 1.97 baseline and repository guidance
.github/workflows/audit.yml, Cargo.toml, rust-toolchain.toml, clippy.toml, AGENTS.md, CONTRIBUTING.md, README.md, docs/RELEASING.md, docs/roadmap.md, REFERENCES.md, CITATION.cff
The MSRV and pinned toolchain are updated to Rust 1.97.0, CI watches toolchain changes, contributor and release guidance is synchronized, and reference metadata is revised.
Benchmark toolchain expectations
scripts/tests/test_archive_performance.py
Benchmark fixtures and environment assertions now expect Rust 1.97.0.
Exact f64 decomposition invariants
src/exact.rs
Tests cover subnormal mantissa normalization, odd mantissas, and bit-preserving round trips.
Determinant and filter-path regression coverage
src/matrix.rs, tests/exact_bench_config.rs
Tests cover determinant error-bound overflow classification and exact-sign filter-path stability for dimensions 2 through 5.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

  • acgetchell/delaunay issue 496 — similarly updates the Rust MSRV and toolchain from 1.96 to 1.97.0 across project configuration and documentation.

Possibly related PRs

Suggested labels: rust, breaking change

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 52.17% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Linked Issues check ❓ Inconclusive The MSRV bump and test/docs updates are in scope, but the summary does not verify the benchmark-evidence requirement or any concrete bit-helper audit results. Add benchmark results or artifact references and briefly note which 1.97 bit-helper opportunities were adopted or rejected.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: bumping the repository MSRV/toolchain to Rust 1.97.0, and the breaking-change marker fits.
Out of Scope Changes check ✅ Passed The changes stay focused on the Rust 1.97.0 baseline, exact-arithmetic coverage, and related docs/tests; no clear unrelated edits stand out.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch build/174-rust-1-97-msrv

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jul 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.79%. Comparing base (4303207) to head (4033f1f).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #183      +/-   ##
==========================================
+ Coverage   97.77%   97.79%   +0.01%     
==========================================
  Files           8        8              
  Lines        4768     4809      +41     
==========================================
+ Hits         4662     4703      +41     
  Misses        106      106              
Flag Coverage Δ
unittests 97.79% <100.00%> (+0.01%) ⬆️

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

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@acgetchell acgetchell enabled auto-merge July 12, 2026 04:51
@acgetchell acgetchell merged commit 9292e32 into main Jul 12, 2026
20 checks passed
@acgetchell acgetchell deleted the build/174-rust-1-97-msrv branch July 12, 2026 04:57
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.

Adopt Rust 1.97.0 and audit exact-arithmetic bit helpers

1 participant