g ++ и clang ++ различное поведение с интегральным параметром шаблона

У меня есть следующий код C ++ 11.

#include 

using IntType = unsigned long long;

template  struct Int {};

template 
struct is_int : std::false_type {};

template 
struct is_int : std::true_type {};

int main()
{
    static_assert (is_int::value, "");
    return 0;
}

Clang ++ 3.3 компилирует код, но на g ++ 4.8.2 статическое утверждение терпит неудачу

$ g++ -std=c++11 main.cpp 
main.cpp: In function ‘int main()’:
main.cpp:15:5: error: static assertion failed: 
     static_assert (is_int::value, "");
     ^
$ 

Проблема вызвана различными интегральными параметрами шаблона. Какой компилятор прав в этом случае?

Ответы на вопрос(2)

Ваш ответ на вопрос