This program comes from a reduction of a bug I've found:
struct Foo { void init() {} } void main() { Foo*[] foos; //(*foos[0]).init(); // OK foos[0].init(); // Error: function expected before (), not null of type Foo* } What do you think about the idea of not allowing methods named init() in structs? (Especially if they are a @property). Or maybe there is a better solution, opinions welcome. Bye, bearophile