0.3.5-alpha.4.fix.1
This commit is contained in:
96
deltas/0.3.5/alpha.4.fix.1.md
Normal file
96
deltas/0.3.5/alpha.4.fix.1.md
Normal file
@@ -0,0 +1,96 @@
|
||||
<!-- file: deltas/0.3.5/alpha.4.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.3.5-alpha.4.fix.1
|
||||
|
||||
## Base requise
|
||||
|
||||
`0.3.5-alpha.4`, candidate dont la gate utilisateur du 2026-09-21 a passé fmt, audits, `cargo check`, les sept tests du contrat realtime commun et l'ensemble des vingt tests WebTransport, mais a échoué sur Clippy strict.
|
||||
|
||||
`alpha.4` n'est pas historisée comme validée : `cargo clippy --workspace --all-targets --all-features -- -D warnings` reste rouge jusqu'à ce correctif.
|
||||
|
||||
## Cause
|
||||
|
||||
Clippy signale une unique violation `clippy::implicit-return` dans l'implémentation de `RealtimeReceiver::receive()` :
|
||||
|
||||
```text
|
||||
error: missing `return` statement
|
||||
--> crates/common/game-realtime-webtransport-lib/src/webtransport.rs:449:38
|
||||
|
||||
return Box::pin(async move { self.receive_frame().await });
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
```
|
||||
|
||||
Le `return` externe est déjà explicite, mais la closure `async move` contient encore une expression terminale implicite, interdite par les règles Clippy strictes du workspace.
|
||||
|
||||
Les mêmes résultats fournis par l'utilisateur confirment parallèlement que :
|
||||
|
||||
- les audits Rust/workspace, Markdown et distribution sont propres ;
|
||||
- `cargo check --workspace` est propre ;
|
||||
- les sept tests de `game-realtime-transport-lib` passent ;
|
||||
- les onze tests unitaires, deux tests d'établissement, un test de round-trip et six tests de robustesse de `game-realtime-webtransport-lib` passent ;
|
||||
- le graphe direct/inverse du backend WebTransport reste celui attendu.
|
||||
|
||||
Le défaut est donc purement un écart de style/lint ; aucun défaut fonctionnel WebTransport n'est observé dans cette gate.
|
||||
|
||||
## Correction
|
||||
|
||||
La version technique passe à :
|
||||
|
||||
```text
|
||||
0.3.5-alpha.4.fix.1
|
||||
```
|
||||
|
||||
La future retournée par `RealtimeReceiver::receive()` explicite aussi son `return` interne :
|
||||
|
||||
```rust
|
||||
return Box::pin(async move { return self.receive_frame().await });
|
||||
```
|
||||
|
||||
Aucun comportement runtime, état du parseur incrémental, framing, deadline, mapping d'erreur, lifecycle, API publique ou dépendance n'est modifié.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
README.md
|
||||
crates/common/game-realtime-webtransport-lib/src/webtransport.rs
|
||||
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
|
||||
```
|
||||
|
||||
Nouveau fichier :
|
||||
|
||||
```text
|
||||
deltas/0.3.5/alpha.4.fix.1.md
|
||||
```
|
||||
|
||||
Aucun fichier `history/0.3.5/alpha.4.md` n'est créé avant une gate entièrement verte du correctif.
|
||||
|
||||
## Plan
|
||||
|
||||
Le forecast fonctionnel ne change pas. Après validation de ce fix, `0.3.5-alpha.5` reste strictement la tranche du smoke WebTransport natif hors harness.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
Le correctif touche du code Rust et la version workspace ; la gate repart depuis le début :
|
||||
|
||||
```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-lib --all-targets --all-features
|
||||
cargo test -p game-realtime-webtransport-lib --all-targets --all-features
|
||||
```
|
||||
|
||||
Aucun `cargo tree` supplémentaire n'est requis : ce fix ne change ni dépendance, ni feature, ni frontière de crate, et le tree de `alpha.4` a déjà été produit.
|
||||
|
||||
## Après validation
|
||||
|
||||
Créer `history/0.3.5/alpha.4.fix.1.md` à partir des résultats réellement fournis, puis ouvrir directement `0.3.5-alpha.5`.
|
||||
Reference in New Issue
Block a user