| |
 | Posted by Jonathan M Davis in reply to Stian Pedersen | Permalink Reply |
|
Jonathan M Davis 
Posted in reply to Stian Pedersen
| On Saturday, April 21, 2012 05:26:21 Stian Pedersen wrote:
> Why is this possible? Just had a bug because of it. Would be preferable that you have to state @property. From what I can see the @property is optional.
>
> int main(string[] argv)
> {
> int a()
> {
> return 1;
> }
>
> int b = a;
>
> return 0;
> }
It predates @property. Previously, there was no @property, and pretty much any function which would qualify as a property function colud be called with or without parens. Eventually, only functions which are marked @property will be able to be called without parens, and all functions with @property will _have_ to be called without parens. But that's being phased in rather than being changed immediately and breaking a lot of existing code (it also gives the compiler the chance to get its property enforcement bugs ironed out). For now, if you compile with -property, that will enable strict property enforcement. Later, it will always be enforced, but not yet.
- Jonathan M Davis
|