3.4 KiB
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() :
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 --workspaceest propre ;- les sept tests de
game-realtime-transport-libpassent ; - les onze tests unitaires, deux tests d'établissement, un test de round-trip et six tests de robustesse de
game-realtime-webtransport-libpassent ; - 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 à :
0.3.5-alpha.4.fix.1
La future retournée par RealtimeReceiver::receive() explicite aussi son return interne :
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
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 :
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 :
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.