diff --git a/std/d/parser.d b/std/d/parser.d index 5c9d6c4..5ad3085 100644 --- a/std/d/parser.d +++ b/std/d/parser.d @@ -2487,13 +2487,18 @@ body {} // six case tok!"pure": case tok!"nothrow": node.type = parseType(); + node.arguments = parseArguments(); break; default: - node.unaryExpression = unary is null ? parseUnaryExpression() : unary; + if (unary !is null) + node.unaryExpression = unary; + else + node.unaryExpression = parseUnaryExpression(); if (currentIs(tok!"!")) node.templateArguments = parseTemplateArguments(); - } - node.arguments = parseArguments(); + if (unary !is null) + node.arguments = parseArguments(); + } return node.arguments is null ? null : node; }