0.3.5-alpha.8.fix.1
This commit is contained in:
123
deltas/0.3.5/alpha.8.fix.1.md
Normal file
123
deltas/0.3.5/alpha.8.fix.1.md
Normal file
@@ -0,0 +1,123 @@
|
||||
<!-- file: deltas/0.3.5/alpha.8.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.3.5-alpha.8.fix.1
|
||||
|
||||
## Base requise
|
||||
|
||||
`0.3.5-alpha.8`.
|
||||
|
||||
La gate utilisateur du 2026-09-22 valide :
|
||||
|
||||
- fmt et les trois audits ;
|
||||
- `cargo check --workspace` ;
|
||||
- les suites `game-realtime-transport-lib`, `game-realtime-websocket-lib` et `game-realtime-webtransport-lib` ;
|
||||
- les deux tests du launcher fallback ;
|
||||
- le smoke WebSocket ;
|
||||
- le smoke WebTransport ;
|
||||
- le smoke de composition fallback, terminé par `game-realtime-transport-fallback-smoke: PASS` ;
|
||||
- les graphes de dépendances attendus.
|
||||
|
||||
La gate complète échoue uniquement sur Clippy strict dans `game-realtime-transport-fallback-smoke` :
|
||||
|
||||
```text
|
||||
unused import: game_realtime_transport_lib::RealtimeConnection
|
||||
missing return statement
|
||||
```
|
||||
|
||||
Les erreurs `implicit-return` portent uniquement sur des closures qui retournent une future `async`.
|
||||
|
||||
`alpha.8` n'est donc pas historisée comme validée avant ce correctif.
|
||||
|
||||
## Cause
|
||||
|
||||
Le launcher importe explicitement `RealtimeConnection` alors que ses bounds utilisent le chemin qualifié complet : l'import n'est jamais consommé.
|
||||
|
||||
En parallèle, la règle workspace `clippy::implicit-return` s'applique aussi à la valeur de retour des closures. Les formes :
|
||||
|
||||
```rust
|
||||
|| async { ... }
|
||||
```
|
||||
|
||||
doivent donc être écrites :
|
||||
|
||||
```rust
|
||||
|| return async { ... }
|
||||
```
|
||||
|
||||
même lorsque le corps `async` contient déjà ses propres `return` explicites.
|
||||
|
||||
## Correction
|
||||
|
||||
La version technique passe à :
|
||||
|
||||
```text
|
||||
0.3.5-alpha.8.fix.1
|
||||
```
|
||||
|
||||
Le correctif :
|
||||
|
||||
- supprime l'import inutilisé `RealtimeConnection` de `src/main.rs` ;
|
||||
- rend explicite le `return` de toutes les closures async du sélecteur dans `src/main.rs` ;
|
||||
- applique la même forme aux closures async des tests unitaires.
|
||||
|
||||
Aucun comportement runtime, backend, contrat, mapping d'erreur, endpoint, framing, TLS/pinning ou dépendance n'est modifié.
|
||||
|
||||
La politique de fallback reste strictement :
|
||||
|
||||
```text
|
||||
Timeout -> fallback autorisé
|
||||
Io -> fallback autorisé
|
||||
Connect -> fallback interdit
|
||||
```
|
||||
|
||||
et toutes les autres catégories restent non-fallback.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
README.md
|
||||
crates/apps/game-realtime-transport-fallback-smoke/src/main.rs
|
||||
crates/apps/game-realtime-transport-fallback-smoke/unit_tests/fallback.rs
|
||||
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
|
||||
```
|
||||
|
||||
Nouveau fichier :
|
||||
|
||||
```text
|
||||
deltas/0.3.5/alpha.8.fix.1.md
|
||||
```
|
||||
|
||||
Aucun fichier `history/0.3.5/alpha.8.md` n'est créé avant une gate entièrement verte.
|
||||
|
||||
## Plan
|
||||
|
||||
Le forecast fonctionnel ne change pas. Après validation de ce fix, `0.3.5-alpha.9` reste la tranche suivante pour le POC datagram isolé si elle demeure justifiée par l'API/backend réellement disponibles.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo fmt --all -- --check
|
||||
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android Web deltas history
|
||||
python3 scripts/audit_distribution_layout.py
|
||||
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
|
||||
cargo test -p game-realtime-transport-fallback-smoke --all-targets --all-features
|
||||
cargo run -p game-realtime-transport-fallback-smoke
|
||||
```
|
||||
|
||||
Le smoke doit terminer par :
|
||||
|
||||
```text
|
||||
game-realtime-transport-fallback-smoke: PASS
|
||||
```
|
||||
|
||||
## Après validation
|
||||
|
||||
Créer `history/0.3.5/alpha.8.fix.1.md` à partir des résultats réellement fournis, puis ouvrir directement `0.3.5-alpha.9` si le POC datagram reste pertinent.
|
||||
Reference in New Issue
Block a user