d: Merge upstream dmd 4d1bfcf14, druntime 9ba9a6ae, phobos c0cc5e917.
[official-gcc.git] / gcc / testsuite / gdc.test / fail_compilation / diag_funclit.d
blob1279d7c2a2a8eb6f9a4c39935665436cafd69e47
1 /**
2 TEST_OUTPUT:
3 ---
4 fail_compilation/diag_funclit.d(103): Error: function literal `__lambda1(x, y, z)` is not callable using argument types `()`
5 fail_compilation/diag_funclit.d(103): too few arguments, expected `3`, got `0`
6 fail_compilation/diag_funclit.d(106): Error: function literal `__lambda2(x, y, z)` is not callable using argument types `(int, string, int, int)`
7 fail_compilation/diag_funclit.d(106): too many arguments, expected `3`, got `4`
8 fail_compilation/diag_funclit.d(108): Error: function literal `__lambda3(x, y, string z = "Hello")` is not callable using argument types `(int, int, string, string)`
9 fail_compilation/diag_funclit.d(108): too many arguments, expected `3`, got `4`
10 fail_compilation/diag_funclit.d(110): Error: function literal `__lambda4(x, y, string z = "Hello")` is not callable using argument types `(int)`
11 fail_compilation/diag_funclit.d(110): too few arguments, expected `3`, got `1`
12 fail_compilation/diag_funclit.d(112): Error: function literal `__lambda5(x, y, z)` is not callable using argument types `(int)`
13 fail_compilation/diag_funclit.d(112): too few arguments, expected `3`, got `1`
14 fail_compilation/diag_funclit.d(115): Error: function literal `__lambda6(x, y, ...)` is not callable using argument types `(int)`
15 fail_compilation/diag_funclit.d(115): too few arguments, expected `2`, got `1`
16 fail_compilation/diag_funclit.d(117): Error: function literal `__lambda7(x, y, string z = "Hey", ...)` is not callable using argument types `(int)`
17 fail_compilation/diag_funclit.d(117): too few arguments, expected `3`, got `1`
18 ---
21 #line 100
22 void main()
24 // No argument
25 (x, y, z) { return 42; }();
27 // Too many args, non-variadic
28 (x, y, z) { return 42; }(42, "Hello", 42, 42);
29 // Too many args, non-variadic, default param
30 (x, y, string z = "Hello") { return x; }(42, 42, "Nope", "Noooope");
31 // Too few args, non-variadic
32 (x, y, string z = "Hello") { return x; }(42);
33 // Too few args, non-variadic, default param
34 (x, y, z) { return x; }(42);
36 // Too few args, variadic
37 (x, y, ...) { return x; }(42);
38 // Too few args, variadic, default param
39 (x, y, string z = "Hey", ...) { return x; }(42);