1 // P0846R0
2 // { dg-do compile }
3 // { dg-options "-std=c++2a" }
4 
5 struct undeclared<int> { }; // { dg-error "not a class template" }
6 
7 int
8 main ()
9 {
10   int foo ();
11   int foo (int);
12   int foo (int, int);
13   int a, b = 10;
14   a = foo<; // { dg-error "" }
15   a = foo < b; // { dg-error "" }
16   a = foo<b>; // { dg-error "" }
17   a = foo<b>(; // { dg-error "expected" }
18   a = foo<b>(1; // { dg-error "expected" }
19   a = foo<b>(1); // { dg-error "no matching" }
20 }
21