blob: a4b2ecf2a60d3540785578a08d1cb537ff03fd97 [file] [log] [blame]
module imports.template_ovs1;
/***************************************************/
// 1900 - template overload set
auto foo1900a(int num) { return 1; }
auto foo1900b(T)(T arg) if (is(T : const(char)[])) { return 2; }
auto bar1900a(T)(T arg) if (is(T : double)) { return 1; }
auto bar1900b(T)(T arg) if (is(T : const(char)[])) { return 2; }
auto baz1900(T)(T arg) if (is(T : double)) { return 1; }
auto baz1900(T)(T arg) if (is(T : int[int])) { return 2; }
auto bad1900(string op)() if (op == "++") { return 1; }
mixin template Mix1900_A()
{
auto mixfooa() { return 1; }
auto mixfoob(T)(T) { return 2; }
mixin Mix1900_SubA;
}
mixin template Mix1900_SubA()
{
auto mixsubfooa() { return 1; }
auto mixsubfoob(T)(T) { return 2; }
}
auto merge1900(T)(int)
{
return 1;
}
/***************************************************/
// 1900
class AClass1900 {}
template Traits1900(T : AClass1900) { enum name = "AClass"; }
void Value1900a() {}
template Value1900a(T) if (is(T == double)) { enum Value1900a = 1; }
template Value1900b(T) if (is(T == double)) { enum Value1900b = 1; }
void Value1900b() {}
/***************************************************/
// 8352
Range remove8352a(alias pred, Range)(Range range) { return range; }
void remove8352b(in char[] name) {}
/***************************************************/
// 10658
template Val10658(int n) { enum Val10658 = 1; }