On Tue, 17 Apr 2012 22:28:31 +0200, maarten van damme <maartenvd1...@gmail.com> wrote:

Just for fun I decided to complete some codejam challenges in D. At some
point I wanted to add structs to an array but I got a compiler error. What
am I doing wrong?

code:
struct test{
int x;
int y;
}
void main(){
test[] why;
why~={3,5};
}

error:
wait.d(7): found '}' when expecting ';' following statement
wait.d(8): found 'EOF' when expecting ';' following statement
wait.d(8): found 'EOF' when expecting '}' following compound statement

Is there any reason a why this wouldn't work?

Sounds like a bug. C style initializers work in other cases:

struct S { int i; }
void main() {
    S[] arr;
    S s = { 1 };
    arr ~= S(1);
    // But the following barfs
    //arr ~= { 1 };
    //arr ~= { i:1 };
    //arr[0] = { 1 };
}

Reply via email to