// P0846R0 // { dg-do compile } // { dg-options "-std=c++2a" } int h; void g(); void e(); void e(int); void e(int, int); namespace N { struct A { }; template int f(T); template int g(T); template int h(T); template int e(T); } int v = e(N::A()); int x = f(N::A()); int y = g(N::A()); int z = h(N::A()); // { dg-error "expected" } template void fn () { int v = e(N::A()); int x = f(N::A()); int y = g(N::A()); int z = h(N::A()); // { dg-error "expected" } } void test () { fn(); }