import std.stdio;

T foo(T)(auto ref const T val)
{
    return val;
}

T foo(T, Args...)(auto ref const T val, auto ref const Args u)
{
        static if (is(T == string))
        return val ~ foo(u);
    else
        return val + foo(u);
}

void main()
{
    writeln(foo("some ", "test")); // prints some test
    writeln(foo(2, 2, 1));              // prints 5
}

Reply via email to