Is [] mandatory for array operations?

Don nospam at
Tue May 4 13:08:22 PDT 2010

Walter Bright wrote:
> Don wrote:
>> Walter Bright wrote:
>>> Don wrote:
>>>> There are several compiler bugs relating to array operations, and 
>>>> almost all relate to this issue. I'd like to fix them, but I need to 
>>>> know which way it is supposed to work.
>>> The [] should be required. I worry that otherwise there will be 
>>> ambiguous cases that will cause trouble.
>> Excellent.
> Glad we agree. An example is the C hack where if foo is a function, then 
> &foo as well as foo mean the address of the function. This little 
> ambiguity, originally meant as a convenience, has caused much grief.

Two questions. (1) What happens with functions? For example:
x[] = sin(y[]);
x[] = sin(y[])[];

Seems to me that the [] is not necessary. But it does need to be present 
for properties.

(2) The existing syntax  a[] = b; is the same as a[] = b[];
I feel that this is like the C hack. And it's a bit wierd if a[] = b; 
works but a[] = b * 1; needs to be changed to a[] = b[] * 1;

More information about the Digitalmars-d mailing list