Following code compilation fails with -property switch.
----
struct S {}
auto gunc(S s, int n) { return 13; }
@property grop(S s, int n) { return 14; }
void main()
{
S s;
assert((s.gunc = 1) == 13); // line 9
assert((s.grop = 1) == 14); // line 10
}
output:
----
test.d(9): Error: not a property s.gunc
test.d(10): Error: function test.grop (S s, int n) is not callable using argument types (S)
test.d(10): Error: expected 2 function arguments, not 1
----
But if you comment out line 9, you can succeed to compile.
Then, the line 10 error for the code is *fake*.