http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51558
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-15 02:01:24 UTC --- Would the condition of the static_assert need to depend on the template parameter somehow, to avoid the case where no valid specialization can ever be generated? (Which would be ill-formed, no diagnostic required, by [temp.res] p8.) e.g. static_assert( integral_constant<int, sizeof(_Tp)>::value, "std::hash must be specialized for this type" )