| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/fail15616a.d(41): Error: none of the overloads of 'foo' are callable using argument types (double), candidates are: |
| fail_compilation/fail15616a.d(14): fail15616a.foo(int a) |
| fail_compilation/fail15616a.d(17): fail15616a.foo(int a, int b) |
| fail_compilation/fail15616a.d(26): fail15616a.foo(int a, int b, int c) |
| fail_compilation/fail15616a.d(29): fail15616a.foo(string a) |
| fail_compilation/fail15616a.d(32): fail15616a.foo(string a, string b) |
| fail_compilation/fail15616a.d(41): ... (3 more, -v to show) ... |
| --- |
| */ |
| |
| void foo(int a) |
| {} |
| |
| void foo(int a, int b) |
| {} |
| |
| void foo(T)(T a) if (is(T == float)) |
| {} |
| |
| void foo(T)(T a) if (is(T == char)) |
| {} |
| |
| void foo(int a, int b, int c) |
| {} |
| |
| void foo(string a) |
| {} |
| |
| void foo(string a, string b) |
| {} |
| |
| void foo(string a, string b, string c) |
| {} |
| |
| |
| void main() |
| { |
| foo(3.14); |
| } |