Skip to content

Commit 412cad5

Browse files
committed
Avoid needless copy of string in runContext::handleMessage
1 parent bd70515 commit 412cad5

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed

src/catch2/interfaces/catch_interfaces_capture.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ namespace Catch {
7777
virtual void handleMessage
7878
( AssertionInfo const& info,
7979
ResultWas::OfType resultType,
80-
StringRef message,
80+
std::string&& message,
8181
AssertionReaction& reaction ) = 0;
8282
virtual void handleUnexpectedExceptionNotThrown
8383
( AssertionInfo const& info,

src/catch2/internal/catch_assertion_handler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ namespace Catch {
2828
void AssertionHandler::handleExpr( ITransientExpression const& expr ) {
2929
m_resultCapture.handleExpr( m_assertionInfo, expr, m_reaction );
3030
}
31-
void AssertionHandler::handleMessage(ResultWas::OfType resultType, StringRef message) {
32-
m_resultCapture.handleMessage( m_assertionInfo, resultType, message, m_reaction );
31+
void AssertionHandler::handleMessage(ResultWas::OfType resultType, std::string&& message) {
32+
m_resultCapture.handleMessage( m_assertionInfo, resultType, CATCH_MOVE(message), m_reaction );
3333
}
3434

3535
auto AssertionHandler::allowThrows() const -> bool {

src/catch2/internal/catch_assertion_handler.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ namespace Catch {
4747
}
4848
void handleExpr( ITransientExpression const& expr );
4949

50-
void handleMessage(ResultWas::OfType resultType, StringRef message);
50+
void handleMessage(ResultWas::OfType resultType, std::string&& message);
5151

5252
void handleExceptionThrownAsExpected();
5353
void handleUnexpectedExceptionNotThrown();

src/catch2/internal/catch_run_context.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,13 +632,13 @@ namespace Catch {
632632
void RunContext::handleMessage(
633633
AssertionInfo const& info,
634634
ResultWas::OfType resultType,
635-
StringRef message,
635+
std::string&& message,
636636
AssertionReaction& reaction
637637
) {
638638
m_lastAssertionInfo = info;
639639

640640
AssertionResultData data( resultType, LazyExpression( false ) );
641-
data.message = static_cast<std::string>(message);
641+
data.message = CATCH_MOVE( message );
642642
AssertionResult assertionResult{ m_lastAssertionInfo,
643643
CATCH_MOVE( data ) };
644644

src/catch2/internal/catch_run_context.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ namespace Catch {
5555
void handleMessage
5656
( AssertionInfo const& info,
5757
ResultWas::OfType resultType,
58-
StringRef message,
58+
std::string&& message,
5959
AssertionReaction& reaction ) override;
6060
void handleUnexpectedExceptionNotThrown
6161
( AssertionInfo const& info,

0 commit comments

Comments
 (0)