ev-abseil-requires-expression-mangling-003¶
| 字段 | 值 |
|---|---|
| 项目 | abseil/abseil-cpp |
| 固定 commit | 2065f4ded055 |
| 路径 | absl/debugging/internal/demangle_test.cc |
| 行段 | L295-L300 |
| 特性 | requires 表达式 |
| 许可证 | Apache-2.0 |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-26 |
| 测试代码 | 是 |
| 发现方式 | manual |
用法¶
解构器测试覆盖 lambda 签名中 requires 表达式的修饰名
为什么典型¶
requires 表达式会进入函数签名的修饰规则;解构器必须能处理嵌套 requires 与概念检查的符号。
摘录¶
TEST(Demangle, LambdaRequiresRequiresExpressionContainingTrue) {
char tmp[100];
// auto $_0::operator()<int>(int) const requires requires { true; }
ASSERT_TRUE(Demangle("_ZNK3$_0clIiEEDaT_QrqXLb1EE", tmp, sizeof(tmp)));
EXPECT_STREQ(tmp, "$_0::operator()<>()");
备注¶
测试路径;符号来自编译器实际生成的修饰名,验证解构器对 requires 表达式的支持。