# Delta 0.1.1-pre.002-fix.001 ## Base requise Commit de livraison attendu : ```text v0.1.1-pre.002 ``` La version Cargo reste : ```text 0.1.1-pre.2 ``` Ce correctif ne modifie aucun contrat public de `ksp-core-lib` et ne justifie donc aucune nouvelle prerelease Cargo. ## Objectif Corriger les deux warnings remontés par les validations réelles de `0.1.1-pre.002` avant d'ouvrir `0.1.1-pre.003`. Les validations exécutées sur le dépôt cible ont confirmé que : - `cargo fmt --all` réussit ; - `cargo check --workspace` réussit ; - `cargo test --workspace` réussit avec 6 tests unitaires, 1 test d'intégration et 0 échec ; - `cargo clippy --workspace --all-targets` termine sans erreur mais remonte deux warnings à corriger. Warnings observés : 1. `clippy::extra_unused_type_parameters` sur le helper de vérification `Send + Sync` ; 2. `missing_docs` sur la crate de test d'intégration `tests/public_api.rs`. ## Fichiers modifiés - `crates/ksp-core-lib/unit_tests/error.rs` - `crates/ksp-core-lib/tests/public_api.rs` ## Fichier ajouté - `deltas/0.1.1/pre.002-fix.001.md` ## Fichiers supprimés Aucun. ## Correction `Send + Sync` Le helper de test : ```text assert_send_sync() ``` utilisait `T` uniquement dans ses bornes de trait. Clippy considère alors le paramètre de type comme inutilisé avec `extra_unused_type_parameters`. Le helper reçoit désormais un `std::marker::PhantomData` : ```text assert_send_sync(PhantomData) ``` et le test fournit `PhantomData`. Cette forme conserve exactement l'objectif du test de compilation : l'appel ne compile que si `crate::Error` satisfait `Send + Sync`, tout en utilisant réellement le paramètre générique et sans ajouter de dépendance, d'import ou de logique runtime significative. ## Correction `missing_docs` Le test d'intégration `crates/ksp-core-lib/tests/public_api.rs` constitue une crate Rust indépendante lors de sa compilation. Une rustdoc crate-level est ajoutée : ```text //! Integration tests for the public `ksp-core-lib` error contract. ``` Cela satisfait le lint workspace `missing_docs = warn` sans désactiver le lint et sans documenter artificiellement les helpers privés du test. ## Headers de fichiers Les deux fichiers Rust modifiés passent de : ```text version: 1 ``` à : ```text version: 2 ``` ## Contrat public Aucun changement. Les éléments suivants restent strictement identiques à `0.1.1-pre.002` : ```text ksp_core_lib::Error ksp_core_lib::ErrorCode ksp_core_lib::ErrorContext ksp_core_lib::Result ``` Le plan `docs/plans/003-V0_1_1_CORE_FOUNDATION_PLAN.md` reste en version documentaire 5 : aucune décision d'architecture ou d'API n'est modifiée par ce correctif. ## Dépendances Aucune dépendance ajoutée ou modifiée. ## Validations à exécuter après application ```bash cargo fmt --all cargo check --workspace cargo test --workspace cargo clippy --workspace --all-targets ``` Le résultat attendu de ce correctif est l'absence des deux warnings qui ont motivé `pre.002-fix.001`. Aucune validation du correctif lui-même n'est déclarée réussie tant que ces commandes n'ont pas été exécutées sur le dépôt cible.