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