1 /*
2 REQUIRED_ARGS: -v
3 ---
4 fail_compilation/fail15616b.d(43): Error: none of the overloads of 'foo' are callable using argument types (double), candidates are:
5 fail_compilation/fail15616b.d(16): fail15616b.foo(int a)
6 fail_compilation/fail15616b.d(19): fail15616b.foo(int a, int b)
7 fail_compilation/fail15616b.d(28): fail15616b.foo(int a, int b, int c)
8 fail_compilation/fail15616b.d(31): fail15616b.foo(string a)
9 fail_compilation/fail15616b.d(34): fail15616b.foo(string a, string b)
10 fail_compilation/fail15616b.d(37): fail15616b.foo(string a, string b, string c)
11 fail_compilation/fail15616b.d(22): fail15616b.foo(T)(T a) if (is(T == float))
12 fail_compilation/fail15616b.d(25): fail15616b.foo(T)(T a) if (is(T == char))
13 ---
14 */
15
foo(int a)16 void foo(int a)
17 {}
18
foo(int a,int b)19 void foo(int a, int b)
20 {}
21
22 void foo(T)(T a) if (is(T == float))
23 {}
24
25 void foo(T)(T a) if (is(T == char))
26 {}
27
foo(int a,int b,int c)28 void foo(int a, int b, int c)
29 {}
30
foo(string a)31 void foo(string a)
32 {}
33
foo(string a,string b)34 void foo(string a, string b)
35 {}
36
foo(string a,string b,string c)37 void foo(string a, string b, string c)
38 {}
39
40
main()41 void main()
42 {
43 foo(3.14);
44 }
45