1 // P0846R0
2 // { dg-do run }
3 // { dg-options "-std=c++2a" }
4 
g()5 int g() { return 11; }
e()6 int e() { return 12; }
e(int)7 int e(int) { return 13; }
e(int,int)8 int e(int, int) { return 14; }
9 
10 namespace N {
11   struct A { };
f(T)12   template <class T> int f(T) { return 1; }
g(T)13   template <class T> int g(T) { return 2; }
e(T)14   template <class T> int e(T) { return 3; }
15 }
16 
17 int
main()18 main ()
19 {
20   int v = e(1);
21   if (v != 13)
22     __builtin_abort ();
23   int x = e(1, 2);
24   if (x != 14)
25     __builtin_abort ();
26   int y = g();
27   if (y != 11)
28     __builtin_abort ();
29   int z = e();
30   if (z != 12)
31     __builtin_abort ();
32 }
33