constexpr explicit expected()

in src/iceberg/expected.h [1098:1107]


  constexpr explicit expected(expected<U, G>&& rhs)  //
      noexcept(std::is_nothrow_constructible_v<T, U> &&
               std::is_nothrow_constructible_v<E, G>)
      : ctor_base(expected_detail::default_constructor_tag{}) {
    if (rhs.has_value()) {
      this->construct(std::move(*rhs));
    } else {
      this->construct_error(std::move(rhs.error()));
    }
  }