On 2017-10-13 01:57, Q. Schroll wrote:
We have some sort of implicit construction already. Weirdly, it's
reserved for classes. Just look at this:
class C { this(int x) { } }
void foo(C c ...) { }
void main() { foo(0); }
Hmm, I didn't know that syntax was legal. But apparently it's some form
of typesafe variadic function [1]. It also work for built-in types:
void foo(int i ...){}
void main()
{
foo(3);
foo(3, 4); // error, too many arguments
}
Not sure what the purpose of the latter is.
[1] https://dlang.org/spec/function.html#typesafe_variadic_functions
--
/Jacob Carlborg