3.6 KiB
Delta 0.2.5-pre.002-fix.002 — conformité Clippy du canari de frontière Wallet
Base requise
livraison : 0.2.5-pre.002-fix.001
workspace.package.version = "0.2.5-pre.2.fix.1"
La base fonctionnelle reste l'archive Gitea opérateur 0.2.5-pre.002, complétée par le delta pre.002-fix.001 déjà appliqué. Aucun fichier historique n'est réécrit.
Motif
La validation opérateur après pre.002-fix.001 donne :
cargo fmt --all OK
cargo check --workspace OK
cargo clippy --workspace --all-targets ECHEC
cargo test -p ksp-wallet-lib OK
Clippy rejette deux appels à expect() dans le helper d'intégration rust_source_files() de crates/ksp-wallet-lib/tests/dependency_boundary.rs au titre de clippy::expect_used.
RUST-ERR-006 n'autorise unwrap/expect dans les tests que dans la limite permise par la configuration Clippy. allow-expect-in-tests = true couvre les fonctions #[test], mais le helper concerné n'est pas lui-même une fonction #[test]. Pour rendre le canari robuste et homogène, le correctif retire en plus les autres expect() de ce fichier d'intégration au lieu de dépendre de cette exception locale.
Correction
rust_source_files() retourne désormais :
std::io::Result<Vec<PathBuf>>
et traite explicitement les erreurs de :
read_dir
lecture des DirectoryEntry
récursion dans les sous-répertoires
sans :
unwrap
expect
?
allow local de lint
Les deux fonctions #[test] retournent elles-mêmes std::io::Result<()> et propagent explicitement les erreurs filesystem. Le fichier d'intégration ne contient donc plus aucun unwrap() ni expect().
Aucun comportement de ksp-wallet-lib, aucun contrat VIEW/OWNER, aucune dépendance et aucun format .kspwallet ne changent.
Version Cargo
Le correctif modifie une source Rust participant au build de tests. Conformément à VER-ID-007 et VER-ID-010 :
0.2.5-pre.2.fix.1 -> 0.2.5-pre.2.fix.2
Fichiers modifiés
Cargo.toml
crates/ksp-wallet-lib/tests/dependency_boundary.rs
Fichiers ajoutés
deltas/0.2.5/pre.002-fix.002.md
Fichiers supprimés
Aucun.
Fichiers volontairement inchangés
crates/ksp-wallet-lib/src/**
deltas/0.2.5/pre.002.md
deltas/0.2.5/pre.002-fix.001.md
docs/**
ROADMAP.md
CHANGELOG.md
Validations déjà exécutées par l'opérateur sur pre.002-fix.001
cargo fmt --all: OK ;cargo check --workspace: OK ;cargo clippy --workspace --all-targets: échec uniquement sur les deuxexpect()du helperrust_source_files();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
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-wallet-lib
À la clôture de la tranche Rust, cargo test --workspace reste également requis par RUST selon le checkpoint de session retenu.
Décisions
- ne pas contourner
clippy::expect_usedpar un#[allow]local ; - ne conserver aucun
unwrap()/expect()dans ce canari d'intégration, même là où l'exception Clippy les aurait autorisés ; - ne pas utiliser
?, également interdit par les lints workspace ; - ne pas élargir le périmètre fonctionnel de
pre.002.
Questions ouvertes
Aucune nouvelle question fonctionnelle introduite par ce correctif.
Commit attendu
v0.2.5-pre.002-fix.002