diff --git a/std/d/parser.d b/std/d/parser.d index 0560a4d..5c9d6c4 100644 --- a/std/d/parser.d +++ b/std/d/parser.d @@ -3564,12 +3564,14 @@ invariant() foo(); m.scriptLine = advance(); if (currentIs(tok!"module")) m.moduleDeclaration = parseModuleDeclaration(); + Declaration[] declarations; while (moreTokens()) { auto declaration = parseDeclaration(); if (declaration !is null) - m.declarations ~= declaration; + declarations ~= declaration; } + m.declarations = ownArray(declarations); return m; }