annotate gcc/testsuite/gdc.test/fail_compilation/diag14818.d @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 /*
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 TEST_OUTPUT:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3 ---
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 fail_compilation/diag14818.d(34): Error: none of the overloads of 'func' are callable using argument types (string), candidates are:
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 fail_compilation/diag14818.d(12): diag14818.foo(int _param_0)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6 fail_compilation/diag14818.d(13): diag14818.bar(double _param_0)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 fail_compilation/diag14818.d(35): Error: overload alias diag14818.X does not match any template declaration
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 fail_compilation/diag14818.d(36): Error: overloadset diag14818.M does not match any template declaration
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 ---
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10 */
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 void foo(int) {}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 void bar(double) {}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 alias func = foo;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 alias func = bar;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 // in here, func is a FuncAliasDeclaration;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 template Foo(T) if (is(T == int)) {}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 template Bar(T) if (is(T == double)) {}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 alias X = Foo;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22 alias X = Bar;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 // in here, X is an OverDeclaration
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25 template Mix1() { alias M = Foo; }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 template Mix2() { alias M = Bar; }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27 mixin Mix1;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 mixin Mix2;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 alias Y = M;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 // in here, Y is an OverloadSet
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32 void main()
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34 func("abc");
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 alias x = X!string;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36 alias y = Y!string;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 }