I tested the code from: http://dlang.org/struct.html Section: Dynamic Initialization of Structs
struct S
{
int a;
static S opCall(int v)
{
S s;
s.a = v;
return s;
}
static S opCall(S v)
{
S s;
s.a = v.a + 1;
return s;
}
}
S s = 3; // sets s.a to 3
S t = s; // sets t.a to 3, S.opCall(s) is not called
which does not compile (Error: cannot implicitly convert
expression (3) of type int to S).
What is wrong here? Docs or behavior? Tested it on asm.dlang.org where it fails with all compiler versions.
