diff --git a/dlang.org.ddoc b/dlang.org.ddoc
index f26ab8303c..9db6c7179e 100644
--- a/dlang.org.ddoc
+++ b/dlang.org.ddoc
@@ -313,7 +313,7 @@ NOTICE_L=$2
NOTICE=$1
_=
-OPT=$(SUBSCRIPT opt)
+OPT=?
_=
PAGE_TOOLS=
diff --git a/spec/expression.dd b/spec/expression.dd
index fc16dbcb5e..8299dc41c3 100644
--- a/spec/expression.dd
+++ b/spec/expression.dd
@@ -1729,7 +1729,8 @@ $(H3 $(LEGACY_LNAME2 slice_operations, slice_expressions, Slice Operations))
$(GRAMMAR
$(GNAME SliceOperation):
$(D [ ])
- $(D [) $(GLINK Slice) $(D ,)$(OPT) $(D ])
+ $(D [) $(GLINK Slice) $(D ])
+ $(D [) $(GLINK Slice) $(D ,) $(D ])
$(GNAME Slice):
$(GLINK AssignExpression)
@@ -2612,8 +2613,10 @@ $(GNAME AssertExpression):
$(D assert $(LPAREN)) $(GLINK AssertArguments) $(D $(RPAREN))
$(GNAME AssertArguments):
- $(GLINK AssignExpression) $(D ,)$(OPT)
- $(GLINK AssignExpression) $(D ,) $(GLINK AssignExpression) $(D ,)$(OPT)
+ $(GLINK AssignExpression)
+ $(GLINK AssignExpression) $(D ,)
+ $(GLINK AssignExpression) $(D ,) $(GLINK AssignExpression)
+ $(GLINK AssignExpression) $(D ,) $(GLINK AssignExpression) $(D ,)
)
$(P The first $(I AssignExpression) is evaluated and
diff --git a/spec/function.dd b/spec/function.dd
index a3cd7bf675..c3da024f17 100644
--- a/spec/function.dd
+++ b/spec/function.dd
@@ -117,8 +117,10 @@ $(GNAME FunctionBody):
$(GLINK MissingFunctionBody)
$(GNAME SpecifiedFunctionBody):
- $(D do)$(OPT) $(GLINK2 statement, BlockStatement)
- $(GLINK FunctionContracts)$(OPT) $(GLINK InOutContractExpression) $(D do)$(OPT) $(GLINK2 statement, BlockStatement)
+ $(GLINK2 statement, BlockStatement)
+ $(D do) $(GLINK2 statement, BlockStatement)
+ $(GLINK FunctionContracts)$(OPT) $(GLINK InOutContractExpression) $(GLINK2 statement, BlockStatement)
+ $(GLINK FunctionContracts)$(OPT) $(GLINK InOutContractExpression) $(D do) $(GLINK2 statement, BlockStatement)
$(GLINK FunctionContracts)$(OPT) $(GLINK InOutStatement) $(D do) $(GLINK2 statement, BlockStatement)
$(GNAME ShortenedFunctionBody):