-
Notifications
You must be signed in to change notification settings - Fork 17
Closed
Description
old: -> S
template <::std::size_t J, typename S>
static auto element_get(::beman::execution26::detail::product_type_element<J, S>&& self) noexcept -> S {
return ::std::move(self.value);
}new -> S &&
template <::std::size_t J, typename S>
static auto element_get(::beman::execution26::detail::product_type_element<J, S>&& self) noexcept -> S && {
return ::std::move(self.value);
}because
std::tuple<int, double, std::string> t = {42, 3.14,
std::string("Hello, World!")};
static_assert(std::is_same_v<decltype(std::get<1>(std::move(t))), double &&>,
"get<1> should return double&&"); auto t = product_type{ //old version
42, 3.14, std::string("Hello, World!")};
static_assert(not std::is_same_v<decltype(std::move(t).get<1>()), double &&>,
"get<1> should return double&&");// where inconsistentMetadata
Metadata
Assignees
Labels
No labels