From ffaa7d6751f49bc6618fa49f028edf5d87c52e37 Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Fri, 24 Apr 2020 00:01:02 +0000 Subject: [PATCH] expected.h - fix bugprone-branch-clone warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: system/core/base/include/android-base/expected.h:606:39: warning: repeated branch in conditional chain [bugprone-branch-clone] if (x.has_value() != y.has_value()) { ^ system/core/base/include/android-base/expected.h:608:4: note: end of the original } else if (!x.has_value()) { ^ system/core/base/include/android-base/expected.h:610:10: note: clone 1 starts here } else { ^ Test: builds Bug: 153035880 Signed-off-by: Maciej Żenczykowski Change-Id: Ie67a8bb1bf622319adea15466c42077e0e9b1a18 Merged-In: Ie67a8bb1bf622319adea15466c42077e0e9b1a18 --- base/include/android-base/expected.h | 40 +++++++++------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/base/include/android-base/expected.h b/base/include/android-base/expected.h index 9603bb1cf..38f0d6f2b 100644 --- a/base/include/android-base/expected.h +++ b/base/include/android-base/expected.h @@ -387,13 +387,9 @@ class _NODISCARD_ expected { template constexpr bool operator==(const expected& x, const expected& y) { - if (x.has_value() != y.has_value()) { - return false; - } else if (!x.has_value()) { - return x.error() == y.error(); - } else { - return *x == *y; - } + if (x.has_value() != y.has_value()) return false; + if (!x.has_value()) return x.error() == y.error(); + return *x == *y; } template @@ -581,35 +577,23 @@ class _NODISCARD_ expected { template constexpr bool operator==(const expected& x, const expected& y) { - if (x.has_value() != y.has_value()) { - return false; - } else if (!x.has_value()) { - return x.error() == y.error(); - } else { - return true; - } + if (x.has_value() != y.has_value()) return false; + if (!x.has_value()) return x.error() == y.error(); + return true; } template constexpr bool operator==(const expected& x, const expected& y) { - if (x.has_value() != y.has_value()) { - return false; - } else if (!x.has_value()) { - return x.error() == y.error(); - } else { - return false; - } + if (x.has_value() != y.has_value()) return false; + if (!x.has_value()) return x.error() == y.error(); + return false; } template constexpr bool operator==(const expected& x, const expected& y) { - if (x.has_value() != y.has_value()) { - return false; - } else if (!x.has_value()) { - return x.error() == y.error(); - } else { - return false; - } + if (x.has_value() != y.has_value()) return false; + if (!x.has_value()) return x.error() == y.error(); + return false; } template