Index: clang-tidy/misc/MoveConstructorInitCheck.cpp =================================================================== --- clang-tidy/misc/MoveConstructorInitCheck.cpp +++ clang-tidy/misc/MoveConstructorInitCheck.cpp @@ -109,8 +109,9 @@ if (parmVarDeclRefExprOccurences(*MovableParam, *ConstructorDecl, *Result.Context) > 1) return; - auto DiagOut = - diag(InitArg->getLocStart(), "value argument can be moved to avoid copy"); + auto DiagOut = diag(InitArg->getLocStart(), + "value argument %0 can be moved to avoid copy") + << MovableParam; DiagOut << FixItHint::CreateReplacement( InitArg->getSourceRange(), (Twine("std::move(") + MovableParam->getName() + ")").str()); Index: test/clang-tidy/misc-move-constructor-init.cpp =================================================================== --- test/clang-tidy/misc-move-constructor-init.cpp +++ test/clang-tidy/misc-move-constructor-init.cpp @@ -96,7 +96,7 @@ struct Positive { Positive(Movable M) : M_(M) {} - // CHECK-MESSAGES: [[@LINE-1]]:28: warning: value argument can be moved to avoid copy [misc-move-constructor-init] + // CHECK-MESSAGES: [[@LINE-1]]:28: warning: value argument 'M' can be moved to avoid copy [misc-move-constructor-init] // CHECK-FIXES: Positive(Movable M) : M_(std::move(M)) {} Movable M_; };