[Bug c++/66988] New: [concepts] concept with template template parameter satisfied erroneously
eric.niebler at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jul 24 07:36:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66988
Bug ID: 66988
Summary: [concepts] concept with template template parameter
satisfied erroneously
Product: gcc
Version: c++-concepts
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: eric.niebler at gmail dot com
Target Milestone: ---
Pretty sure the static assert in the program below should not fire, but it
does.
#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