On 17.04.2016 19:39, QAston wrote:
First @property + compiler switch, now @property + deprecated switch.
When should I use property? For all the getters? Should I start with
property or with member access? Does it even matter because of optional
parens? Why do I even need to care about this?
@property is in a bad state right now. The behavior that used to be
enabled by -property has been decided against, and now @property has
only one effect that I can think of off the top of my head, and it's
rather subtle:
----
int foo() {return 0;}
@property int bar() {return 0;}
pragma(msg, typeof(foo)); /* int() */
pragma(msg, typeof(bar)); /* int */
pragma(msg, typeof(&foo)); /* int function() ref */
pragma(msg, typeof(&bar)); /* int function() @property ref */
----
I don't think anyone is really happy with the current @property, but
everyone is probably tired of discussing it.