Removing the "int foo[];" syntax

Jonathan M Davis jmdavisProg at gmx.com
Sat May 4 18:00:19 PDT 2013


On Wednesday, May 01, 2013 00:36:43 Brian Schott wrote:
> It complicates the grammar and doesn't fit with D's style of
> declaraing variables. (type then identifier) I realize that it
> was left in to make C programmers happy, but it doesn't even work
> like it does in C:
> 
> int a[10];
> int b[10], b[10];
> int[10] c, d;
> int e[string];
> int f[string], g[string];
> 
> test.d(2): Error: multiple declarations must have the same type,
> not int[10] and int[10]
> test.d(5): Error: multiple declarations must have the same type,
> not int[string] and int[string]

I think that deprecating the C-style syntax has been considered in the past, 
but I don't know what Andrei or Walter's stance on it is. I don't think that 
it adds much value though beyond making it slightly easier to port code from C 
to D, and I'm all for removing it. Most D programmers are probably using the D 
syntax anyway.

- Jonathan M Davis


More information about the Digitalmars-d mailing list