From d9eb8e8511b08fb54b246c82ee60873f92480959 Mon Sep 17 00:00:00 2001 From: Nick Treleaven Date: Mon, 29 Apr 2024 18:19:34 +0100 Subject: [PATCH] [spec] Add grammar for `(Type)(args)` Change introduced in https://github.com/dlang/dmd/pull/15377. Fixes Bugzilla 24520 - type(value) got a synonym (type)(value) Also combine 2 other PrimaryExpression rules with `TypeCtor? (Type).Identifier`. --- spec/expression.dd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spec/expression.dd b/spec/expression.dd index cab291b1e8..42f374e98a 100644 --- a/spec/expression.dd +++ b/spec/expression.dd @@ -1861,11 +1861,10 @@ $(GNAME PrimaryExpression): $(GLINK ImportExpression) $(GLINK NewExpression) $(GLINK2 type, FundamentalType) $(D .) $(IDENTIFIER) - $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN) .) $(IDENTIFIER) + $(GLINK2 type, TypeCtor)$(OPT) $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN) .) $(IDENTIFIER) $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN) .) $(GLINK2 template, TemplateInstance) $(GLINK2 type, FundamentalType) $(D $(LPAREN)) $(GLINK NamedArgumentList)$(OPT) $(D $(RPAREN)) - $(GLINK2 type, TypeCtor) $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN)) $(D .) $(IDENTIFIER) - $(GLINK2 type, TypeCtor) $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN)) $(D $(LPAREN)) $(GLINK NamedArgumentList)$(OPT) $(D $(RPAREN)) + $(GLINK2 type, TypeCtor)$(OPT) $(D $(LPAREN)) $(GLINK2 type, Type) $(D $(RPAREN)) $(D $(LPAREN)) $(GLINK NamedArgumentList)$(OPT) $(D $(RPAREN)) $(GLINK2 type, Typeof) $(GLINK TypeidExpression) $(GLINK IsExpression)