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;
};

Reply via email to