ev-drogon-nodiscard-awaiter-001¶
| 字段 | 值 |
|---|---|
| 项目 | drogonframework/drogon |
| 固定 commit | 3aae769cc405 |
| 路径 | orm_lib/inc/drogon/orm/DbClient.h |
| 行段 | L59-L64 |
| 特性 | 标准属性 |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-26 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
在协程 awaiter 类型上标注 [[nodiscard]]
为什么典型¶
awaiter 对象必须被 co_await 消费;把 [[nodiscard]] 放在类型声明上,丢弃临时对象时编译器会告警。
摘录¶
struct [[nodiscard]] SqlAwaiter : public CallbackAwaiter<Result>
{
explicit SqlAwaiter(internal::SqlBinder &&binder)
: binder_(std::move(binder))
{
}
备注¶
生产路径;协程 awaiter 忘记 co_await 时不应静默丢弃。