enlace estructurado con [[maybe_unused]]

Los lenguajes funcionales con coincidencia de patrones (¿a veces?) Tienen la posibilidad de ignorar algunos valores enlazados, pero con enlaces estructurados de C ++ 17 parece que no hay forma de hacerlo (std :: ignorar con enlaces estructurados?) El consejo es usar un nombre ficticio, pero luego recibiremos advertencias sobre las variables no utilizadas.

Con los últimos jefes de clang y gcc, esto hace lo esperado, lo cual es agradable y útil,

[[maybe_unused]] auto x =4 ; // fine, no warning
[[maybe_unused]] auto [a,dummyb,dummyc] = std::tuple<int,int,float>(1,1,1.0f); 

pero también hubiera esperado que esto funcionara:

auto [g,[[maybe_unused]]dummyh,[[maybe_unused]]dymmyi] =
      std::tuple<int,int,float>(1,1,1.0f);

Hay una razón específicaatributos no se puede usar aquí? (tanto en el estándar como técnicamente). Ni gcc ni clang aceptan esto.

Editar, recogiendo el estado de soporte: (gracias aexplorador godbolt / compilador) Funciona como se esperaba en (podría ser anterior también):

Troncal gcc 8.0 (g ++ 8.0.0 20171015 experimental)clang 4.0.0icc 18 (no probado, de acuerdo conespecificaciones)

MSVC 17.3.5 (y la GUI de Visual Studio),permite el atributo pero no funciona con enlaces estructurados.informe de error

Respuestas a la pregunta(2)

Su respuesta a la pregunta