clang-tidy: Enable performance-unnecessary-value-param check
This check flags value parameter declarations of expensive to copy
types that are copied for each invocation but it would suffice to
pass them by const reference.
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: Ia287488c3bbe1a64e05760cbece119456d8f82f3
diff --git a/.clang-tidy b/.clang-tidy
index 6569cc4..4180cc8 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -224,7 +224,8 @@
performance-noexcept-move-constructor,
performance-trivially-destructible,
performance-type-promotion-in-math-fn,
-performance-unnecessary-copy-initialization'
+performance-unnecessary-copy-initialization,
+performance-unnecessary-value-param'
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
diff --git a/src/version.hpp b/src/version.hpp
index 144c96e..2b0af13 100644
--- a/src/version.hpp
+++ b/src/version.hpp
@@ -77,7 +77,7 @@
VersionPurpose versionPurpose, eraseFunc callback) :
VersionInherit(bus, (objPath).c_str(),
VersionInherit::action::defer_emit),
- eraseCallback(callback), bus(bus), objPath(objPath),
+ eraseCallback(std::move(callback)), bus(bus), objPath(objPath),
versionId(versionId), versionStr(versionString)
{
// Set properties.