November 03, 2002
I assume that adding an extra comma ',' at the end of a param list should be
a syntax error.
the following causes the error
testcomma.d(17): Can only concatenate arrays
class Base {}
class Test : Base
{
 this( char c, ) {}
}

class TestToo
{
 this( char[] c, ) {}
}

int main( char[][] args )
{
 Base[] list;
 list ~= new Test( 'c' );
 list ~= new TestToo( 'this dont work' );
 return 0;
}

interestingly, removing the TestToo class and all refs to it (but leaving
Test with its constructor intact)
and it compiles O.K.

Mike.


November 03, 2002
its not the ','

its the missing ': Base' from
 class TestToo : Base
which was a typo, and actually the cause in my main source.
if you add that it compiles,

should it with the floating ','s ?


"Mike Wynn" <mike.wynn@l8night.co.uk> wrote in message news:aq1qeo$31at$1@digitaldaemon.com...
> I assume that adding an extra comma ',' at the end of a param list should
be
> a syntax error.
> the following causes the error
> testcomma.d(17): Can only concatenate arrays
> class Base {}
> class Test : Base
> {
>  this( char c, ) {}
> }
>
> class TestToo
> {
>  this( char[] c, ) {}
> }
>
> int main( char[][] args )
> {
>  Base[] list;
>  list ~= new Test( 'c' );
>  list ~= new TestToo( 'this dont work' );
>  return 0;
> }
>
> interestingly, removing the TestToo class and all refs to it (but leaving
> Test with its constructor intact)
> and it compiles O.K.
>
> Mike.
>
>