141 lines
3.3 KiB
Markdown
141 lines
3.3 KiB
Markdown
<!-- file: deltas/0.2.5/pre.002-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.5-pre.002-fix.001` — conformité Clippy `implicit_return` de la projection Wallet
|
|
|
|
## Base requise
|
|
|
|
```text
|
|
livraison : 0.2.5-pre.002
|
|
workspace.package.version = "0.2.5-pre.2"
|
|
```
|
|
|
|
La base de ce correctif est explicitement l'archive Gitea fournie par l'opérateur après ses modifications locales :
|
|
|
|
```text
|
|
khadhroony-solana-project-v0.2.5-pre.002-from-gitea.zip
|
|
```
|
|
|
|
Elle remplace comme référence de travail tout paquet d'échange `pre.002` antérieur de la session. Le delta historique `deltas/0.2.5/pre.002.md` n'est pas réécrit.
|
|
|
|
## Motif
|
|
|
|
La validation locale communiquée le 2026-08-19 donne :
|
|
|
|
```text
|
|
cargo fmt --all OK
|
|
cargo check --workspace OK
|
|
cargo clippy --workspace --all-targets ECHEC
|
|
cargo test -p ksp-wallet-lib OK
|
|
```
|
|
|
|
Clippy rejette une unique closure dans `WalletInfo::fmt` au titre de la politique workspace :
|
|
|
|
```text
|
|
-D clippy::implicit-return
|
|
```
|
|
|
|
Le code concerné est la redaction de l'alias dans `Debug` :
|
|
|
|
```rust
|
|
.map(|_| "<redacted>")
|
|
```
|
|
|
|
La politique KSP exige un `return` explicite également dans cette closure.
|
|
|
|
## Correction
|
|
|
|
La closure devient uniquement :
|
|
|
|
```rust
|
|
.map(|_| return "<redacted>")
|
|
```
|
|
|
|
Aucun comportement Wallet, aucune capability VIEW/OWNER, aucune projection publique, aucune redaction, aucune dépendance et aucun contrat du format `.kspwallet` ne changent.
|
|
|
|
## Version Cargo
|
|
|
|
Le correctif modifie une source Rust participant au build. Conformément à `VER-ID-007` et `VER-ID-010` :
|
|
|
|
```text
|
|
0.2.5-pre.2 -> 0.2.5-pre.2.fix.1
|
|
```
|
|
|
|
## Fichiers modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
crates/ksp-wallet-lib/src/metadata.rs
|
|
```
|
|
|
|
## Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.2.5/pre.002-fix.001.md
|
|
```
|
|
|
|
## Fichiers supprimés
|
|
|
|
Aucun.
|
|
|
|
## Fichiers volontairement inchangés
|
|
|
|
```text
|
|
deltas/0.2.5/pre.002.md
|
|
docs/plans/012-V0_2_5_WALLET_FOUNDATION_PLAN.md
|
|
ROADMAP.md
|
|
CHANGELOG.md
|
|
crates/ksp-wallet-lib/src/capability.rs
|
|
crates/ksp-wallet-lib/src/constants.rs
|
|
crates/ksp-wallet-lib/src/error.rs
|
|
crates/ksp-wallet-lib/src/lib.rs
|
|
crates/ksp-wallet-lib/src/owner.rs
|
|
crates/ksp-wallet-lib/src/password.rs
|
|
crates/ksp-wallet-lib/src/view.rs
|
|
crates/ksp-wallet-lib/unit_tests/**
|
|
crates/ksp-wallet-lib/tests/**
|
|
```
|
|
|
|
Aucun delta historique n'est réécrit.
|
|
|
|
## Validations déjà exécutées sur la base par l'opérateur
|
|
|
|
Avant le correctif :
|
|
|
|
- `cargo fmt --all` : OK ;
|
|
- `cargo check --workspace` : OK ;
|
|
- `cargo clippy --workspace --all-targets` : échec uniquement sur `clippy::implicit_return` dans `metadata.rs` ;
|
|
- `cargo test -p ksp-wallet-lib` : OK :
|
|
- 7 unit tests ;
|
|
- 2 dependency-boundary tests ;
|
|
- 4 public API tests ;
|
|
- 2 doctests `compile_fail`.
|
|
|
|
## Validation attendue après application
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-wallet-lib
|
|
```
|
|
|
|
Résultat attendu : les quatre commandes réussissent sans régression et les `15` contrôles Wallet déjà validés restent verts.
|
|
|
|
## Décisions
|
|
|
|
- conserver la redaction `Debug` existante ;
|
|
- respecter la règle workspace de retour explicite sans ajouter de `#[allow]` ;
|
|
- ne pas élargir le périmètre fonctionnel de `pre.002` ;
|
|
- poursuivre avec `0.2.5-pre.003` après validation du fix.
|
|
|
|
## Questions ouvertes
|
|
|
|
Aucune nouvelle question ouverte introduite par ce correctif.
|
|
|
|
## Commit attendu
|
|
|
|
```text
|
|
v0.2.5-pre.002-fix.001
|
|
```
|