Почему std :: tuple распадается на ссылки rvalue?Почему std :: tuple разлагаются на ссылки rvalue
#include <tuple>
template <typename, typename> struct same_type;
template <typename T> struct same_type<T, T> {};
void foo() {
std::tuple tuple(1, 'a', 2.3, true);
auto[i, c, d, b] = tuple;
same_type<decltype(i), int &&>{};
same_type<decltype(c), char &&>{};
same_type<decltype(d), double &&>{};
same_type<decltype(b), bool &&>{};
}
Это компилируется без ошибок, используя gcc trunk. Я бы предпочел, чтобы простые типы, например.
same_type<decltype(i), int>{};
Спасибо. Я снова открыл https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78358 – octoploid