From 1e5526639618aca01cb344715ab1cd81c1dcb164 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 21 May 2018 11:10:28 -0700 Subject: [PATCH] pvUnitTest.h avoid unintended copies template argument matching doesn't always preserve rvalue references, so force use of const ref. --- src/misc/pv/pvUnitTest.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/misc/pv/pvUnitTest.h b/src/misc/pv/pvUnitTest.h index 6eb48e2..1802a98 100644 --- a/src/misc/pv/pvUnitTest.h +++ b/src/misc/pv/pvUnitTest.h @@ -39,7 +39,7 @@ public: explicit testPassx(bool r) :dotest(true), pass(r), alive(true) {} ~testPassx(); template - inline testPassx& operator<<(T v) { + inline testPassx& operator<<(const T& v) { strm< -inline testPassx testEqualx(const char *nLHS, const char *nRHS, LHS l, RHS r) +inline testPassx testEqualx(const char *nLHS, const char *nRHS, const LHS& l, const RHS& r) { return testPassx(l==r)< -inline testPassx testNotEqualx(const char *nLHS, const char *nRHS, LHS l, RHS r) +inline testPassx testNotEqualx(const char *nLHS, const char *nRHS, const LHS& l, const RHS& r) { return testPassx(l!=r)<