]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gdc.test/runnable/imports/template_ovs2.d
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / runnable / imports / template_ovs2.d
CommitLineData
b4c522fa
IB
1module imports.template_ovs2;
2
3/***************************************************/
5fee5ec3
IB
4// https://issues.dlang.org/show_bug.cgi?id=1900
5// template overload set
b4c522fa
IB
6
7auto foo1900a(T)(T arg) if (is(T : const(char)[])) { return 2; }
8auto foo1900b(int num) { return 1; }
9
10auto bar1900a(T)(T arg) if (is(T : const(char)[])) { return 2; }
11auto bar1900b(T)(T arg) if (is(T : double)) { return 1; }
12
13auto baz1900(T)(T arg) if (is(T : Object)) { return 3; }
14auto baz1900(T)(T arg) if (is(T : const(char)[])) { return 4; }
15
16auto bad1900(string op)() if (op == "++") { return 2; }
17
18mixin template Mix1900_B()
19{
20 auto mixfooa(T)(T) { return 2; }
21 auto mixfoob() { return 1; }
22
23 mixin Mix1900_SubB;
24}
25
26mixin template Mix1900_SubB()
27{
28 auto mixsubfooa(T)(T) { return 2; }
29 auto mixsubfoob() { return 1; }
30}
31
32auto merge1900(T)(string)
33{
34 return 2;
35}
36
37/***************************************************/
5fee5ec3 38// https://issues.dlang.org/show_bug.cgi?id=1900
b4c522fa
IB
39
40class BClass1900 {}
41template Traits1900(T : BClass1900) { enum name = "BClass"; }
42string func1900(BClass1900 b) { return "BClass"; }
43
44void Value1900a() {}
45template Value1900a(T) if (is(T == string)) { enum Value1900a = 2; }
46
47template Value1900b(T) if (is(T == string)) { enum Value1900b = 2; }
48void Value1900b() {}
49
50/***************************************************/
5fee5ec3 51// https://issues.dlang.org/show_bug.cgi?id=8352
b4c522fa
IB
52
53void remove8352a(in char[] name) {}
54Range remove8352b(alias pred, Range)(Range range) { return range; }
55
56/***************************************************/
5fee5ec3 57// https://issues.dlang.org/show_bug.cgi?id=10658
b4c522fa
IB
58
59template Val10658(long n) { enum Val10658 = 2; }