From a29d40a9284bc962bc7a532c0fa96708637b0270 Mon Sep 17 00:00:00 2001 From: WebFreak001 Date: Mon, 30 Aug 2021 22:06:56 +0200 Subject: [PATCH] Fix void[] initializer and test for it variable was never inserted, so test didn't fail because there was no check that all variables have been covered. --- src/dsymbol/conversion/first.d | 11 ++++------- src/dsymbol/tests.d | 1 + 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/dsymbol/conversion/first.d b/src/dsymbol/conversion/first.d index 823d782..84f02ab 100644 --- a/src/dsymbol/conversion/first.d +++ b/src/dsymbol/conversion/first.d @@ -1485,14 +1485,11 @@ class InitializerVisitor : ASTVisitor { // If the array has any elements, assume all elements have the // same type as the first element. - if (ai.arrayMemberInitializations) - { - if (ai.arrayMemberInitializations.length) - ai.arrayMemberInitializations[0].accept(this); - else - lookup.breadcrumbs.insert(VOID_SYMBOL_NAME); + if (ai.arrayMemberInitializations.length) + ai.arrayMemberInitializations[0].accept(this); + else + lookup.breadcrumbs.insert(VOID_SYMBOL_NAME); - } lookup.breadcrumbs.insert(ARRAY_LITERAL_SYMBOL_NAME); } diff --git a/src/dsymbol/tests.d b/src/dsymbol/tests.d index 79cfad3..942bb72 100644 --- a/src/dsymbol/tests.d +++ b/src/dsymbol/tests.d @@ -54,6 +54,7 @@ void expectSymbolsAndTypes(const string source, const string[][] results, i++; } } + enforce!AssertError(i == results.length, "too many expected results, %s is left".format(results[i .. $]), file, line); } @system unittest