[clang-tidy] False positive for readability-identifier-naming
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
I'm seeing false positives for `readability-identifier-naming` that I did not see with earlier versions of clang-tidy.
```cpp
// error: invalid case style for identifier 'MyImpl'
// it suggests `my_impl`
class MyClass {
private:
class MyImpl;
std::unique_ptr m_impl;
};
```
```cpp
// error: invalid case style for identifier 'MY_DBG'
// it suggests `my_dbg`
template
[[maybe_unused]] constexpr void MY_DBG([[maybe_unused]] const T& /*msg*/) noexcept {}
```
Clang-tidy version: `lvm-toolchain-noble-22/main amd64 clang-tidy-22 amd64 1:22.1.6~++20260514073821+fc4aad7b5db3-1~exp1~20260514073942.73`
My config:
```clang-tidy
CheckOptions:
# All class members prefixed with m_
- key: readability-identifier-naming.ClassMemberPrefix
value: "m_"
- key: readability-identifier-naming.ConstantMemberPrefix
value: "m_"
- key: readability-identifier-naming.MemberPrefix
value: "m_" # applies to structs
- key: readability-identifier-naming.PrivateMemberPrefix
value: "m_"
- key: readability-identifier-naming.ProtectedMemberPrefix
value: "m_"
- key: readability-identifier-naming.PublicMemberPrefix
value: "m_"
- key: readability-identifier-naming.ClassConstexprPrefix
value: "m_"
- key: readability-identifier-naming.ClassConstantPrefix
value: "m_"
# Protected methods prefixed with "protected_"
- key: readability-identifier-naming.ProtectedMethodPrefix
value: "protected_"
# Modeled off of PEP-8
- key: readability-identifier-naming.DefaultCase
value: "lower_case"
- key: readability-identifier-naming.AbstractClassCase
value: "CamelCase"
- key: readability-identifier-naming.ClassCase
value: "CamelCase"
- key: readability-identifier-naming.ClassConstexprCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ClassConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ClassMemberCase
value: "lower_case"
- key: readability-identifier-naming.ClassMethodCase
value: "lower_case"
- key: readability-identifier-naming.ConceptCase
value: "CamelCase"
- key: readability-identifier-naming.ConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ConstantMemberCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ConstantParameterCase
value: "lower_case"
- key: readability-identifier-naming.ConstantPointerParameterCase
value: "lower_case"
- key: readability-identifier-naming.ConstexprFunctionCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ConstexprMethodCase
value: "UPPER_CASE"
- key: readability-identifier-naming.ConstexprVariableCase
value: "UPPER_CASE"
- key: readability-identifier-naming.EnumCase
value: "CamelCase"
- key: readability-identifier-naming.EnumConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.FunctionCase
value: "lower_case"
- key: readability-identifier-naming.GlobalConstexprVariableCase
value: "UPPER_CASE"
- key: readability-identifier-naming.GlobalConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.GlobalConstantPointerCase
value: "UPPER_CASE"
- key: readability-identifier-naming.GlobalFunctionCase
value: "lower_case"
- key: readability-identifier-naming.GlobalPointerCase
value: "lower_case"
- key: readability-identifier-naming.GlobalVariableCase
value: "lower_case"
- key: readability-identifier-naming.InlineNamespaceCase
value: "lower_case"
- key: readability-identifier-naming.LocalConstexprVariableCase
value: "UPPER_CASE"
- key: readability-identifier-naming.LocalConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.LocalConstantPointerCase
value: "UPPER_CASE"
- key: readability-identifier-naming.LocalPointerCase
value: "lower_case"
- key: readability-identifier-naming.LocalVariableCase
value: "lower_case"
- key: readability-identifier-naming.MacroDefinitionCase
value: "UPPER_CASE"
- key: readability-identifier-naming.MemberCase
value: "lower_case"
- key: readability-identifier-naming.MethodCase
value: "lower_case"
- key: readability-identifier-naming.NamespaceCase
value: "lower_case"
- key: readability-identifier-naming.ParameterCase
value: "lower_case"
- key: readability-identifier-naming.ParameterPackCase
value: "lower_case"
- key: readability-identifier-naming.PointerParameterCase
value: "lower_case"
- key: readability-identifier-naming.PrivateMemberCase
value: "lower_case"
- key: readability-identifier-naming.PrivateMethodCase
value: "lower_case"
- key: readability-identifier-naming.ProtectedMemberCase
value: "lower_case"
- key: readability-identifier-naming.ProtectedMethodCase
value: "lower_case"
- key: readability-identifier-naming.PublicMemberCase
value: "lower_case"
- key: readability-identifier-naming.PublicMethodCase
value: "lower_case"
- key: readability-identifier-naming.ScopedEnumConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.StaticConstexprVariableCase
value: "UPPER_CASE"
- key: readability-identifier-naming.StaticConstantCase
value: "UPPER_CASE"
- key: readability-identifier-naming.StaticVariableCase
value: "lower_case"
- key: readability-identifier-naming.StructCase
value: "CamelCase"
- key: readability-identifier-naming.TemplateParameterCase
value: "UPPER_CASE"
- key: readability-identifier-naming.TemplateTemplateParameterCase
value: "CamelCase"
- key: readability-identifier-naming.TemplateUsingCase
value: "CamelCase"
- key: readability-identifier-naming.TypeAliasCase
value: "CamelCase"
- key: readability-identifier-naming.TypedefCase
value: "CamelCase"
- key: readability-identifier-naming.TypeTemplateParameterCase
value: "CamelCase"
- key: readability-identifier-naming.UnionCase
value: "CamelCase"
- key: readability-identifier-naming.ValueTemplateParameterCase
value: "UPPER_CASE"
- key: readability-identifier-naming.VariableCase
value: "lower_case"
- key: readability-identifier-naming.VirtualMethodCase
value: "lower_case"
```
Contributor guide
Assessment
This issue has not been assessed yet.