From 15790d0e059dc06e647ea29ec462aeca3849012b Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 5 Sep 2026 19:42:36 +0000 Subject: [PATCH 1/2] Bump Rust toolchain to 1.98.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates rust-toolchain.toml and the CI workflow's pinned toolchain from 1.97.1 to 1.98.1, and fixes the three clippy findings the bump surfaces under `-D warnings`: - ogar-a2ui-frame: chunks_exact(8).map(u64::from_le_bytes([..])) is now clippy::chunks_exact_to_as_chunks; rewritten to as_chunks::<8>().0.iter().map(u64::from_le_bytes). - ogar-r2il example: a doc-comment list continuation line was over-indented (4 spaces instead of 2), newly caught by clippy::doc_overindented_list_items. - ogar-dismech: a deliberately-runtime named test asserting bounds on a `pub const` now trips clippy::assertions_on_constants; allowed explicitly with a comment, since the intent is a documented cargo-test invariant, not a compile-time const assertion. rust-version in the workspace Cargo.toml is left at 1.95 — it already diverges from the toolchain channel in this repo's history (channel was 1.97.1) and no rule ties the two together. Verified with bare `cargo` (no +toolchain): `cargo check --workspace --all-targets`, `cargo test --workspace` (847 passed, 0 failed), the five feature-gated CI test steps, `cargo clippy --workspace --all-targets -- -D warnings` (clean), and `cargo fmt --check` (clean). Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01AGVLyRZNEKKBSfBDJfbY3V --- .github/workflows/ci.yml | 2 +- crates/ogar-a2ui-frame/src/lib.rs | 6 ++++-- crates/ogar-dismech/src/lib.rs | 4 ++++ .../examples/probe_counterfactual_witness_kernel.rs | 2 +- rust-toolchain.toml | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9a8b1c4..4e901826 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: - name: Install Rust toolchain (per rust-toolchain.toml) uses: dtolnay/rust-toolchain@master with: - toolchain: 1.97.1 + toolchain: 1.98.1 components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - name: cargo check --workspace --all-targets diff --git a/crates/ogar-a2ui-frame/src/lib.rs b/crates/ogar-a2ui-frame/src/lib.rs index b7ae440c..53b66306 100644 --- a/crates/ogar-a2ui-frame/src/lib.rs +++ b/crates/ogar-a2ui-frame/src/lib.rs @@ -245,8 +245,10 @@ impl Frame { }); } let mask_words = payload[FIXED..mask_end] - .chunks_exact(8) - .map(|c| u64::from_le_bytes([c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7]])) + .as_chunks::<8>() + .0 + .iter() + .map(|c| u64::from_le_bytes(*c)) .collect(); Ok(Self::NodeDelta(NodeDelta { key, diff --git a/crates/ogar-dismech/src/lib.rs b/crates/ogar-dismech/src/lib.rs index 12667607..e61b1a69 100644 --- a/crates/ogar-dismech/src/lib.rs +++ b/crates/ogar-dismech/src/lib.rs @@ -829,6 +829,10 @@ mod concept_id_collision_guard { /// (0x0340..=0x0347) — the two bands `ogar-obo/src/registry.rs` /// documents as the reason `META_STUDY_SPINE` itself took three /// attempts to place. + // Deliberately a runtime test, not a `const { assert!(..) }`: it is meant + // to show up in `cargo test` output as a named, documented invariant + // rather than as a compile failure. + #[allow(clippy::assertions_on_constants)] #[test] fn stays_in_the_0x03_ontology_domain_clear_of_documented_bands() { assert_eq!(DISMECH_CONCEPT_ID >> 8, 0x03); diff --git a/crates/ogar-r2il/examples/probe_counterfactual_witness_kernel.rs b/crates/ogar-r2il/examples/probe_counterfactual_witness_kernel.rs index b9896998..5be46a2f 100644 --- a/crates/ogar-r2il/examples/probe_counterfactual_witness_kernel.rs +++ b/crates/ogar-r2il/examples/probe_counterfactual_witness_kernel.rs @@ -45,7 +45,7 @@ //! - G1: segmentation is GREEN over the mixed core+R2IL body, and the edit //! is CONFINED: outside the edited statement's `CallMask`, the projected //! calls of factual and counterfactual slabs are identical; inside, they -//! differ (the lens proves locality — can-fire + can-stay-silent). +//! differ (the lens proves locality — can-fire + can-stay-silent). //! - G2a (CF-1a intra-run swap): byte > 0, exact-area > 0, increment == 0 //! (net per-locus counts unchanged — increments are structurally blind //! to dataflow order), register == 0 — the orientation bit is diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 5ec58696..c9901407 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,4 +1,4 @@ [toolchain] -channel = "1.97.1" +channel = "1.98.1" components = ["rustfmt", "clippy"] profile = "minimal" From 7c5b52ff330d1307bf3183d5193d7f61d8a7f96f Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 5 Sep 2026 19:46:56 +0000 Subject: [PATCH 2/2] Revert the allow that silenced a pre-existing lint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit clippy::assertions_on_constants is NOT new in 1.98 — checked against the clippy changelog, it is not in the 1.98 list at all, and the neighbouring doc_overindented_list_items dates to 1.86. Both surfaced here only because OGAR has no clippy job in CI (ci.yml runs check + test only), so -D warnings had effectively never run in this repo. So this allow was silencing a pre-existing lint inside a toolchain-bump PR, which hides a real signal rather than fixing it, and does so for a lint nothing in this repo currently checks. The backlog belongs to whatever PR adds the clippy gate, where the whole policy gets decided at once. The one-character doc-comment dedent is kept: it FIXES its lint rather than masking it, and reverting a correct whitespace change would be churn. Verified after the revert: cargo test -p ogar-dismech --lib exit 0, 20 passed 0 failed; cargo fmt --check clean. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01AGVLyRZNEKKBSfBDJfbY3V --- crates/ogar-dismech/src/lib.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/crates/ogar-dismech/src/lib.rs b/crates/ogar-dismech/src/lib.rs index e61b1a69..12667607 100644 --- a/crates/ogar-dismech/src/lib.rs +++ b/crates/ogar-dismech/src/lib.rs @@ -829,10 +829,6 @@ mod concept_id_collision_guard { /// (0x0340..=0x0347) — the two bands `ogar-obo/src/registry.rs` /// documents as the reason `META_STUDY_SPINE` itself took three /// attempts to place. - // Deliberately a runtime test, not a `const { assert!(..) }`: it is meant - // to show up in `cargo test` output as a named, documented invariant - // rather than as a compile failure. - #[allow(clippy::assertions_on_constants)] #[test] fn stays_in_the_0x03_ontology_domain_clear_of_documented_bands() { assert_eq!(DISMECH_CONCEPT_ID >> 8, 0x03);