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; }