http://d.puremagic.com/issues/show_bug.cgi?id=3854
--- Comment #5 from Iain Buclaw <ibuc...@ubuntu.com> 2010-04-01 17:43:06 PDT --- Created an attachment (id=597) keep track of static array initiliasiser depth OK, just for clarification. uint[][] b = [[ 1, 2 ]]; // OK uint[][] b = [[ 1, 2 ],]; // OK uint[][] b = [[ 1, 2, ],]; // OK uint[][] b = [[ 1, 2, ]]; // Error Why this happens? The scan ahead loop in parse.c isn't aware of just how deep it has navigated into the array it is scanning. First loop, scans the string: "[[ 1, 2, ]]" Second loop, because of the trailing comma, starts another parseInitializer() call, but this time scanning the string: "[ 1, 2, ]]" Because it reaches end of the scan ahead loop earlier this time, and checking the next token fails, then treats it as an expression, not an array initializer. Attached is a patch that resolves the issue. Am not sure that the patch in the other bug report is reasonably correct, but hey ho! Regards Iain -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------