On Sunday, 9 June 2019 at 10:42:12 UTC, Basile-z wrote:
On Sunday, 9 June 2019 at 10:22:36 UTC, Andrey wrote:
Hello,
I have got 2 functions:
void myFunc(string name, int a)(wstring value) {}
void myFunc(string name, int a)() {}

I want to make an alias (for example for second function without argument):
alias myAlias(int a) = myFunc!("Name", a);

but compiler says:
... matches more than one template declaration

So how solve this problem?

use __traits(getOverloads) to apply to all of them in a static foreach.

Hmm... Cannot understand how to write getOverloads. My case:
struct Outer
{
   static template Inner(alias a, alias b, T)
   {
       void myFunc() {}
   }
}

This doesn't work (inside Outer):
pragma(msg, __traits(getOverloads, Inner, "myFunc", true));

Reply via email to