digitalmars.D.learn - Do property attributes not allow postincrement operators
- Jamie (18/18) Apr 13 2019 Do @property attributes not allow postincrement operators?
- Mike Franklin (12/30) Apr 13 2019 It's a long standing issue (going on 7 years old)
- Jamie (3/11) Apr 13 2019 Thanks Mike -- appears I didn't do a thorough enough search for
Do property attributes not allow postincrement operators? import std.stdio; struct Foo { property bar() { return 10; } property bar(int x) { writeln(x); } } void main() { Foo foo; writeln(foo.bar); // actually calls foo.bar(); foo.bar = 10; // calls foo.bar(10); // following doesn't work foo.bar++; // would expect this to call foo.bar(foo.bar() + 1); // have to use: foo.bar = foo.bar + 1; writeln(foo.bar); }
Apr 13 2019
On Sunday, 14 April 2019 at 01:54:39 UTC, Jamie wrote:Do property attributes not allow postincrement operators? import std.stdio; struct Foo { property bar() { return 10; } property bar(int x) { writeln(x); } } void main() { Foo foo; writeln(foo.bar); // actually calls foo.bar(); foo.bar = 10; // calls foo.bar(10); // following doesn't work foo.bar++; // would expect this to call foo.bar(foo.bar() + 1); // have to use: foo.bar = foo.bar + 1; writeln(foo.bar); }It's a long standing issue (going on 7 years old) https://issues.dlang.org/show_bug.cgi?id=8006 There's an implementation at https://github.com/dlang/dmd/pull/7079 It requires a DIP, which you can find at https://github.com/dlang/DIPs/pull/97 However, in preparing that DIP other issues were discovered with property, so we need to create a DIP to fix those issues first. I plan on getting to it, but there are other pressing things I'm trying to get out of the way. Mike
Apr 13 2019
On Sunday, 14 April 2019 at 02:11:52 UTC, Mike Franklin wrote:On Sunday, 14 April 2019 at 01:54:39 UTC, Jamie wrote:Thanks Mike -- appears I didn't do a thorough enough search for this behaviour. Looking forward to it being implemented, cheers.Do property attributes not allow postincrement operators? ...It's a long standing issue (going on 7 years old) ... I plan on getting to it, but there are other pressing things I'm trying to get out of the way. Mike
Apr 13 2019