// PR c++/59204 // { dg-do compile { target c++11 } } template< class T > using void_t = void; template< class T, class = void > struct has_type { constexpr static bool value = false; }; template< class T > struct has_type> { constexpr static bool value = true; }; struct yes { using type = int; }; struct no { }; int main( ) { static_assert( has_type::value, "false negative!" ); static_assert( not has_type::value, "false positive!" ); }