ev-mold-requires-expression-concepts-002¶
| 字段 | 值 |
|---|---|
| 项目 | rui314/mold |
| 固定 commit | 27162691b71a |
| 路径 | src/elf.h |
| 行段 | L1796-L1798 |
| 特性 | requires 表达式 |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-26 |
| 测试代码 | 否 |
| 发现方式 | regex |
用法¶
用 requires 表达式定义检测静态成员是否存在的 concept
为什么典型¶
不同目标架构提供的重定位或节属性不同;把成员存在性封装成 concept,后续模板约束可以直接复用。
摘录¶
template <typename E> concept supports_ifunc = requires { E::R_IRELATIVE; };
template <typename E> concept supports_tlsdesc = requires { E::R_TLSDESC; };
template <typename E> concept needs_thunk = requires { E::thunk_size; };
备注¶
生产路径;概念定义中的简单 requirements,用于按架构选择实现。