3.2 KiB
Delta 0.1.1-pre.002-fix.001
Base requise
Commit de livraison attendu :
v0.1.1-pre.002
La version Cargo reste :
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 --allréussit ;cargo check --workspaceréussit ;cargo test --workspaceréussit avec 6 tests unitaires, 1 test d'intégration et 0 échec ;cargo clippy --workspace --all-targetstermine sans erreur mais remonte deux warnings à corriger.
Warnings observés :
clippy::extra_unused_type_parameterssur le helper de vérificationSend + Sync;missing_docssur la crate de test d'intégrationtests/public_api.rs.
Fichiers modifiés
crates/ksp-core-lib/unit_tests/error.rscrates/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 :
assert_send_sync<T>()
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<T> :
assert_send_sync<T>(PhantomData<T>)
et le test fournit PhantomData<crate::Error>.
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 :
//! 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 :
version: 1
à :
version: 2
Contrat public
Aucun changement.
Les éléments suivants restent strictement identiques à 0.1.1-pre.002 :
ksp_core_lib::Error
ksp_core_lib::ErrorCode
ksp_core_lib::ErrorContext
ksp_core_lib::Result<T>
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
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.