On Tuesday, 30 June 2020 at 19:58:05 UTC, matheus wrote:
+ loc.linnum = loc.linnum + incrementLoc; This works because it was declared: void linnum(uint rhs) { _linnum = rhs; } Right?
Almost. Given these definitions: @safe @nogc pure @property { const uint linnum() { return _linnum; } void linnum(uint rhs) { _linnum = rhs; } } This: loc.linnum = loc.linnum + incrementLoc; is rewritten as: loc.linnum(loc.linnum() + incrementLoc);