// { dg-do compile { target c++17 } } // { dg-options "-fconcepts" } template concept C = __is_class(T); struct S { } s; template requires C void f(T x) { } // Calls are valid when arguments are dependent, template void g(T x) { f(x); } // Calls are checked when arguments are non-dependent. template void h(T x) { f(s); } int main() { f(s); g(s); }