[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-initialization: Enhance the check for the scenario with MemberExpr initialization. (PR #151936)

Victor Chernyakin via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 5 21:00:51 PDT 2025


================
@@ -369,6 +387,18 @@ void UnnecessaryCopyInitialization::diagnoseCopyFromLocalVar(
   maybeIssueFixes(Ctx, Diagnostic);
 }
 
+void UnnecessaryCopyInitialization::diagnoseCopyFromConstLocalVarMember(
+    const CheckContext &Ctx, const VarDecl &OldVar) {
+  auto Diagnostic =
+      diag(Ctx.Var.getLocation(),
+           "local copy %1 of the field of the variable %0 is never "
----------------
localspook wrote:

I think the error message would be more understandable if it mentioned the name of the field. Something like:
```txt
local copy 'foo' of the field 'bar' of the variable 'baz' is never modified [...]
                              ^^^^^
```
or:
```txt
local copy 'foo' of the subobject 'baz.bar' is never modified [...]
                        ^^^^^^^^^^^^^^^^^^^
```

https://github.com/llvm/llvm-project/pull/151936


More information about the cfe-commits mailing list