Patrón de plantilla curiosamente recurrente (CRTP) con constexpr estático en Clang

Considere mi ejemplo simple a continuación:

#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;
}

En g ++, esto compila bien e imprime5 como se esperaba. En Clang, sin embargo, no se compila con el errorno member named 'x' in 'Derived'. Por lo que puedo decir, este es el código correcto. ¿Hay algo mal con lo que estoy haciendo? Y si no, ¿hay alguna manera de que esto funcione en Clang?

Respuestas a la pregunta(2)

Su respuesta a la pregunta