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()));
}
}