mirror of
https://github.com/catchorg/Catch2.git
synced 2025-09-19 03:15:40 +02:00
Make StringRef's operator std::string explicit
This way it is explicit when there is a `StringRef` -> `std::string` conversion and makes it easier to look for allocations that could be avoided. Doing this has already removed one allocation per registered test case, as there was a completely pointless `StringRef` -> `std::string` conversion when parsing tags of a test case.
This commit is contained in:
@@ -56,13 +56,13 @@ namespace Catch {
|
||||
if( isFalseTest( m_info.resultDisposition ) )
|
||||
return "!(" + m_info.capturedExpression + ")";
|
||||
else
|
||||
return m_info.capturedExpression;
|
||||
return static_cast<std::string>(m_info.capturedExpression);
|
||||
}
|
||||
|
||||
std::string AssertionResult::getExpressionInMacro() const {
|
||||
std::string expr;
|
||||
if( m_info.macroName[0] == 0 )
|
||||
expr = m_info.capturedExpression;
|
||||
expr = static_cast<std::string>(m_info.capturedExpression);
|
||||
else {
|
||||
expr.reserve( m_info.macroName.size() + m_info.capturedExpression.size() + 4 );
|
||||
expr += m_info.macroName;
|
||||
|
Reference in New Issue
Block a user