diff --git a/std/d/parser.d b/std/d/parser.d index 65b21bd..13aa955 100644 --- a/std/d/parser.d +++ b/std/d/parser.d @@ -6255,7 +6255,11 @@ protected: bool isAssociativeArrayLiteral() { - return hasMagicDelimiter!(tok!"[", tok!":")(); + auto b = setBookmark(); + scope(exit) goToBookmark(b); + advance(); + Expression e = parseExpression(); + return e !is null && currentIs(tok!":"); } bool hasMagicDelimiter(alias L, alias T)()