open-standards/openpay/crates/op-emv/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 8438da166e clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves
These are the only lints clippy 1.99.1 reports that clippy 1.98.0 does not.
Every cargo root in the tree was compared on both toolchains (the evidence is
in the next commit). 1.98.0's clippy also builds every target of the fixed
code, and reports nothing it did not report before, so this commit stands
under either pin.

What changed, and why

- clippy::assert_is_empty is new in 1.99. 36 sites, all in test code
  (#[cfg(test)] modules; no lib or bin build reports any):
  aac-core and access-core, 23 sites; openpay's op-crypto-extra, op-emv,
  op-iso20022, op-reconciliation, op-routing, op-screening, op-settlement
  and op-tax, 13 sites. `assert!(x.is_empty())` becomes
  `assert_eq!(x, [] as [T; 0])`, `assert_ne!` for the negation, or `""` for
  strings, so a failure prints the value instead of only "false". aac-core and
  access-core are `#![deny(warnings)]` and `#![deny(clippy::all)]`, so without
  this their clippy run fails on 1.99.1.
  Judgment call: at 18 of the 36 sites, clippy's own "MachineApplicable"
  suggestion does not compile. It names local types by crate-relative path
  (`finder::Found`, which is not in scope in a test module), or offers a bare
  `[]` whose element type cannot be inferred. So each site names its element
  type as its own module sees it (`[] as [Found; 0]`, `[] as [f64; 0]`). The
  four lines rustfmt would wrap are wrapped the way rustfmt wraps them.

- clippy::approx_constant (deny-by-default) now knows EULER_GAMMA and
  GOLDEN_RATIO. Both are in std::f{32,64}::consts and stable since 1.94; the
  jouleclaw workspace MSRV is 1.97.
  - jouleclaw-omni, inference/architecture/mochi.rs: `1.618_034` becomes
    `std::f32::consts::GOLDEN_RATIO`. They are the same f32
    (1.61803400516510009765625), so the latents do not change. This file is
    in standards-build.yml's macOS gate (`cargo clippy -p jouleclaw-omni
    --features metal -- -D warnings`), which fails on 1.99.1 without the fix.
  - jouleclaw-outlier, c_factor: `0.5772156649` becomes
    `std::f64::consts::EULER_GAMMA`. Judgment call: the literal was
    truncated, so c(n) moves by 3.1e-12. The normalisation in the
    isolation-forest paper uses the Euler-Mascheroni constant itself, so this
    is the intended value. No other crate and no committed vector reads these
    scores, and the crate's tests pass unchanged.

- smart-byte-rs/Cargo.lock: async-trait 0.1.89 becomes 0.1.92, which adds
  syn 3.0.9 as its dependency. 0.1.89 put `#[must_use]` on every trait method
  it generates. clippy 1.99 now counts the returned `Pin<Box<dyn Future>>` as
  must_use already, so clippy::double_must_use fired at 9 #[async_trait] trait
  methods. The attribute there is the macro's, not ours, so the right fix is
  the macro: 0.1.92 no longer emits it, and every other lockfile in this tree
  already uses 0.1.92. A narrow `cargo update -p async-trait --precise 0.1.92`
  also moved data-encoding-macro-internal (which accepts syn >=1, <3) from syn
  2 to syn 1. That was put back to syn 2.0.117, as on main, so the lock
  changes only what the bump needs. `cargo update --workspace --locked` and
  scripts/check-lockfiles.sh accept it.

Left as they are

- openpay op-dispute-evidence evidence.rs:92 (clippy::double_must_use) is
  reported on 1.98.0 too. Only the message's wording changed in 1.99.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 17:42:20 -05:00
..
error.rs Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
lib.rs Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
stream.rs clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-03 17:42:20 -05:00
tag.rs Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
tree.rs Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00