Учитывая следующий код,
template <class> using void_t = void;
template <class C, class = void> struct X { enum { v = 0 }; };
template <class C> struct X<C, void_t<typename C::T> > { enum { v = 1 }; };
struct T { };
int main() { return X<T>::v; }
каково должно быть возвращение? GCC и MSVC говорят 1, говорит Кланг 0.