2.7 KiB
Delta 0.2.9-pre.009-fix.001 — hygiène Clippy du flux bidi
1. Objet
Supprimer les deux warnings Clippy observés au gate opérateur de pre.009, sans modifier le protocole Yellowstone, le lifecycle bidi, les bornes ni les dépendances.
2. Gate opérateur avant fix
| Gate | Résultat |
|---|---|
cargo fmt --all |
PASS |
| audit Rust workspace | PASS / clean |
cargo check --workspace |
PASS |
cargo clippy --workspace --all-targets |
PASS + 2 warnings |
| Transport unit | 379/379 PASS |
Transport public_api |
48/48 PASS |
Transport release_completeness |
42/42 PASS |
| Transport doctests | 4/4 PASS |
| Core dependency canary | 3/3 PASS |
cargo test --workspace |
PASS |
Warnings :
clippy::large_enum_variant
YellowstoneSubscribeUpdate::Transaction >= 664 bytes
YellowstoneSubscribeUpdate::Block >= 280 bytes
clippy::extra_unused_type_parameters
assert_send<T: Send>() dans tests/public_api.rs
3. Correctifs
3.1 YellowstoneSubscribeUpdate::Transaction
La variante devient :
Transaction(Box<YellowstoneTransactionUpdate>)
Le décodeur alloue cette indirection uniquement pour les updates transaction. Le DTO YellowstoneTransactionUpdate, le wire protobuf et les autres variantes ne changent pas. La queue bidi n’a plus à dimensionner chaque élément sur la variante transaction de ~664 octets.
3.2 Canari Send
Le helper de test conserve T: Send et matérialise PhantomData<T> dans son corps. Le paramètre générique devient réellement utilisé sans construction réseau ni changement de contrat.
4. Frontières inchangées
reconnect / resubscribe / replay OUT -> pre.010
SubscribeDeshred OUT 0.2.9
PublicNode / Config V3 OUT pre.009
dépendances / features inchangées
Aucun #[allow(clippy::...)] n’est ajouté.
5. Gate attendu
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
cargo test -p ksp-core-lib --test workspace_dependencies
cargo test --workspace
Attendu : Clippy sans warning et compteurs fonctionnels inchangés à 379 unit / 48 public API / 42 release-completeness / 4 doctests.