static opCall not working?
TC via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jul 19 03:26:01 PDT 2015
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.
More information about the Digitalmars-d-learn
mailing list