// RUN: %clang_cc1 -std=c++20 -verify %s template concept C = true; class non_temp { template T> friend void f(); non_temp(); }; template T> void f() { auto v = non_temp(); } template class temp { template T> friend void g(); // expected-error {{friend declaration with a constraint that depends on an enclosing template parameter must be a definition}} temp(); }; template> T> void g() { auto v = temp(); } void h() { f(); g(); }