On Friday, January 07, 2011 13:32:42 Ellery Newcomer wrote: > auto a = 1, b = null; > > int a = 1, *b = null; > > > The first is accepted by dmd, and it should result in typeof(a) == int > and typeof(b) == void*. It is somewhat contradictory to the error > message resulting from the second: > > multiple declarations must have the same type, not int and int* > > I am skeptical of dmd's permitting the first. Does anyone else see any > utility in it?
The second should definitely _not_ be allowed. * definitely goes with the type in D (as it should have in C), not the variable. So, the *b = null makes no sense. However, I'm vere suprised that the first one succeeds. I think that it should be reported as a bug. All variables declared on the same line are supposed to have the same type. - Jonathan M Davis