C++: Fix FP on unevaluated code

This fixes false positives on tenzir/vast.
This commit is contained in:
Jonas Jensen
2019-11-20 10:42:36 +01:00
parent a1af96e521
commit 4dafa16572
3 changed files with 7 additions and 5 deletions

View File

@@ -6,4 +6,3 @@
| test.cpp:39:23:39:28 | ... == ... | This '==' operator has no effect. The assignment ('=') operator was probably intended. |
| test.cpp:42:23:42:28 | ... == ... | This '==' operator has no effect. The assignment ('=') operator was probably intended. |
| test.cpp:51:13:51:13 | call to operator== | This '==' operator has no effect. The assignment ('=') operator was probably intended. |
| test.cpp:61:44:61:51 | ... == ... | This '==' operator has no effect. The assignment ('=') operator was probably intended. |

View File

@@ -58,6 +58,6 @@ void f(void) {
// This pattern is used to emulate C++20 concepts in a way that's very light on
// template syntax.
template<typename T1, typename T2>
auto sfinaeTrick(T1 x1, T2 x2) -> decltype(x1 == x2, bool()) { // GOOD [FALSE POSITIVE]
auto sfinaeTrick(T1 x1, T2 x2) -> decltype(x1 == x2, bool()) { // GOOD
return x1 == x2;
}