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
release: restore clippy with hot-path/seed/reference-table allows + bench hygiene
Three revisions on the v1.2.0 release surface before push:
Revision 1 (release notes): drop the first-claim framing from RELEASE_NOTES_v1.2.0.md. voltic describes what it IS, not what it is a first against; the typed-API features speak for themselves through the second paragraph and the Added bullets.
Revision 2 (release notes): scrub volfi from v1.2.0-added prose. The volfi-source-off-limits constraint means we cannot substantiate a vs-volfi claim in this release scope; existing v1.0.x volfi history in CHANGELOG and README stays untouched.
Revision 3 (CI): restore cargo clippy --all-targets -- -D warnings to the CI workflow with scoped crate-level #![allow] attributes. src/norm.rs: improper_ctypes (Sleef SIMD FFI vector types). src/schadner_fast.rs: absurd_extreme_comparisons, assign_op_pattern, manual_clamp, manual_range_contains, unused_imports/unused_variables/dead_code (protected hot path per v1.2 byte-identity rule), and excessive_precision (the include!()-d schadner_fast_seed.rs Chebyshev coefficients). src/otm_context.rs: manual_clamp, manual_memcpy, manual_div_ceil, non_snake_case. tests/wing_seed.rs: excessive_precision (published mpmath-200-bit reference table). Bench files passed clippy after small mechanical fixes (iterator-style loops, writeln!, copy_from_slice, range contains, type aliases, sort_by_key) and two #[allow(clippy::if_same_then_else)] on documented duplicate branches in bench/adversarial.rs.
Note on Cargo deviation: the spec scoped excessive_precision to src/schadner_fast_seed.rs but that file is include!()-d into schadner_fast.rs, not declared as mod. Rustc rejects inner attributes inside an include!()-d file; the allow had to land on the parent module (schadner_fast.rs) to cover the included content. The seed file itself is unchanged from v1.1.0.
src/lib.rs diff vs v1.1.0: still exactly +2 lines (pub mod typed; pub use ...). The fast hot path is byte-identical to v1.1.0 modulo the rustfmt and #![allow] additions.
Verified: cargo +nightly fmt --check exits 0; cargo +nightly clippy --all-targets -- -D warnings exits 0; cargo +nightly test --release 97/97; bench/main and bench/kernel_nan and bench/wing_grid run with output bit-equivalent to v1.1.0 (Schadner cold 68.8 ns, wing v x Delta 82.2 ns, 2 NaN, identical NaN set).
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,8 +39,10 @@ Verified
39
39
40
40
CI
41
41
42
-
- Pinned the nightly toolchain in `.github/workflows/ci.yml` to a fixed snapshot so rustfmt and clippy stop drifting between runs (the v1.0.0 through v1.1.0 CI runs were failing on `cargo fmt --check` because nightly rustfmt rules shifted out from under the unchanged codebase). Reformatted pre-existing sources under the pinned toolchain to clear the `cargo fmt --check` step.
43
-
- Removed `cargo clippy --all-targets -- -D warnings` from CI. The Sleef SIMD bindings in `src/norm.rs` produce 190+ `improper_ctypes` warnings that cannot be silenced without restructuring the binding architecture, and nightly clippy escalated two existing comparisons against const-zero loop bounds to hard errors. Both are pre-existing v1.0.0 conditions; the CI step was always going to fail. The test job (`cargo test --release`) is the real correctness gate and is preserved.
42
+
- Pinned the nightly toolchain in `.github/workflows/ci.yml` to `nightly-2026-05-12` so rustfmt and clippy rules stop drifting between runs (the v1.0.0 through v1.1.0 CI runs were failing on `cargo fmt --check` because nightly rustfmt rules shifted out from under the unchanged codebase). Reformatted pre-existing sources under the pinned toolchain to clear the `cargo fmt --check` step.
43
+
- Crate-level `#![allow]` attributes added with one-line reasons: `improper_ctypes` on `src/norm.rs` (Sleef SIMD FFI vector types are not Rust-FFI-safe by spec); `clippy::excessive_precision` on `src/schadner_fast.rs` (Chebyshev seed coefficients in the include!()-d seed file carry beyond-f64 digits as published); `clippy::absurd_extreme_comparisons`, `clippy::assign_op_pattern`, `clippy::manual_clamp`, `clippy::manual_range_contains`, and `unused_imports`/`unused_variables`/`dead_code` on `src/schadner_fast.rs` (protected hot path per v1.2 byte-identity rule); `clippy::manual_clamp`, `clippy::manual_memcpy`, `clippy::manual_div_ceil`, and `non_snake_case` on `src/otm_context.rs` (NaN-clamp semantics, manual SIMD copy paths, and SIMD mask type naming); `clippy::excessive_precision` on `tests/wing_seed.rs` (published mpmath-200-bit reference table).
44
+
- Bench files passed clippy after small mechanical hygiene fixes (iterator-style loops, `writeln!`, `copy_from_slice`, range contains, type aliases).
0 commit comments