跳转至

ev-fmt-modules-macro-isolation-003

字段 值
项目 fmtlib/fmt
固定 commit 1be298e1bd68
路径 test/module-test.cc
行段 L46-L51
特性 模块(modules)
许可证 MIT
代码来源 项目源码
级别 manual
审核 zyuhao7 @ 2026-10-26
测试代码 是
发现方式 manual

用法

测试确认模块导入不会泄漏实现头文件的宏

为什么典型

宏不属于模块接口,import 不会把它们带进客户端;这条测试把宏隔离从标准条款变成可执行检查。

摘录

// Macros must not be imported from a named module [cpp.import]/5.1.
TEST(module_test, macros) {
#if defined(FMT_BASE_H_) || defined(FMT_FORMAT_H_)
  FAIL() << "Macros are leaking from a named module";
#endif
}

备注

测试路径;验证命名模块不会把传统头文件宏导出给导入方。

查看固定 commit 源码 · 返回证据索引