import std.stdio;
struct Test
{
@property ref int x()
{
return vals[0];
}
@property ref int j(int v)
{
return (vals[0] = v);
}
private int[2] vals;
}
void main()
{
Test t;
writeln(typeof(&t.x).stringof);
writeln(typeof(&t.x()).stringof);
writeln(typeof(&(t.x = 10)).stringof);
writeln(typeof(&(t.j = 10)).stringof);
}
CmltcG9ydCBzdGQuc3RkaW87CgpzdHJ1Y3QgVGVzdAp7CglAcHJvcGVydHkgcmVmIGludCB4KCkKCXsKCQlyZXR1cm4gdmFsc1swXTsKCX0KCQoJQHByb3BlcnR5IHJlZiBpbnQgaihpbnQgdikKCXsKCQlyZXR1cm4gKHZhbHNbMF0gPSB2KTsKCX0KCQoJCglwcml2YXRlIGludFsyXSB2YWxzOwoJCn0KCnZvaWQgbWFpbigpCnsKCVRlc3QgdDsKCQoJd3JpdGVsbih0eXBlb2YoJnQueCkuc3RyaW5nb2YpOwoJd3JpdGVsbih0eXBlb2YoJnQueCgpKS5zdHJpbmdvZik7Cgl3cml0ZWxuKHR5cGVvZigmKHQueCA9IDEwKSkuc3RyaW5nb2YpOwoJd3JpdGVsbih0eXBlb2YoJih0LmogPSAxMCkpLnN0cmluZ29mKTsKCQp9