You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CI workflow was left over from an earlier Python version of the project (sets up Python 3.9, runs unittest) and did not build, test or lint any Rust code. It also did not trigger on the apotheosis2 branch.
Changes
cargo fmt applied to hnsw.rs and record.rs (mechanical, no logic changes) and every clippy warning fixed across src/, verified one by one (details in individual commits). Both were prerequisites: a fmt/clippy CI job added on top of unformatted or warning-producing code would fail on day one.
Cargo.toml: added rust-version = "1.88", the version that stabilizes let-chains, used by some of the clippy fixes.
.github/workflows/ci.yml: replaced with a Rust pipeline (fmt, clippy, test, release build, cargo-deny, cross-platform check, typos, MSRV, docs), triggered on the apotheosis2 branch.
deny.toml: license and advisory policy for cargo-deny.
_typos.toml: exceptions for the two Spanish words in README's Funding support section (Estratégicos, Ciberseguridad), which the English dictionary would otherwise flag.
Test plan
cargo fmt --check, cargo clippy --all-targets --all-features -- -D warnings, cargo test --all-features, cargo build --release --all-features and cargo doc --no-deps --all-features (with RUSTDOCFLAGS=-D warnings) all pass locally.
cargo-deny and typos-cli could not be installed locally (unrelated toolchain issue); not verified locally, will be validated by the CI run itself on this PR.
Here we are modifying critical part of the code. Could you check that the construction and query times have not been incremented? This is, compare times before and after this commits
Ran test_numbers (release build), two runs each before and after this
PR's clippy fixes (base commit 66455fd vs this branch).
Before: construction 3.358s / 3.458s, queries 145.95ms / 142.38ms
After: construction 3.197s / 3.322s, queries 141.96ms / 141.16ms
Matches: 5000/5000 in all four runs (correctness unchanged).
No regression: the before/after ranges overlap with the run-to-run variance seen within the same commit, if anything slightly faster after. Full terminal output in the next comment.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The CI workflow was left over from an earlier Python version of the project (sets up Python 3.9, runs unittest) and did not build, test or lint any Rust code. It also did not trigger on the apotheosis2 branch.
Changes
cargo fmtapplied to hnsw.rs and record.rs (mechanical, no logic changes) and every clippy warning fixed acrosssrc/, verified one by one (details in individual commits). Both were prerequisites: a fmt/clippy CI job added on top of unformatted or warning-producing code would fail on day one.Cargo.toml: addedrust-version = "1.88", the version that stabilizes let-chains, used by some of the clippy fixes..github/workflows/ci.yml: replaced with a Rust pipeline (fmt, clippy, test, release build, cargo-deny, cross-platform check, typos, MSRV, docs), triggered on theapotheosis2branch.deny.toml: license and advisory policy forcargo-deny._typos.toml: exceptions for the two Spanish words in README's Funding support section (Estratégicos,Ciberseguridad), which the English dictionary would otherwise flag.Test plan
cargo fmt --check,cargo clippy --all-targets --all-features -- -D warnings,cargo test --all-features,cargo build --release --all-featuresandcargo doc --no-deps --all-features(withRUSTDOCFLAGS=-D warnings) all pass locally.cargo-denyandtypos-clicould not be installed locally (unrelated toolchain issue); not verified locally, will be validated by the CI run itself on this PR.Closes #19