Revert "use sizeof(expr) for unevaluated syntax check"

Using sizeof(expr) can trigger a compile-time error,
"lambda expressions are not allowed in an unevaluated context", when passing
expression containing lambda, like a std algorithm. This error is considered
a standard defect, as it is meant to prevent lambdas in decltype
or templates, but not in sizeof.

This reverts commit 227598af47.
This commit is contained in:
Martin Hořeňovský 2017-01-30 11:56:29 +01:00
parent 02a69b449f
commit 15816c5760
2 changed files with 5 additions and 3 deletions

View file

@ -119,8 +119,9 @@ namespace Catch {
std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info );
// This is just here to avoid compiler warnings with macro constants and boolean literals
inline bool alwaysTrue( std::size_t = 0 ) { return true; }
inline bool alwaysFalse( std::size_t = 0 ) { return false; }
inline bool isTrue( bool value ){ return value; }
inline bool alwaysTrue() { return true; }
inline bool alwaysFalse() { return false; }
void throwLogicError( std::string const& message, SourceLineInfo const& locationInfo );