Open GuillaumeDua opened 5 months ago
https://godbolt.org/z/zzbn64s9e
template <typename T> [[nodiscard]] auto make_aggregate_from_tuple(auto && tuple_like){ static_assert(csl::ag::concepts::aggregate<T>); static_assert(csl::ag::concepts::tuple_like<std::remove_cvref_t<decltype(tuple_like)>>); // better-error: tuple_like contains csl::ag::element_t<indexes, T> return [&tuple_like]<std::size_t ... indexes>(std::index_sequence<indexes...>){ return T { std::get<csl::ag::element_t<indexes, T>>(csl_fwd(tuple_like))... }; }(std::make_index_sequence<csl::ag::size_v<T>>{}); }
https://godbolt.org/z/zzbn64s9e