1 // P0846R0 2 // { dg-do run } 3 // { dg-options "-std=c++2a" } 4 g()5int g() { return 11; } e()6int e() { return 12; } e(int)7int e(int) { return 13; } e(int,int)8int 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()18main () 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