abseil / abseil/abseil-cpp

ABSL_FLAG macro triggers abseil-no-namespace check

未关闭
#1,190 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
C++
星标
18.1k
派生
3.2k
平均合并
20 小时 36 分钟
30 天内合并 PR
1

描述

**Describe the bug**

ABSL_FLAG triggers clang-tidy abseil-no-namespace check

**Steps to reproduce the bug**

$ cat main.cc
```
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"

ABSL_FLAG(std::string, input, "input", "input file path");

int main(int argc, char* argv[]) {
absl::ParseCommandLine(argc, argv);

return EXIT_SUCCESS;
}
```

clang-tidy --checks=abseil-* main.cc

```
main.cc:7:1: error: namespace 'absl' is reserved for implementation of the Abseil library and should not be opened in user code [abseil-no-namespace,-warnings-as-errors]
ABSL_FLAG(std::string, input, "input", "input file path");
^
external/com_google_absl/absl/flags/flag.h:166:3: note: expanded from macro 'ABSL_FLAG'
ABSL_FLAG_IMPL(Type, name, default_value, help)
^
external/com_google_absl/absl/flags/flag.h:269:13: note: expanded from macro 'ABSL_FLAG_IMPL'
namespace absl /* block flags in namespaces */ {} \
^
```

**What version of Abseil are you using?**

f3489c9ca64e0fad2a263e8560ee96718ac8b21b

**What operating system and version are you using**

Ubuntu 18.04

**What compiler and version are you using?**

clang-tidy-13

**What build system are you using?**

bazel 4.2.2

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。