On 02/25/2012 04:52 PM, H. S. Teoh wrote:
On Sat, Feb 25, 2012 at 01:23:21PM +0100, Alex Rønne Petersen wrote:
On 25-02-2012 05:05, bearophile wrote:
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
IMHO we shouldn't allow having *any* members that use the same name
as any of the compiler-provided properties/functions.
[...]
Agreed.
T
This is useful:
struct S{
@disable enum init = 0;
}