87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
<!-- file: deltas/0.2.4/pre.008-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 0.2.4-pre.008-fix.001 — conformité Clippy `implicit_return`
|
|
|
|
## Base
|
|
|
|
- Livraison corrigée : `0.2.4-pre.008`
|
|
- Version Cargo de base : `0.2.4-pre.8`
|
|
- Version Cargo après fix : `0.2.4-pre.8.fix.1`
|
|
- Le delta historique `pre.008.md` et le plan `011` ne sont pas modifiés.
|
|
|
|
## Motif du fix
|
|
|
|
La validation locale de `0.2.4-pre.008` a donné :
|
|
|
|
- `cargo fmt --all` : OK ;
|
|
- `cargo check --workspace` : OK ;
|
|
- `cargo clippy --workspace --all-targets` : échec sur une unique violation de la politique workspace `-D clippy::implicit-return` ;
|
|
- `cargo test -p ksp-onchain-transport-lib` : OK avec `240` unit tests, `26` tests public API, `21` tests release-completeness et le smoke Devnet explicitement ignoré.
|
|
|
|
La violation se trouve dans `HttpTransportPool::get_inflation_reward`, dans la closure qui transforme les `Pubkey` d'entrée en valeurs JSON :
|
|
|
|
```rust
|
|
.map(|address| serde_json::Value::String(address.to_string()))
|
|
```
|
|
|
|
Le workspace impose les retours explicites, y compris dans cette closure.
|
|
|
|
## Correction
|
|
|
|
La closure devient :
|
|
|
|
```rust
|
|
.map(|address| return serde_json::Value::String(address.to_string()))
|
|
```
|
|
|
|
Aucun comportement RPC, aucune validation, aucun DTO, aucune fixture et aucune canarie ne changent.
|
|
|
|
## Fichiers
|
|
|
|
Modifiés :
|
|
|
|
- `Cargo.toml` ;
|
|
- `crates/ksp-onchain-transport-lib/src/rpc_economics.rs`.
|
|
|
|
Ajouté :
|
|
|
|
- `deltas/0.2.4/pre.008-fix.001.md`.
|
|
|
|
## Validation statique de livraison
|
|
|
|
L'environnement de construction de l'archive ne dispose pas de `cargo`, `rustc` ou `rustfmt`. Les contrôles statiques de packaging vérifient donc :
|
|
|
|
- modification limitée à la closure concernée, aux versions de fichier/Cargo et au présent delta ;
|
|
- absence de `#[allow(dead_code)]` ajouté ;
|
|
- absence de nouveau `unsafe`, `unwrap`, `expect` ou `panic!` dans le runtime modifié ;
|
|
- archive réextraite et comparée octet par octet.
|
|
|
|
## Validation locale attendue
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-onchain-transport-lib
|
|
```
|
|
|
|
Résultat attendu :
|
|
|
|
- zéro warning / erreur introduit par `pre.008` ;
|
|
- `240` unit tests OK ;
|
|
- `26` tests public API OK ;
|
|
- `21` tests release-completeness OK ;
|
|
- `1` smoke Devnet ignoré ;
|
|
- aucun échec.
|
|
|
|
## Commit attendu
|
|
|
|
```text
|
|
v0.2.4-pre.008-fix.001
|
|
```
|
|
|
|
## Suite
|
|
|
|
La prochaine prerelease fonctionnelle reste `0.2.4-pre.009`, consacrée au réaudit final SIMD/inventaire, à la compliance HTTP `52/52 + 14/14`, aux smokes/graphes, à la documentation finale et au prompt `0.2.5 — Wallet foundation`.
|