¿Por qué las declaraciones de descomposición no pueden ser constexpr?

Considere el siguiente fragmento para probar las próximas declaraciones de descomposición de características de C ++ 17 (anteriormente conocidas como enlaces estructurados)

#include <cassert>
#include <utility>

constexpr auto divmod(int n, int d)
{
    return std::make_pair(n / d, n % d); // in g++7, also just std::pair{n/d, n%d}
}

int main()
{
    constexpr auto [q, r] = divmod(10, 3);
    static_assert(q == 3 && r ==1);
}

Esto falla tanto en g ++ 7-SVN como en clang-4.0-SVN con el mensaje:

la declaración de descomposición no puede declararse 'constexpr'

Soltando elconstexpr definición y cambio a un regularassert() Funciona en ambos compiladores.

Ninguno de los documentos del WG21 sobre esta característica menciona elconstexpr palabra clave, ni en lo positivo ni en lo negativo.

Pregunta: por qué no se permite que las declaraciones de descomposición seanconstexpr? (aparte de "porque la Norma lo dice").

Respuestas a la pregunta(1)

Su respuesta a la pregunta