128 lines
3.2 KiB
Markdown
128 lines
3.2 KiB
Markdown
<!-- file: deltas/0.1.1/pre.002-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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<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>` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```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<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
|
|
|
|
```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.
|