Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d694a678 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes I25df8eec,I493ff192

* changes:
  result.h - fix bugprone-suspicious-semicolon warning
  expected.h - fix bugprone-forwarding-reference-overload warnings
parents e0edc7ec 57d2fa4e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ class _NODISCARD_ expected {
                !std::is_same_v<unexpected<E>, std::remove_cv_t<std::remove_reference_t<U>>> &&
                std::is_convertible_v<U&&, T> /* non-explicit */
                )>
  // NOLINTNEXTLINE(google-explicit-constructor)
  // NOLINTNEXTLINE(google-explicit-constructor,bugprone-forwarding-reference-overload)
  constexpr expected(U&& v) : var_(std::in_place_index<0>, std::forward<U>(v)) {}

  template <class U = T _ENABLE_IF(
@@ -192,6 +192,7 @@ class _NODISCARD_ expected {
                !std::is_same_v<unexpected<E>, std::remove_cv_t<std::remove_reference_t<U>>> &&
                !std::is_convertible_v<U&&, T> /* explicit */
                )>
  // NOLINTNEXTLINE(bugprone-forwarding-reference-overload)
  constexpr explicit expected(U&& v) : var_(std::in_place_index<0>, T(std::forward<U>(v))) {}

  template<class G = E _ENABLE_IF(
@@ -607,7 +608,7 @@ class unexpected {
                std::is_constructible_v<E, Err> &&
                !std::is_same_v<std::remove_cv_t<std::remove_reference_t<E>>, std::in_place_t> &&
                !std::is_same_v<std::remove_cv_t<std::remove_reference_t<E>>, unexpected>)>
  // NOLINTNEXTLINE(google-explicit-constructor)
  // NOLINTNEXTLINE(google-explicit-constructor,bugprone-forwarding-reference-overload)
  constexpr unexpected(Err&& e) : val_(std::forward<Err>(e)) {}

  template<class U, class... Args _ENABLE_IF(
+1 −0
Original line number Diff line number Diff line
@@ -130,6 +130,7 @@ class Error {

  template <typename T>
  Error& operator<<(T&& t) {
    // NOLINTNEXTLINE(bugprone-suspicious-semicolon)
    if constexpr (std::is_same_v<std::remove_cv_t<std::remove_reference_t<T>>, ResultError>) {
      errno_ = t.code();
      return (*this) << t.message();