O decltype (auto) para uma ligação estruturada deve ser uma referência?
Considere um exemplo:
#include <iostream>
#include <type_traits>
#include <tuple>
int main() {
auto tup = std::make_tuple(1, 2);
auto [ a, b ] = tup;
decltype(auto) e = a;
std::cout << std::boolalpha << std::is_reference_v<decltype(e)> << std::endl;
}
clang (resultado:false
) egcc (resultado:true
) discordam neste caso simples. Tendo em mente, por exemploestas perguntas e respostas deve oe
ser uma referência ou é um bug do gcc? Ou talvez o código esteja mal formado?