41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
<!-- file: deltas/0.2.1/pre.004-fix.002.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `v0.2.1-pre.004-fix.002`
|
|
|
|
## Objet
|
|
|
|
Corriger la canarie de frontière Cargo introduite par `v0.2.1-pre.004-fix.001` sans modifier la politique de features adoptée par ce fix.
|
|
|
|
Le test `workspace_dependency_table_does_not_activate_consumer_features` recherchait naïvement la sous-chaîne `features =` dans `[workspace.dependencies]`. Cette recherche détectait aussi `default-features = false`, alors que `default-features` est précisément une option de résolution commune autorisée au niveau workspace par les règles KSP.
|
|
|
|
## Modifications
|
|
|
|
- `workspace.package.version` passe de `0.2.1-pre.4.fix.1` à `0.2.1-pre.4.fix.2` ;
|
|
- la canarie Cargo analyse désormais les champs des tables inline et interdit uniquement la clé exacte `features` dans `[workspace.dependencies]` ;
|
|
- `default-features` reste explicitement autorisé au niveau workspace ;
|
|
- suppression de la closure qui déclenchait `clippy::implicit-return` dans cette même canarie ;
|
|
- aucune modification des features réellement activées dans les manifests membres ;
|
|
- aucune modification du graphe fonctionnel Transport ;
|
|
- aucune modification du `ROADMAP.md`.
|
|
|
|
## Politique KSP conservée
|
|
|
|
La politique introduite par `v0.2.1-pre.004-fix.001` reste inchangée :
|
|
|
|
- le workspace centralise les versions et les options communes de résolution telles que `default-features` ;
|
|
- chaque crate consommatrice active localement les `features = [...]` dont elle a réellement besoin ;
|
|
- les features requises uniquement par les tests sont placées dans les `dev-dependencies` du consumer concerné.
|
|
|
|
## Validation attendue
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test -p ksp-onchain-transport-lib
|
|
cargo test --workspace
|
|
```
|
|
|
|
Les `cargo tree` n'ont pas besoin d'être rejoués pour ce fix : aucune dépendance, aucun `default-features` et aucune activation locale de feature ne changent.
|