[Bug c++/66988] [concepts] concept with template template parameter satisfied erroneously

eric.niebler at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jul 24 17:01:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66988

--- Comment #2 from Eric Niebler <eric.niebler at gmail dot com> ---
I thought that, too. But this program has the same problem:

#include <type_traits>

template <template <class> class T, class U>
concept bool _Valid = requires { typename T<U>; };

template <class T>
using __t = typename T::type;

template <class T>
struct __has_type : std::false_type { };

template <class T>
  requires _Valid<__t, T>
struct __has_type<T> : std::true_type { };

static_assert(!__has_type<int>(), "");



More information about the Gcc-bugs mailing list