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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Reduced:

template<typename T> concept C = requires { typename T::value_type; };

template<typename Container>
    requires C<Container>
class Foo {
public:
    void func();
};

template<typename Container>
void Foo<Container>::func()
{}


EDG compiles it without error too. Clang says:

96830.C:10:1: error: requires clause differs in template redeclaration
template<typename Container>
^
96830.C:4:14: note: previous template declaration is here
    requires C<Container>
             ^
1 error generated.

Reply via email to