60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
<!-- file: deltas/0.3.15/pre.008-fix.002.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.15-pre.008-fix.002`
|
|
|
|
## Objet
|
|
|
|
Corriger les trois comparaisons de token restantes révélées par le second gate opérateur de `pre.008`, sans modifier le périmètre fonctionnel du runtime mono-route.
|
|
|
|
## Défaut observé
|
|
|
|
Après `pre.008-fix.001`, `RouteRuntimeInner` est bien présent et la future Tauri ne conserve plus de `MutexGuard` à travers un `await`. Le compilateur atteint alors les trois gardes de cohérence du slot et signale que leurs bindings sont des références :
|
|
|
|
```text
|
|
&u64 == u64
|
|
```
|
|
|
|
Les patterns concernés inspectent `&inner.slot`. Les bindings `token` / `current` sont donc des `&u64` et doivent être déréférencés pour être comparés aux tokens `u64` détenus par la réservation ou passés aux helpers.
|
|
|
|
## Correction
|
|
|
|
Les trois gardes restaurent le déréférencement exact :
|
|
|
|
```text
|
|
*token == reservation.token
|
|
*current == token
|
|
*current == token
|
|
```
|
|
|
|
Cela couvre respectivement :
|
|
|
|
- l'activation d'une réservation `Starting` ;
|
|
- le rollback d'une réservation `Starting` ;
|
|
- la libération d'un slot `Active` arrivé au terminal.
|
|
|
|
## Périmètre inchangé
|
|
|
|
Le fix ne modifie aucun contrat de `pre.008` :
|
|
|
|
- runtime strictement mono-route ;
|
|
- même revalidation Start issue de `pre.007` ;
|
|
- même ouverture, health et fermeture Store via `ksp-store-lib` ;
|
|
- même lancement `RawTransactionIngestWorker::start_with_runtime_resources` ;
|
|
- même Stop coopératif ;
|
|
- aucun multi-route de `pre.009` ;
|
|
- aucun monitoring continu de `pre.010`.
|
|
|
|
Le delta publié `pre.008-fix.001` reste immuable ; la présente correction supersède uniquement son interprétation erronée des trois bindings de pattern.
|
|
|
|
## Version
|
|
|
|
```text
|
|
header racine : 610 -> 611
|
|
workspace : 0.3.15-pre.8.fix.1 -> 0.3.15-pre.8.fix.2
|
|
```
|
|
|
|
## Gate opérateur
|
|
|
|
Le gate complet de `pre.008` doit être rejoué après application de ce fix.
|