https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68170
--- Comment #1 from Mohammad Alaggan <mohammad.nabil.h at gmail dot com> ---
In gcc-6-20151101, the attached example compiles correctly. However, the same
problem manifests in this example:
// { dg-do compile }
// { dg-options "-std=c++1z" }
template<typename T>
concept bool C() { return __is_class(T); }
template< typename T >
class A
{
};
template<C R>
class A<R>
{
template< typename X >
friend class A;
};
template<>
class A< int >
{
template< typename X >
friend class A;
};