August 22, 2005
I was thinking that it would be nice if D's variadic functions could be overloaded and that values are considered implicitly matched to the variadic function.

So the following would have an overload conflict,


void foo(...)
{
   printf("foo ...\n");
}

void foo(byte hi)
{
   printf("foo byte\n");
}

int main()
{
   foo(1);
   return 0;
}


because the int 1 only implicitly matches byte and implicitly matches with the '...'
and to my surprise, it did exactly what I wanted. Though I'm not sure if this was intentionally added to the compiler or it's just how it ended up, but it would be nice to keep it and have it documented.
August 22, 2005
On Mon, 22 Aug 2005 05:32:40 -0400, Vathix <chris@dprogramming.com> wrote:

> I was thinking that it would be nice if D's variadic functions could be overloaded and that values are considered implicitly matched to the variadic function.

However, if typesafe variadic is involved, then values could still exactly match with it. Just non-typesafe would be implicit.