#52671 [Rust Frontend] Wait for all utility calls to finish
原始 PR · 作者 connorcarpenter15 · 合并时间 2026-08-19 02:23
多引擎 utility 调用等待全部收敛后再报错,支持安全补偿
值得精读。三个看点:(1) `join_all` 与 `try_join_all` 在"补偿安全"场景下的语义差异,是并发扇出错误模型的重要一课;(2) 用局部 RAII 守卫 `UtilityCallGuard` 统一异步取消、准备失败、发送失败的清理路径,是 Rust 异步代码清理资源的通用范式;(3) BugenZhao 的简化 commit 示范了如何把多分支错误处理收敛成单一 `Drop` 路径,并顺带修复普通 `call` 的取消泄漏。若后续要扩展 utility 协议或新增多引擎操作,建议直接复用这一模式。
参与讨论