Skip to content

Commit 957028c

Browse files
committed
Add missing syntax for FunArgMods
1 parent 9b44af3 commit 957028c

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,8 +1019,6 @@ object Parsers {
10191019

10201020
/** Expr ::= [FunArgMods] FunParams =>' Expr
10211021
* | Expr1
1022-
* FunArgMods ::= `implicit' FunArgMods
1023-
* | `unused' FunArgMods
10241022
* FunParams ::= Bindings
10251023
* | id
10261024
* | `_'
@@ -1811,11 +1809,11 @@ object Parsers {
18111809
def typeParamClauseOpt(ownerKind: ParamOwner.Value): List[TypeDef] =
18121810
if (in.token == LBRACKET) typeParamClause(ownerKind) else Nil
18131811

1814-
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' [`unused'] `implicit' [`unused'] ClsParams `)']
1812+
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' [FunArgMods] ClsParams `)']
18151813
* ClsParamClause ::= [nl] `(' [`unused'] [ClsParams] ')'
18161814
* ClsParams ::= ClsParam {`' ClsParam}
18171815
* ClsParam ::= {Annotation} [{Modifier} (`val' | `var') | `inline'] Param
1818-
* DefParamClauses ::= {DefParamClause} [[nl] `(' [`FunArgMods'] DefParams `)']
1816+
* DefParamClauses ::= {DefParamClause} [[nl] `(' [FunArgMods] DefParams `)']
18191817
* DefParamClause ::= [nl] `(' [`unused'] [DefParams] ')'
18201818
* DefParams ::= DefParam {`,' DefParam}
18211819
* DefParam ::= {Annotation} [`inline'] Param

docs/docs/internals/syntax.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ TypeParamBounds ::= TypeBounds {‘<%’ Type} {‘:’ Type}
155155

156156
### Expressions
157157
```ebnf
158-
Expr ::= [‘implicit’] FunParams ‘=>’ Expr Function(args, expr), Function(ValDef([implicit], id, TypeTree(), EmptyTree), expr)
158+
Expr ::= [FunArgMods] FunParams ‘=>’ Expr Function(args, expr), Function(ValDef([implicit], id, TypeTree(), EmptyTree), expr)
159159
| Expr1
160-
BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
160+
BlockResult ::= [FunArgMods] FunParams ‘=>’ Block
161161
| Expr1
162162
FunParams ::= Bindings
163163
| id
@@ -261,15 +261,15 @@ HkTypeParamClause ::= ‘[’ HkTypeParam {‘,’ HkTypeParam} ‘]’
261261
HkTypeParam ::= {Annotation} [‘+’ | ‘-’] (Id[HkTypeParamClause] | ‘_’)
262262
TypeBounds
263263
264-
ClsParamClauses ::= {ClsParamClause} [[nl] ‘(’ ‘implicit’ ClsParams ‘)’]
264+
ClsParamClauses ::= {ClsParamClause} [[nl] ‘(’ [FunArgMods] ClsParams ‘)’]
265265
ClsParamClause ::= [nl] ‘(’ [ClsParams] ‘)’
266266
ClsParams ::= ClsParam {‘,’ ClsParam}
267267
ClsParam ::= {Annotation} ValDef(mods, id, tpe, expr) -- point of mods on val/var
268268
[{Modifier} (‘val’ | ‘var’) | ‘inline’] Param
269269
Param ::= id ‘:’ ParamType [‘=’ Expr]
270270
| INT
271271
272-
DefParamClauses ::= {DefParamClause} [[nl] ‘(’ ‘implicit’ DefParams ‘)’]
272+
DefParamClauses ::= {DefParamClause} [[nl] ‘(’ [FunArgMods] DefParams ‘)’]
273273
DefParamClause ::= [nl] ‘(’ [DefParams] ‘)’
274274
DefParams ::= DefParam {‘,’ DefParam}
275275
DefParam ::= {Annotation} [‘inline’] Param ValDef(mods, id, tpe, expr) -- point of mods at id.

0 commit comments

Comments
 (0)