Padrão de modelo curiosamente recorrente (CRTP) com constexpr estático em Clang

Considere o meu exemplo simples abaixo:

#include <iostream>

template <typename T>
class Base
{
public:
    static constexpr int y = T::x;
};

class Derived : public Base<Derived>
{
public:
    static constexpr int x = 5;
};


int main()
{
    std::cout << Derived::y << std::endl;
}

Em g ++, isso compila bem e imprime5 como esperado. No Clang, no entanto, ele falha ao compilar com o errono member named 'x' in 'Derived'. Tanto quanto eu posso dizer, este é o código correto. Existe algo errado com o que estou fazendo e, se não, existe uma maneira de ter esse trabalho em Clang?

questionAnswers(2)

yourAnswerToTheQuestion