1 // REQUIRED_ARGS: -o-
2 
3 /*
4 TEST_OUTPUT:
5 ---
6 fail_compilation/fail14554.d(28): Error: fail14554.issue14554_1.foo called with argument types (int) matches both:
7 fail_compilation/fail14554.d(17):     fail14554.issue14554_1.foo!bool.foo(int j)
8 and:
9 fail_compilation/fail14554.d(18):     fail14554.issue14554_1.foo!bool.foo(int j)
10 fail_compilation/fail14554.d(29): Error: fail14554.issue14554_2.foo called with argument types (int) matches both:
11 fail_compilation/fail14554.d(22):     fail14554.issue14554_2.foo!bool.foo(int j)
12 and:
13 fail_compilation/fail14554.d(23):     fail14554.issue14554_2.foo!bool.foo(int j)
14 ---
15 */
16 struct issue14554_1 {
fooissue14554_117      void foo(T)(int j) {}
fooissue14554_118      static void foo(T)(int j) {}
19 }
20 
21 struct issue14554_2 {
foo(T)22      static void foo(T)(int j) {}
foo(T)23      void foo(T)(int j) {}
24 }
25 
test14554()26 void test14554()
27 {
28      issue14554_1.foo!bool(1);
29      issue14554_2.foo!bool(1);
30 }
31