// REQUIRED_ARGS: -o-

/*
TEST_OUTPUT:
---
fail_compilation/fail14554.d(28): Error: fail14554.issue14554_1.foo called with argument types (int) matches both:
fail_compilation/fail14554.d(17):     fail14554.issue14554_1.foo!bool.foo(int j)
and:
fail_compilation/fail14554.d(18):     fail14554.issue14554_1.foo!bool.foo(int j)
fail_compilation/fail14554.d(29): Error: fail14554.issue14554_2.foo called with argument types (int) matches both:
fail_compilation/fail14554.d(22):     fail14554.issue14554_2.foo!bool.foo(int j)
and:
fail_compilation/fail14554.d(23):     fail14554.issue14554_2.foo!bool.foo(int j)
---
*/
struct issue14554_1 {
     void foo(T)(int j) {}
     static void foo(T)(int j) {}
}

struct issue14554_2 {
     static void foo(T)(int j) {}
     void foo(T)(int j) {}
}

void test14554()
{
     issue14554_1.foo!bool(1);    
     issue14554_2.foo!bool(1);    
}
